Update DSV4 B300 SGLang AgentX image and HiCache concurrency grid / 更新 DSV4 B300 SGLang AgentX 镜像和 HiCache 并发网格 - #2759
Conversation
… image Bump dsv4-fp4-b300-sglang-agentic-hicache-mtp from the one-off staging tag lmsysorg/sglang-staging:dev-cu13-pr-35880 to the published nightly lmsysorg/sglang:nightly-dev-cu13-20260827-20621aa1, so every point is reproducible from a public image. Image-only change: the write policy, search space, dram-utilization and all serving flags from #2701 are left untouched. --prefill-decode-interval is retained because sgl-project/sglang#35017 merged before this nightly's build commit. The HiCache load-back fix (sgl-project/sglang#34975 and its cherry-pick #35880) is still unmerged, so the DEP8 conc 384/512/576 crash is a known risk; this is recorded in perf-changelog.yaml. 将 dsv4-fp4-b300-sglang-agentic-hicache-mtp 的镜像从一次性构建的 staging 标签 lmsysorg/sglang-staging:dev-cu13-pr-35880 切换到已发布的 nightly lmsysorg/sglang:nightly-dev-cu13-20260827-20621aa1,使所有数据点均可基于公开 镜像复现。 本次仅改动镜像:#2701 引入的写策略、搜索空间、dram-utilization 及全部服务参数 均保持不变。由于 sgl-project/sglang#35017 已在该 nightly 的构建提交之前合并, --prefill-decode-interval 得以保留。HiCache load-back 修复(sgl-project/sglang#34975 及其 cherry-pick #35880)仍未合并,因此 DEP8 并发 384/512/576 存在已知的崩溃 风险,该风险已记录在 perf-changelog.yaml 中。 Co-Authored-By: Claude <noreply@anthropic.com>
|
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 关于重新运行失败任务的文档 |
Replace the placeholder pr-link now that the PR number exists. PR 号确定后,将 changelog 条目中的占位 pr-link 替换为实际链接。 Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 4960d11. Configure here.
There was a problem hiding this comment.
Beyond the inline pr-link finding, I also checked whether this bump reintroduces the HiCache load-back hang for the DEP8 conc 384/512/576 points in the recipe's search-space — that search-space line is unchanged by this diff and the risk is already explicitly disclosed in the new changelog entry, so it's not a new/hidden regression introduced silently by this PR.
Extended reasoning...
A single confirmed finding exists (the placeholder pull/PENDING pr-link in perf-changelog.yaml), which will be posted inline and is enough reason to hold off on approval until it's replaced with a real PR link. I additionally verified the candidate concern that the image bump reintroduces a HiCache load-back hang for the DEP8 conc 384/512/576 search-space points: that search-space entry (line 1170) is untouched by this diff — it predates the PR — and the exact regression mechanism (missing #34975/#35880 fix, write_back default, assertion in unified_tree_core.py) is transparently documented in the new changelog entry itself rather than being a silently introduced or hidden issue. That rules it out as a new undisclosed bug worth a separate inline comment.
| - "Bump image from lmsysorg/sglang-staging:dev-cu13-pr-35880 to lmsysorg/sglang:nightly-dev-cu13-20260827-20621aa1, moving the lane off a hand-built staging tag and back onto a published nightly. Build commit 20621aa14b is on sgl-project/sglang main, so every point is now reproducible from a public image; the staging tag it replaces was a one-off build carrying an unmerged draft and no longer resolves in lmsysorg/sglang." | ||
| - "Retains --prefill-decode-interval 20. sgl-project/sglang#35017 merged upstream on 2026-08-19, ahead of this nightly's build commit, so the flag and the +28% output throughput at conc 128 that #2701 measured are both preserved on a released build." | ||
| - "Known regression risk at DEP8 conc 384/512/576: this nightly does NOT carry the HiCache load-back fix. sgl-project/sglang#34975 and its cherry-pick #35880 are both still open as of this bump, and at build commit 20621aa1 mem_cache/unified_cache/unified_tree_core.py still declares load_back_pending_id as a single Optional[int] anchor with the 'node N pinned by load-back M, new anchor N' assertion intact. A node pinned by two concurrent H->D load-backs therefore still trips it: eight schedulers exit at once and the surviving DP ranks block forever in the MLP-sync collective, so in-flight requests never return and the client sees zero errors. The assertion is reachable only under --hicache-write-policy write_back, which this recipe still sets by default. This bump is deliberately image-only, so the write policy, search space, dram-utilization and every serving flag from #2701 are left untouched; re-pin to a nightly that includes #34975 once it merges." | ||
| pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/PENDING |
There was a problem hiding this comment.
🟡 pr-link is a placeholder 'pull/PENDING' instead of a real PR number, unlike every other entry in the file.
Extended reasoning...
The changelog entry merges with a dead/invalid link (github.com/SemiAnalysisAI/InferenceX/pull/PENDING resolves to nothing), breaking the append-only historical record's traceability to the actual PR and diverging from the convention every prior entry follows.
Verification: nit. Line 6549 of perf-changelog.yaml reads pr-link: https://github.com/SemiAnalysisAI/InferenceX/pull/PENDING. Every other entry in the file uses a real numeric PR ID (e.g. line 6539 .../pull/2756, 6528 .../pull/2758, 6429 .../pull/2701). The placeholder PENDING is not a valid PR number, so the URL resolves to nothing, breaking the append-only changelog's traceability to the merging…
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=33051183882 |
1 similar comment
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=33051183882 |
Concurrency 128 failed on run 33051183882 with a CUDA OOM inside deep_gemm fp8_fp4_paged_mqa_logits (5.35 GiB requested, 4.55 GiB free) on DP ranks 3, 4 and 5, crashing scheduler_0 and aborting AIPerf during warmup. Concurrency 64 shares the same mem-fraction-static 0.93 tier and is dropped with it. The changelog entry also corrects the previous entry's prediction: DEP8 concurrency 384, 512 and 576 passed on this image, so the HiCache load-back failure did not reproduce. 并发 128 在 run 33051183882 上因 deep_gemm fp8_fp4_paged_mqa_logits 内的 CUDA OOM 失败(请求 5.35 GiB,仅剩 4.55 GiB),DP rank 3、4、5 同时报错,导致 scheduler_0 崩溃并使 AIPerf 在 warmup 阶段中止。并发 64 与其同属 mem-fraction-static 0.93 档位,一并移除。 changelog 同时修正了上一条目的预测:DEP8 并发 384、512、576 在该镜像上均通过, HiCache load-back 失败并未复现。 Co-Authored-By: Claude <noreply@anthropic.com>
Resolve the perf-changelog.yaml conflict by keeping every entry main added and re-appending this branch's two entries at the tail, preserving the append-only invariant. 解决 perf-changelog.yaml 冲突:保留 main 新增的全部条目,并将本分支的两条条目 重新追加到文件末尾,以维持 append-only 约定。 Co-Authored-By: Claude <noreply@anthropic.com>
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=33051183882 |
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=33145139961 |
1 similar comment
|
see unofficial run visualizer at https://inferencex.semianalysis.com/inference?unofficialRun=33145139961 |
|
/reuse-sweep-run 33145139961 |
|
As a PR reviewer and CODEOWNER, I have reviewed this and have:
Additional detail section:
Signed: |
✅✅✅ Verdict: PASS ✅✅✅✅ Check 0 (CODEOWNER): PASS — |
|
Is there anything else we need to do before merging? Thanks! @Ankur-singh |
|
@functionstackx @cquil11 waiting SA approval, please review |
Merge main to resolve the append-only changelog conflict. Keep one entry for the SGLang image update and HiCache concurrency removal; remove unchanged settings, prior-PR performance claims, and debugging history.

Description
Updates
dsv4-fp4-b300-sglang-agentic-hicache-mtpin two ways:lmsysorg/sglang-staging:dev-cu13-pr-35880with the published upstream nightlylmsysorg/sglang:nightly-dev-cu13-20260827-20621aa1.33051183882; concurrency 64 was still unmeasured when the row was cut and used the samemem-fraction-statictier. The resulting submission contains ten points: TP8 at concurrency 1, 4, 8, 16, and 32, plus DEP8 HiCache at concurrency 32, 256, 384, 512, and 576.The serving flags,
dram-utilization, HiCache write policy, router configuration, and speculative-decoding settings remain unchanged.--prefill-decode-interval 20is present in the published nightly because its upstream PR is merged.Exact-head validation: Run Sweep
33145139961, attempt 2 completed successfully onfb85931b1edec09f9498509835a8c814bebe3c65; all ten applicable AgentX benchmark leaves, the applicable AgentX eval leaf, and the eval collector succeeded.The HiCache concurrent load-back pin fix is not included in this image: sgl-project/sglang#34975 closed without merge, and #35880 remains an open draft. Concurrency 384, 512, and 576 all passed under
--hicache-write-policy write_backin the exact-head sweep, so the previously predicted failure did not reproduce. The underlying timing-dependent risk remains until an upstream fix is merged and included in a later image.中文说明
本 PR 对
dsv4-fp4-b300-sglang-agentic-hicache-mtp做出两项更新:lmsysorg/sglang-staging:dev-cu13-pr-35880替换为已发布的上游 nightly 镜像lmsysorg/sglang:nightly-dev-cu13-20260827-20621aa1。33051183882中因 CUDA 显存不足而失败;并发度 64 在裁剪搜索空间时尚未完成测量,并且使用相同的mem-fraction-static档位。更新后的提交包含十个数据点:TP8 的并发度 1、4、8、16、32,以及 DEP8 HiCache 的并发度 32、256、384、512、576。服务参数、
dram-utilization、HiCache 写入策略、路由器配置和推测解码设置均保持不变。--prefill-decode-interval 20对应的上游 PR 已合并,因此该参数已包含在此公开 nightly 镜像中。精确 head 验证:Run Sweep
33145139961,attempt 2 已在fb85931b1edec09f9498509835a8c814bebe3c65上成功完成;十个适用的 AgentX 基准任务、一个适用的 AgentX 评测任务以及评测汇总任务均成功。该镜像尚未包含 HiCache 并发 load-back pin 修复:sgl-project/sglang#34975 已关闭且未合并,#35880 仍为开放的草稿 PR。在本次精确 head sweep 中,并发度 384、512 和 576 均在
--hicache-write-policy write_back下通过,因此此前预测的故障未能复现。在上游修复合并并进入后续镜像之前,相关的时序风险仍然存在。Related Issue
N/A
Type of Change
Checklist
perf-changelog.yaml).perf-changelog.yamland have not edited historical entriesOWNER/MEMBER/COLLABORATOR) has commented/reuse-sweep-runon this PR. The planned pinned authorization is/reuse-sweep-run 33145139961.Note
Low Risk
Benchmark configuration and container pin only; no application or auth logic changes, though published numbers will reflect the new image and fewer HiCache concurrency points.
Overview
Updates the
dsv4-fp4-b300-sglang-agentic-hicache-mtpbenchmark recipe: swaps the SGLang container from the one-off staging image tolmsysorg/sglang:nightly-dev-cu13-20260827-20621aa1, and narrows the DEP8 HiCacheconc-listby dropping 64 and 128 (OOM at 128; 64 unmeasured on the same memory tier).Serving flags, HiCache/router/MTP settings, and other search-space rows are unchanged.
perf-changelog.yamlrecords the image bump and concurrency grid change for this config key.Reviewed by Cursor Bugbot for commit 1416480. Bugbot is set up for automated code reviews on this repo. Configure here.