Update Kimi K3 GB300 Agentx - #2811
Conversation
|
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 关于重新运行失败任务的文档 |
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=33699200986 |
There was a problem hiding this comment.
Additional findings (no inline location):
-
🔴
perf-changelog.yaml— New entry usespr-link: TBD, which is not a valid placeholder: the CI gate (utils/validate_perf_changelog.py PR_LINK_PLACEHOLDERS = {"XXX", ".../pull/XXX"}) only accepts "XXX" or the exact PR URL, so this fails validate_added_pr_link and the changelog gate blocks the PR merge, unlike prior entries that all use the accepted convention. Fix: use "XXX" as the placeholder (or the actual PR URL) so it matches PR_LINK_PLACEHOLDERS / the expected pull/ link.Extended reasoning...
utils/validate_perf_changelog.py:validate_added_pr_link() checks
link not in PR_LINK_PLACEHOLDERS and link != expectedwhere PR_LINK_PLACEHOLDERS = {"XXX", "https://github.com/SemiAnalysisAI/InferenceX/pull/XXX"} (lines 25-26, 154-159). The new entry appended at perf-changelog.yaml:1082 sets pr-link: TBD, which matches neither placeholder nor the expected pull/<pr_number> URL, so validate_added_pr_link raises ChangelogValidationError('new PR entry must use ... or an XXX placeholder; found 'TBD''), causing the changelog CI gate to fail on this PR until the value is corrected.Verification: normal. The diff appends a new changelog entry ending in
pr-link: TBD(perf-changelog.yaml diff hunk after line 6831). utils/validate_perf_changelog.py:205-206 iterates every appended entry and calls validate_added_pr_link(str(entry.get("pr-link") or ""), pr_number). In validate_added_pr_link (lines 144-160): on a PR run,link not in PR_LINK_PLACEHOLDERS and link != expectedis true for…
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=33699230099 |
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=33700071162 |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit bce55d5. Configure here.
|
|
||
| - config-keys: | ||
| - kimik3-fp4-gb300-dynamo-vllm-agentic-dspark-mooncake-dcp8-disagg | ||
| - kimik3-fp4-gb300-dynamo-vllm-agentic-dspark-mooncake-dcp8-agg |
There was a problem hiding this comment.
Changelog key missing from master
High Severity
The new changelog entry lists kimik3-fp4-gb300-dynamo-vllm-agentic-dspark-mooncake-dcp8-agg, but that key is not in nvidia-master.yaml. process_changelog.py raises when a changelog key is missing from master configs, so sweep generation for this PR fails.
Reviewed by Cursor Bugbot for commit bce55d5. Configure here.


Note
Low Risk
Changes are benchmark/Slurm recipe and sweep metadata only; they affect how large GB300 jobs are launched and compared, not application runtime code paths in this repo.
Overview
Refreshes Kimi-K3 GB300 agentic-coding Slurm recipes and the matching
nvidia-mastersweep entries to track the measured global p90-ITL Pareto front.All affected recipes move to
vllm/vllm-openai:nightly-dev-arm64-cu13-3696c77, switch Dynamo routing fromrandomtoleast-loaded, and align Mooncake with 160GB segments (dram-utilization0.1775),default_kv_lease_ttl=60000, and richerMooncakeStoreConnectorextras (compact_group_io,max_load_batch_keys). DSpark speculative JSON dropsdraft_sample_method: probabilisticacross agg and disagg configs.Disaggregated recipes share a tightened vLLM profile: explicit
dcp-comm-backend: a2a,gpu-memory-utilization: 0.92, decodemax-cudagraph-capture-size: 512, and removal of several decode-only limits (e.g.max-num-seqs,compilation-config, prefillmax_num_batched_tokens). The1p3dtopology is corrected to 1 prefill / 3 decode workers (6 decode nodes);disagg-gb300-1p3d-dcp8-dcp8-dspark4replaces a misnamed 1p1d DSpark-7 recipe, and a newdisagg-gb300-1p3d-dcp8-dcp8-dspark7recipe is added.nvidia-masterexpands disagg concurrency grids (e.g. 1P1D 48–56, 1P2D 32–64), adds 1P3D points for DSpark-4 and DSpark-7 with synthetic acceptance lengths, trims the no-spec agg list (drops c74), and records the change inperf-changelog.yaml.Reviewed by Cursor Bugbot for commit f6984c1. Bugbot is set up for automated code reviews on this repo. Configure here.