193 Commits

Author SHA1 Message Date
Zhiyi Hong
96ffea6d37 [Docs] Explain Kimi-K3 Deep PP Prefill optimization 2026-08-21 14:53:44 +08:00
Zhiyi Hong
d7381abe84 [Test] Add Kimi-K3 Prefill PP baseline search 2026-08-21 14:20:59 +08:00
Zhiyi Hong
60f77cd4ef [Profile] Attribute Kimi-K3 Prefill communication 2026-08-20 16:03:58 +08:00
Zhiyi Hong
6fac5ad567 [Docs] Attribute Kimi-K3 Prefill collectives 2026-08-20 13:54:18 +08:00
Zhiyi Hong
2a3b12fa78 [Docs] Reject Kimi-K3 Prefill TP Reduce Scatter path 2026-08-20 10:25:37 +08:00
Zhiyi Hong
08a35066d7 [Test] Complete Kimi-K3 Prefill MoE backend report 2026-08-19 16:54:45 +08:00
Zhiyi Hong
74ec19dd48 [Docs] Close Kimi SM120 delivery audit 2026-08-19 14:25:03 +08:00
Zhiyi Hong
0fdcab9927 [Docs] Rebase Kimi SM120 Draft onto synced main 2026-08-19 14:02:35 +08:00
Zhiyi Hong
a5248ed80e [Docs] Record exact Draft patch verification 2026-08-19 13:31:56 +08:00
Zhiyi Hong
fc336a3c7b [Test] Finalize Kimi SM120 PR representative benchmark 2026-08-19 13:11:21 +08:00
Zhiyi Hong
63f2327a90 [Fix] Validate per-request benchmark errors correctly 2026-08-19 11:54:34 +08:00
Zhiyi Hong
a90c898683 [Fix] Use official kernel version-check override for validation 2026-08-19 11:29:55 +08:00
Zhiyi Hong
ab9a5422f6 [Fix] Persist FlashInfer JIT cache across services 2026-08-19 11:16:07 +08:00
Zhiyi Hong
7f67dfe6b3 [Fix] Keep ABI-matched SGLang kernel in PR image 2026-08-19 11:00:50 +08:00
Zhiyi Hong
e8ff3ce1e8 [Test] Add exact Kimi SM120 PR validation point 2026-08-19 10:47:26 +08:00
Zhiyi Hong
d28db48e4b [Docs] Scope SGLang draft to compatibility 2026-08-19 00:12:38 +08:00
Zhiyi Hong
39f692caae [Docs] Keep draft checklist evidence-based 2026-08-19 00:10:20 +08:00
Zhiyi Hong
a9206ff105 [Docs] Add Kimi SM120 completion audit 2026-08-18 23:58:37 +08:00
Zhiyi Hong
a11c80b703 [Docs] Finalize Kimi SM120 SGLang draft PR 2026-08-18 23:47:34 +08:00
Zhiyi Hong
e01df16667 [Docs] Prepare Kimi SM120 SGLang draft PR 2026-08-18 23:16:53 +08:00
Zhiyi Hong
ec7b604a50 [Docs] Record Kimi EP4 MoE backend acceptance 2026-08-18 18:38:59 +08:00
Zhiyi Hong
27b8be09cb [Fix] Keep Kimi benchmark tokenizer offline 2026-08-18 15:12:24 +08:00
Zhiyi Hong
be9d6bfe3a [Fix] Materialize FlashInfer MXFP8 input layout 2026-08-18 14:50:13 +08:00
Zhiyi Hong
d0863501ca [Fix] Support legacy Kimi MoE runner config 2026-08-18 14:33:42 +08:00
Zhiyi Hong
13944079fa [Test] Add EP4 maximum-pressure capacity probe 2026-08-18 13:57:31 +08:00
Zhiyi Hong
e3974e2352 [Fix] Patch Kimi image for SM120 FlashInfer MXFP4 2026-08-18 13:06:32 +08:00
Zhiyi Hong
b50de8fe99 [Fix] Keep Kimi image dependency baseline for Phase 5 2026-08-18 12:46:08 +08:00
Zhiyi Hong
c14f8aa43a [Fix] Preserve FlashInfer wheel filename in image build 2026-08-18 12:40:02 +08:00
Zhiyi Hong
daeffd147b [Fix] Use built-in random IDs for Kimi Prefill matrix 2026-08-18 12:37:18 +08:00
Zhiyi Hong
5454fb984e [Test] Add Kimi SM120 real-serving MoE backend matrix 2026-08-18 12:32:06 +08:00
Zhiyi Hong
c8f30ab7dc [Perf] Profile Kimi SM120 FlashInfer MXFP4 MoE 2026-08-18 11:04:06 +08:00
Zhiyi Hong
6493798ad5 [Feature] Complete Kimi SM120 FlashInfer MXFP4 integration 2026-08-17 14:58:52 +08:00
Zhiyi Hong
a1c18d736b [Test] Add Kimi SM120 MXFP4 correctness matrix 2026-08-17 12:08:06 +08:00
Zhiyi Hong
dac1bb652d [Test] Reproduce Kimi SM120 SiTU contract gap 2026-08-14 17:09:13 +08:00
Zhiyi Hong
0684d269df [Docs] Audit Kimi-K3 SM120 FlashInfer MXFP4 gap 2026-08-14 15:52:14 +08:00
shishi
987f1db4b0 feat(pro6000): Kimi-K3 DP=2 部署(方案 B:两个独立 TP32×EP32 实例 + router 负载均衡)
- 实例 A profile 加 --disable-radix-cache(bench 测量纯净)
- 新增实例 B profile(kimi3_pro6000_sglang_tp32ep32_instB,.1-.4)
- 新增 deploy_dp2.sh 编排脚本(A + B + router --worker-urls)
- 新增 README
2026-08-11 17:56:14 +08:00
shishi
c69831f258 feat(pd): PD 长上下文 adaptive concurrency bench(SLO 方案 A,并发 +16)
- matrix.json: 3 个 shape(64k/128, 16k/1k, 1k/4k)
- run_adaptive_concurrency_pd.sh: PD 专用 adaptive 脚本
  - 复用 adaptive_bench_lib.sh(并发搜索/SLO 停止/OOM 检测/完整产物)
  - server 生命周期函数 no-op(PD 服务常驻,不启停)
  - 加 --flush-cache(配合 --disable-radix-cache 测纯净 TTFT/TPOT)
  - 离线环境变量 + 本地 tokenizer(避免 HF 在线下载)
- adaptive_config.env: SEARCH_ADDEND=16 +16 递增,上限 64,回退 8/1
- config.env: 新增 get_ttft_slo_ms 分层 SLO(1k->4s, 16k->15s, 64k->30s)
2026-08-11 14:45:36 +08:00
shishi
fe375e1307 docs(pd): 补充运维一键部署完整步骤(干净环境从零到跑通)
- experiments README 新增「运维一键部署」章节:6 步完整流程
  (免密/文件分发/仓库 clone/拉镜像/启动/验证)+ 停止重启 + 文件来源
- docs/KIMI_K3_DEPLOY.md 附录 B 新增 B.2 运维准备,编号顺延 B.3-B.6
- 修复 scp 分发命令(先建父目录)
2026-08-11 11:55:39 +08:00
shishi
da0e1b4372 fix(pd): config.env 加 DOCKER_CLIENT_IMAGE(bench 用 docker client 复用 kimi-k3 镜像) 2026-08-11 11:19:42 +08:00
shishi
04dfa31583 fix(pd): PATCH_MOUNTS 补充 flashkda wheel 挂载(BOOTSTRAP 需要 /flash_kda-*.whl) 2026-08-11 10:50:43 +08:00
shishi
d72dbff689 feat(pro6000): Kimi-K3 PD 分离部署(MoonCake RDMA)- 8 节点 P/D 双 profile + deploy_pd.sh 编排 + 文档
- 新增 P 组(prefill)/D 组(decode) deploy profiles(mooncake RDMA + 计算网 mlx5_0~3)
- 新增 experiments/pro6000/kimi3_pro6000_pd_rdma/ 编排脚本(mc-master+P+D+router)
- 关键修复: 必须关闭 PYTORCH_CUDA_ALLOC_CONF=expandable_segments
  (mooncake RDMA 注册 expandable GPU 段报 Bad address,GitHub #2511)
- 容器内升级 mooncake 0.3.12.post1(含 dmabuf 修复 #2035)
- docs/KIMI_K3_DEPLOY.md 新增附录 B,README 更新实验索引
2026-08-11 10:36:09 +08:00
shishi
3bd04698bb feat(pro6000): Kimi-K3 TP32×EP32 部署 profile、sm_120 补丁与运维手册 - 4 节点 RoCE 部署 + bench 实验 2026-08-10 11:04:24 +08:00
shishi
d9a2e3b5e5 fix(910c/glm52): 镜像与 client 修正 - 部署在 910c.2 的 GLM5.2-tuned 镜像
- profile DOCKER_IMAGE 改回 local/vllm-ascend:0.23-a3-20260718-sglang
  (910c.1 的 glm5.2-a3-openeuler 缺 expert_map_manager 模块无法启动)
- config.env DOCKER_CLIENT_IMAGE 指向 910c.2 本地 tuned 镜像(带 bench_serving)
- 实测: 910c.2 TP8/DP2 smoke 40/40, TTFT 1062ms, TPOT 51ms
2026-08-03 17:22:04 +08:00
shishi
f33c5f1d3d fix(deploy): DP_FLAG 未达 BOOTSTRAP 启动命令 + bench 的 model/tokenizer 分离
- profile.py: DP_FLAG 追加到 LAUNCH_ARGS 与 BOOTSTRAP(BOOTSTRAP 的 ${LAUNCH_ARGS}
  引用在 env 解析阶段已内联,必须直接 append 到 BOOTSTRAP 末尾),并改为用
  rendered 作模板展开源;修复 910c TP4/DP4 启动退化为 TP4 单 DP 布局导致
  专家权重不分片 OOM(61.3GB/die) 的问题(顺带修复 p800/pro6000 同类隐患)
- cli.py/runner.py: bench 的 API model 名改用 SERVED_MODEL_NAME(vLLM 严格校验),
  tokenizer 独立用 MODEL_PATH 路径并 --tokenizer 透传、docker client 挂载;
  修复 910c/vLLM 场景 404 Not Found
- dsv4 910c profile 恢复标准加载参数(prefetch+multithread);config.env per-TP
  max-model-len 默认改为已验证值(32768/65536/131072)
- 实测: 910c TP4/DP4 16-worker 布局启动健康, sskj.bench smoke 40/40
  (TTFT 1667ms, TPOT 35.4ms)
2026-08-03 16:41:29 +08:00
shishi
ea8302561e fix(910c): bench client 可用化 - 本地 vllm-ascend-sglang 镜像 + torch_npu 自动加载禁用
- runner.py docker client 注入 TORCH_DEVICE_BACKEND_AUTOLOAD=0(bench 纯 HTTP
  client 不需要 NPU backend,跳过 torch_npu 加载失败)
- dsv4/glm52 config.env: DOCKER_CLIENT_IMAGE 指向本地定制镜像
  (local/vllm-ascend:0.23-a3-dsv4-sglang,内置 sglang 0.5.2 bench_serving),
  USE_DOCKER_CLIENT=1,sskj.bench/run_bench.sh 的 docker client 分支可用
- run_bench.sh docker client 分支同步注入 AUTOLOAD=0
- glm52 profile 修正 DOCKER_IMAGE 为本机存在的 glm5.2-a3-openeuler
2026-08-03 15:43:45 +08:00
shishi
6ba04325d3 feat(910c): 部署解耦 - vLLM-Ascend profile 与 deploy 层接管服务启停
- deploy/profiles/910c/ 新增 dsv4/glm52 两个 vLLM-Ascend profile
  (JSON 参数经 BOOTSTRAP base64 注入避开镜像 entrypoint 转义;per-TP 参数
  由 start 脚本导出后经 profile 模板展开)
- dsv4/glm52 start_vllm_docker.sh 改为 deploy 薄包装(保留 sg docker 重入与
  per-TP 覆盖),新增 stop_vllm_docker.sh
- run_bench.sh / run_adaptive_concurrency*.sh 的 stop/build_server_args 改走
  deploy_stop/deploy_render_args
- runtime.py 修复单节点 dry-run 未跳过健康检查的 bug
- ops/README.md 补 910c 章节;.gitignore 补 910c ops_ 输出规则
- 附带入库 910c adaptive 汇总结果
2026-08-03 15:36:11 +08:00
Zhiyi Hong
9acf9fdfdb feat(pro6000): 部署/测试解耦 - deploy 层支持多节点与 vLLM,新增 6 个 profile
- sskj.deploy runtime 支持 NODE_HOSTS 多节点编排(ssh 分发/本地 rank/LOCAL_NODE_RANK)
  与 ENGINE=vllm 启动(SERVER_CMD),容器名按 rank 自动唯一
- scripts/common/deploy_cli.sh 新增 deploy_stop/status/multinode helper 与 node-rank 透传
- src/sskj/common/env.py 修复嵌套 ${VAR:-${OTHER}/path} 展开(平衡花括号扫描)
- deploy/profiles/pro6000/ 新增 6 个 profile: tp16/tp16_eagle/glm52(多节点)、
  sglang/vllm tp_dp_matrix、qwen3(单节点)
- 6 个实验 start/stop 脚本改为 deploy 薄包装,run_bench/adaptive 的 server 启停走
  deploy_render_args/deploy_start/deploy_stop,tp16 新增 matrix.json
- 首次入库 glm52_pro6000_sglang_multinode_tp16 实验目录;ops/README.md 补 pro6000 章节
- 实测通过: 单节点 dsv4 sglang/vllm 链路 + tp16 双节点启动/bench/清理
2026-08-03 15:17:41 +08:00
yy-fighting
3761d75b00 feat(ops): add unified bench/deploy layers and P800 profile 2026-08-02 15:36:28 +08:00
shishi
e885fd0dc2 feat(adaptive): support tiered per-ISL TTFT SLO via get_ttft_slo_ms()
- adaptive_bench_lib.sh: add default get_ttft_slo_ms() fallback (flat TTFT_SLO_MS),
  use it instead of hardcoded TTFT_SLO_MS in SLO comparison and logs,
  add ttft_slo_tiers_desc to run_manifest.json
- glm52_910c config.env: define tiered SLO for GLM-5.2:
  ≤2048:5000ms, ≤8192:8000ms, ≤32768:12000ms, ≤131072:20000ms, >131072:30000ms
  (~70-80% of DSv4-Pro values, since GLM-5.2 has simpler architecture)
- glm52_910c adaptive_config.env: update TTFT_SLO_MS comment noting tiered override

Backward compatible: experiments without get_ttft_slo_ms() keep flat 4000ms behavior.
2026-07-30 10:47:56 +08:00
Zhiyi Hong
e53b2c7e4c fix: JSONL parsing in run_batch, add results/ to gitignore 2026-07-29 17:51:47 +08:00