Run Kimi K2.6 NVFP4 Dynamo vLLM on b200-new / 在 b200-new 上运行 Kimi K2.6 NVFP4 Dynamo vLLM - #2438
Run Kimi K2.6 NVFP4 Dynamo vLLM on b200-new / 在 b200-new 上运行 Kimi K2.6 NVFP4 Dynamo vLLM#2438RohitNagraj wants to merge 7 commits into
Conversation
中文:将 Kimi K2.6 B200 Dynamo vLLM 扫描切换到 b200-new,并移除 DEP4 到 DEP8、并发 1024 的配置项。
|
Thanks for the contribution! Please reach out to respective companies' CODEOWNER to fill in the latest PR_REVIEW_CHECKLIST.md before pinging core maintainer on Slack for review. In order for the signoff PR check bot to trigger, you must follow the PR_REVIEW_CHECKLIST.md template correctly, including the phrase For PR verification, add the PR authors are responsible for ensuring that after merging, all GitHub Action jobs fully pass. A lot of the time, failures are just flakes and simply re-running the failed jobs will fix it. See GitHub's docs on re-running failed jobs 感谢你的贡献!请联系相应公司的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,然后再在 Slack 上联系核心维护者进行审阅。为了触发 signoff PR 检查机器人,你必须正确遵循 PR_REVIEW_CHECKLIST.md 模板,包括保留英文语句 如需进行 PR 验证,请为此 PR 添加 PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档 |
1 similar comment
|
Thanks for the contribution! Please reach out to respective companies' CODEOWNER to fill in the latest PR_REVIEW_CHECKLIST.md before pinging core maintainer on Slack for review. In order for the signoff PR check bot to trigger, you must follow the PR_REVIEW_CHECKLIST.md template correctly, including the phrase For PR verification, add the PR authors are responsible for ensuring that after merging, all GitHub Action jobs fully pass. A lot of the time, failures are just flakes and simply re-running the failed jobs will fix it. See GitHub's docs on re-running failed jobs 感谢你的贡献!请联系相应公司的 CODEOWNER 填写最新的 PR_REVIEW_CHECKLIST.md,然后再在 Slack 上联系核心维护者进行审阅。为了触发 signoff PR 检查机器人,你必须正确遵循 PR_REVIEW_CHECKLIST.md 模板,包括保留英文语句 如需进行 PR 验证,请为此 PR 添加 PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档 |
中文:更新性能变更日志中的拉取请求链接。
There was a problem hiding this comment.
LGTM aside from the inline nit (unfilled pr-link placeholder).
Extended reasoning...
Overview
This PR is a routing/config change for the kimik2.6-fp4-b200-dynamo-vllm benchmark: it switches the runner pool from b200-multinode to a new b200-new pool (added to configs/runners.yaml with 9 nscale-slurm node labels), removes a now-unused 1P/1D DEP4-to-DEP8 concurrency-1024 sweep entry and its corresponding recipe YAML, adds a changelog entry, and introduces a thin new launcher script runners/launch_b200-nscale-slurm.sh that simply execs the existing launch_b200-dgxc.sh with the same arguments.
Security risks
None. This is benchmark infrastructure/config only — no auth, crypto, user input handling, or externally-reachable code paths are touched. The new launcher script contains no injection risk since it forwards "" verbatim to a trusted local script.
Level of scrutiny
Low-to-moderate. This follows an established pattern in the repo (adding a new named runner pool that delegates to an existing DGXC launcher, as verified by reading launch_b200-dgxc.sh) and is mechanical in nature — a runner field swap, a config-block removal, and a label list addition. No business logic or shared production code paths are affected; a bad routing choice here would surface immediately as a failing benchmark sweep job rather than silently corrupting data.
Other factors
The only finding from this run's bug hunt is a cosmetic nit (unfilled pr-link: .../pull/XXX placeholder in the append-only perf-changelog.yaml), which does not affect any runtime behavior. A candidate concern about the new launcher reusing DGXC-specific SLURM partition/account and model paths was raised and ruled out — I independently confirmed launch_b200-dgxc.sh exists and this delegation pattern is intentional and consistent with the PR description ("reuse the existing B200 DGXC launcher").
| pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2213 | ||
|
|
||
| - config-keys: | ||
| - kimik2.6-fp4-b200-dynamo-vllm | ||
| description: | ||
| - "Run the Kimi K2.6 NVFP4 B200 Dynamo vLLM disaggregated configuration on the b200-new runner." | ||
| - "Remove the 1P/1D DEP4-to-DEP8 concurrency-1024 configuration." | ||
| - "Image: vllm/vllm-openai:v0.25.1" | ||
| pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/2438 |
There was a problem hiding this comment.
🟡 The new perf-changelog.yaml entry for kimik2.6-fp4-b200-dynamo-vllm ends with an unfilled placeholder link: pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/XXX instead of the real PR number. Please replace XXX with 2438 to match every other entry in this append-only changelog.
Extended reasoning...
The newly appended block in perf-changelog.yaml (lines 5357-5365) documents the routing change to b200-new, but its pr-link field was never filled in with the actual PR number and instead ships with the literal placeholder https://github.com/SemiAnalysisAI/InferenceX/pull/XXX.
This is verifiable directly against the committed content rather than the rendered PR diff. Running git log --oneline -- perf-changelog.yaml shows commit d6e0efe ("chore: route Kimi K2.6 sweep to b200-new") as the tip of history for this file, with a subject line that matches this PR's title exactly and — unlike the surrounding merged commits ((#2213), (#2360), (#2312)) — carries no merge-PR suffix, confirming it is this PR's own commit rather than a later, unrelated change. Both git show HEAD:perf-changelog.yaml and the on-disk working tree confirm the last line of the new block reads pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/XXX.
One verifier raised a plausible-sounding objection: the preloaded PR diff shown in review context displays pull/2438 on that line, and standard guidance says to prefer the diff over a possibly-diverged working tree. However, that guidance exists to handle the case where the checkout is ahead of the PR (later commits touched the file). That doesn't apply here — HEAD is the PR's commit, there is no later commit to discount, and the diff-displayed 2438 does not match what git actually recorded as committed. In other words, the "2438" appears to be a harness-level auto-substitution for display purposes, not the real content of the change. Trusting git show/working-tree content (the actual bytes that would land in the repo) over the rendered diff is correct in this specific case, since they conflict and only one can be what actually gets merged.
Step-by-step proof:
git log --oneline -- perf-changelog.yaml→ top commit isd6e0efe, no(#NNNN)suffix, subject matches this PR's title.git show HEAD:perf-changelog.yaml | tail -9→ last line of the newkimik2.6-fp4-b200-dynamo-vllmblock ispr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/XXX.tail -9 perf-changelog.yaml(working tree) → identical.../pull/XXXline, confirming it is not a stale artifact of an intermediate git state.- Every other entry in the file (e.g. the immediately preceding one ending
.../pull/2213, and others at.../pull/2360,.../pull/2312) has a real, resolved PR number — this is the only entry left as a placeholder.
Impact is purely cosmetic: perf-changelog.yaml is an append-only audit/documentation log, and this field is not consumed by any routing, sweep, or runtime logic — nothing breaks functionally. But it leaves a dead link (.../pull/XXX 404s) in an otherwise-accurate historical record, which is a real, if minor, correctness gap. The fix is a one-line change: replace XXX with 2438 on line 5365.
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=30659217395 |
Configure the nscale Slurm account and partition, shared squash cache, model path, and runner temp storage while retaining the common B200 launcher defaults. 中文:配置 nscale 的 Slurm 账户和分区、共享 squash 缓存、模型路径以及 runner 临时存储,同时保留通用 B200 启动器的默认行为。
Use the shared squash cache with enroot local temporary storage and allow the first serialized image import enough time to finish. 中文:使用共享 squash 缓存和 enroot 本地临时存储,并为首次串行镜像导入预留足够的完成时间。
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=30660787348 |
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=30662010462 |
中文:将 b200-new 启动器的 Slurm 分区从 batch_all 更新为 batch_1。
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=30668476660 |
中文:将 b200-new 启动器的 Slurm 分区更新为 batch_2。
Restore the b200-new Slurm partition from batch_2 to batch_1.\n\n中文:将 b200-new 的 Slurm 分区从 batch_2 恢复为 batch_1。
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=30669462128 |
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=30669586535 |
1 similar comment
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=30669586535 |
Summary
kimik2.6-fp4-b200-dynamo-vllmto theb200-newrunner pool and reuse the existing B200 DGXC launcher.中文说明
kimik2.6-fp4-b200-dynamo-vllm切换到b200-newrunner 池,并复用现有的 B200 DGXC 启动器。