Repository navigation
[AgentX] GB300 DSV4.1 Flash SGLang: 20261012 nightly, 7-point curve with DEP2 and TP4 EP1 / [AgentX] GB300 DSV4.1 Flash SGLang:升级 20261012 nightly,精简为 7 个点(DEP2、TP4 EP1) - #3859
Conversation
….1 Flash SGLang Bump the image to nightly-dev-cu13-20260929-79cafec0 and set SGLANG_DSPARK_FOLDED_SAMPLING=2 on every point: the AUTO default keeps DSpark draft sampling eager for DeepSeek-V4.1 TP shards, which left low-concurrency decode launch-bound. Run TP4 c64 with 8K chunks and a 16-step prefill-decode interval, and let TP2 c128 admit all 128 sessions with a 4-step interval and mem-fraction-static 0.85. 中文:将镜像升级到 nightly-dev-cu13-20260929-79cafec0,并在所有点上设置 SGLANG_DSPARK_FOLDED_SAMPLING=2:AUTO 默认值对 DeepSeek-V4.1 的 TP 分片 保持 DSpark draft 采样为 eager 执行,导致低并发 decode 受 kernel 发射限制。 TP4 c64 改为 8K prefill chunk 与 16 步 prefill-decode interval;TP2 c128 接纳全部 128 个会话,使用 4 步 interval 与 mem-fraction-static 0.85。
中文:将 GB300 DSV4.1 Flash SGLang 的 changelog 条目链接到 #3782。
Keep main's perf-changelog bytes and re-append this PR's entry at the tail. 中文:合并 origin/main;保留 main 的 perf-changelog 原有字节,并将本 PR 的条目重新追加到末尾。
…-gb300-sgl-1008 # Conflicts: # inferencex-e2e/perf-changelog.yaml
… 16K chunks at TP4 c1 Root cause: on the 20260929 nightly the Python radix-tree insert walk slices the remaining key at every node, which delays the last prefill chunk on 200K-400K-token AgentX prompts. At TP4 c1, 4K chunks with a 16-step prefill-decode interval split long cache-miss prefills into many steps and made subagent requests wait behind them. Fix: pin lmsysorg/sglang:nightly-dev-cu13-20261008-7760d526 by digest in the recipe and the master config. The image makes the Rust radix-tree core the default. TP4 c1 now runs 16K chunks with no prefill-decode interval. Validation: local GB300 TP4 c1 30-minute AgentX runs, synthetic acceptance 3.51. Image bump: 5,570 -> 5,577 tok/s/GPU, P90 interactivity 521.5 -> 562.5. Chunking (new image, fastokens backend in both arms): 5,826 -> 5,957 tok/s/GPU, P90 TTFT 1.38 -> 0.46 s. Other points were not rerun on the new image.
|
Thanks for the contribution!
中文感谢你的贡献!
|
There was a problem hiding this comment.
I reviewed this PR and didn't find any bugs. Because it bumps a production GB300 benchmark recipe (image digest, DSpark sampling fold, per-point chunked-prefill/interval retuning) and both changed files (nvidia-master.yaml and the gb300-*/ recipe tree) are covered by CODEOWNERS, a human look would still be worthwhile.
What was reviewed: confirmed the image digest bump is applied consistently in both agentic.yaml and nvidia-master.yaml; checked perf-changelog.yaml additions are strictly appended at the tail with no edits to prior entries; cross-checked the retuned tp2_c128/tp4_c1/tp4_c64 overrides against the updated header comment for consistency; and noted the PR's own disclosure that its two stacked changelog blocks (PR #3782 and #XXX) depend on merge order.
Extended reasoning...
The diff is a config-only change: an SGLang nightly image/digest bump, a new env var, and per-point prefill-chunking/interval retunes in a GB300 benchmark recipe, plus the matching master-config image entry and two appended perf-changelog blocks; it touches no auth, crypto, or data-handling code. Both changed non-changelog files fall under CODEOWNERS (nvidia-master.yaml and the gb300-* recipe path), which per the approval guidelines rules out approving regardless of correctness. The bug hunt reported zero findings; three candidate issues (two implausible/unverifiable changelog numbers in the PR #3782 block, and a known reuse-merge ordering conflict from carrying two changelog blocks) were investigated and are either out of this PR's reviewable scope (belong to the not-yet-merged #3782) or already disclosed by the author as an expected, self-resolving sequencing issue, so none rises to a flagged finding.
This review covers commit 4c1105a, which is no longer the latest commit on this pull request; later commits are not covered by it.
…8-c32, DEP2 c64/c128 Bump to nightly-dev-cu13-20261012-e6072935, which carries DP attention with MegaMoE. TP2 c8/c16/c32 run 16K chunks with decoder SWA bounded replay and a longer prefill-decode interval; c64 and c128 move to DEP2 behind sglang-router with shortest-prefill-first scheduling.
…-gb300-sgl-1008 # Conflicts: # inferencex-e2e/benchmarks/single_node/srt-slurm-recipes/dsv41flash/sglang/gb300-fp4-mtp/agentic.yaml # inferencex-e2e/configs/nvidia-master.yaml # inferencex-e2e/perf-changelog.yaml
|
View unofficial run (performance): https://inferencex.semianalysis.com/inference?unofficialRun=38220651569 View unofficial run (accuracy): https://inferencex.semianalysis.com/evaluation?unofficialRun=38220651569 |
|
[by Claude Code] The SGLang cookbook integration of this PR's AgentX config ( This PR has no authorized |
… EP1 at c4/c16 Keep TP4 c1/c4/c16, TP2 c16/c32 and DEP2 c64/c128; the other points are dominated. TP4 c4 and c16 run EP1, and c16 adds a 192-step prefill-decode interval, 4 tokenizer workers and soft NUMA binding.
…-gb300-sgl-1008 # Conflicts: # inferencex-e2e/perf-changelog.yaml
Co-authored-by: nbommi19 <227267412+nbommi19@users.noreply.github.com>
|
[by Claude Code] sgl-project/sglang#43799 has been merged. This PR's AgentX config ( This PR has no authorized |
Description
Config:
dsv41flash-fp4-gb300-sglang-agentic-dspark(aggregated, single node). Recipe, master config and changelog only.lmsysorg/sglang:nightly-dev-cu13-20261012-e6072935, pinned by digest. This nightly:SGLANG_NUMA_BIND_V2=0: one prefill forward costs about 200 ms of host dispatch on Grace and stalls every running decode.expandable_segmentsand 4 tokenizer workers. c16 also setsSGLANG_NUMA_BIND_V2=0.cache_aware,dp-aware, routing key from the AIPerf correlation id);total_requestsload balancing, shortest-prefill-first scheduling, 16K chunks and 4096 SWA tails;mem-fraction-static0.85 and admits 256.Local results
One-hour AgentX runs on GB300 with the image in this PR, using the CI harness with synthetic acceptance 3.51. Throughput is in tok/s/GPU; interactivity is P90 (median) tok/s/user.
The TP2 points that DEP2 replaces measured 149,666 at 99.4 median (c64) and 147,763 at 37.9 median with a 51 s P90 TTFT (c128) in #3782.
TP4 c4/c16 on EP1 come from a separate config-only GB300 tuning campaign (20261006 nightly: c4 9,460 at 502.0 P90, c16 28,771 at 376.8 P90; on the same image there, the c16 interval took P90 from 217 to 334 and EP1 added +4.7% at c16 and +6.3% at c4). The published sweep has 10,017 at 471.5 (c4) and 28,694 at 222.2 (c16). On the 20261012 image, TP4 c16 also dominates the dropped TP4 c8 (16,226 at 415.8), TP2 c4 (18,119 at 383.5) and TP2 c1/c2 (12,443 at 431.7, 12,689 at 392.6); TP4 c1 dominates TP4 c2 (7,363 at 569.7).
TP4 c1 chunking A/B (30 min, with fastokens 0.3.2 in both arms): 5,826 → 5,957 tok/s/GPU, P90 interactivity 561.6 → 566.4, P90 TTFT 1.38 → 0.46 s, subagent P90 TTFT 2.51 → 0.70 s.
Notes
AI model disclosure
claude-opus-5-5)Related Issue
Follows #3782.
Type of Change
Checklist
inferencex-e2e/perf-changelog.yamland have not edited historical entriesfull-sweep-fail-fast(recommended),full-sweep-enabled, ornon-canary-full-sweep-enabled. Optional modifiersall-evals,evals-only, andagentx-fastrequire a primary label; the last two block reuse while applied.OWNER/MEMBER/COLLABORATOR) has commented/use <run_id>(or the legacy/reuse-sweep-run) on this PR. Do this only once there is a final full sweep that is all green with evals passing, since after this comment the primary sweep label will no longer automatically kick off new sweeps. Remove and re-add the primary sweep label to force a new sweep.中文
配置:
dsv41flash-fp4-gb300-sglang-agentic-dspark(聚合、单节点),只改配方、master 配置和 changelog。lmsysorg/sglang:nightly-dev-cu13-20261012-e6072935,按 digest 固定。SGLANG_NUMA_BIND_V2=0。expandable_segments,使用 4 个 tokenizer worker。本地结果见上表:一小时运行,合成接受长度 3.51。TP4 c4/c16 的 EP1 配置来自另一组只改配置的 GB300 调优,20261012 镜像上复测:TP4 c4 9,338 @ 505.9,TP4 c16 28,838 @ 424.9(官方曲线为 222.2)。
说明:镜像内的 fastokens 为 0.1.x,未启用 fastokens 后端(sgl-project/sglang#43104 会支持 0.3.2)。
AI 模型使用说明:Claude Opus 5.5(
claude-opus-5-5),负责本地实验、配方 / master 配置 / changelog 修改,并起草本说明。