Repository navigation
[NVIDIA][AgentX] GB300 DeepSeek-V4.1-Flash Dynamo+SGLang: TP4/TEP2 aggregated and DEP2/DEP16 disaggregated points / [NVIDIA][AgentX] GB300 DeepSeek-V4.1-Flash Dynamo+SGLang:TP4/TEP2 聚合与 DEP2/DEP16 分离式配置点 - #4180
Conversation
…DEP16 disagg points Move the GB300 DeepSeek-V4.1-Flash Dynamo + SGLang lane to the nightly-dev-cu13-20261015-a6a8c560 image and run the ai-dynamo 1.6.0.dev20261014 it ships. - Aggregated: replace TP4 c1 and TP2/EP2 c1 with TP4/EP1 c1, c4, c16 and TP2/EP2 c16, using the engine settings of the matching standalone SGLang points. The Dynamo frontend tokenizes with fastokens. - Disaggregated: add dsv41flash-fp4-gb300-dynamo-sglang-agentic-dspark-disagg with 4x DEP2 prefill + 1x DEP16 decode at c1228 and 6x DEP2 prefill + 1x DEP16 decode at c2884, and remove the six TP2/EP2 1PxD points of dsv41flash-fp4-gb300-dynamo-sglang-agentic-disagg. 中文:将 GB300 DeepSeek-V4.1-Flash Dynamo + SGLang 配置迁移到 nightly-dev-cu13-20261015-a6a8c560 镜像,并直接使用镜像自带的 ai-dynamo 1.6.0.dev20261014。 - 聚合模式:用 TP4/EP1 c1、c4、c16 和 TP2/EP2 c16 取代原有的 TP4 c1 与 TP2/EP2 c1,引擎参数沿用对应的独立 SGLang 配置点;由 Dynamo 前端使用 fastokens 进行分词。 - 分离模式:新增 dsv41flash-fp4-gb300-dynamo-sglang-agentic-dspark-disagg, 包含 c1228(4 个 DEP2 prefill + 1 个 DEP16 decode)与 c2884(6 个 DEP2 prefill + 1 个 DEP16 decode)两个配置点,并移除 dsv41flash-fp4-gb300-dynamo-sglang-agentic-disagg 中六个 TP2/EP2 1PxD 配置点。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks for the contribution!
中文感谢你的贡献!
|
中文:将 perf-changelog 条目的 pr-link 设为 #4180。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…g recipes - Keep only HF_HUB_CACHE: gb300-nv serves this model from the Hub through the mounted shared cache, and Dynamo and SGLang both read HF_HUB_CACHE. - Drop env that restates image defaults (SGLANG_DSPARK_FOLDED_SAMPLING is deprecated; folded proposals, the BF16 markov W2 and static ragged verify are defaults) and env that only SGLang's own HTTP server reads, which Dynamo's token-based workers never start. - Drop client knobs equal to the agentx preset (warmup grace 1800 s, failed request threshold 0.10, TCP user timeout 900000 ms). - Drop the NIXL/UCX env from the disaggregated roles; they use Mooncake. - Declare the disaggregated prefill HiCache as DRAM KV offload so results record kv-offloading dram with the hicache backend. - Explain why Tachometer and the lifecycle OTel collector stay off; drop provenance comments. 中文: - 仅保留 HF_HUB_CACHE:gb300-nv 通过挂载的共享缓存从 Hub 提供该模型, Dynamo 与 SGLang 均读取 HF_HUB_CACHE。 - 删除与镜像默认值相同的环境变量(SGLANG_DSPARK_FOLDED_SAMPLING 已弃用; folded proposal、BF16 markov W2 与 static ragged verify 均为默认值), 以及仅由 SGLang 自身 HTTP 服务读取的环境变量(Dynamo 以 token 输入方式 运行 worker,不会启动该服务)。 - 删除与 agentx 预设相同的客户端参数(warmup grace 1800 秒、失败请求阈值 0.10、TCP user timeout 900000 毫秒)。 - 分离式角色使用 Mooncake,删除 NIXL/UCX 环境变量。 - 将分离式 prefill 的 HiCache 声明为 DRAM KV offload,使结果记录 kv-offloading 为 dram、后端为 hicache。 - 说明 Tachometer 与生命周期 OTel collector 保持关闭的原因,并删除来源说明注释。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…00-dynamo-sglang-1015 # Conflicts: # inferencex-e2e/perf-changelog.yaml
|
[by Claude Code] I've started babysitting the pipeline of this PR. I'll keep monitoring it until it passes. If a job fails, I may rerun it when the cause is infrastructure, or push a fix or a merge of the latest |
|
View unofficial run (performance): https://inferencex.semianalysis.com/inference?unofficialRun=38911006463 View unofficial run (accuracy): https://inferencex.semianalysis.com/evaluation?unofficialRun=38911006463 |
|
[by Claude Code] The SGLang cookbook integration of this PR's AgentX configs ( This PR has no authorized |
|
[by Claude Code] sgl-project/sglang#45111 has been merged. This PR's AgentX configs ( This PR has no authorized |
|
/use 38911006463 |
|
@nvpohanh staged run 38911006463. This run remains available across future |
|
As a PR reviewer and CODEOWNER, I have reviewed this and have:
Additional detail section:
Signed: |
✅✅✅ Verdict: PASS ✅✅✅Passed and not applicable checks✅ Check 0 (CODEOWNER): PASS — ✅ Check 1 (Passing sweep on in-PR commit): PASS — Run Sweep 38911006463 ( ✅ Check 2 (Evals): PASS — ✅ Check 3 (Upstream recipe): PASS — sgl-project/sglang#45111 is MERGED (2026-10-19T07:24:09Z, ✅ Check 4 (Reuse command): PASS — ✅ Check 5 (Latest checklist template): PASS — every item of the current template, including the Dynamo metrics, draft-precision, append-only and Pareto items, is present and checked. ✅ Check 6 (Upstream images / engine ordering): PASS — both entries are ✅ Check 7 (Deprecated models/scenarios): PASS — ✅ Check 8 (Architecture hacks): PASS — the diff adds no ✅ Check 9 (Spec-decode chat template): PASS — AgentX replay drives the Dynamo chat endpoint, and the recipes send ✅ Check 10 (Engine patches): PASS — no patch files, ✅ Check 11 (Agentic golden AL): PASS — ➖ Check 12 (Append-only): N/A — the new ✅ Check 13 (Draft precision): PASS — the bundled DSpark head of ✅ Check 14 (Pareto coverage): PASS — there is one curve, ✅ Check 15 (PR description): PASS — the image/digest, Dynamo 1.6.0.dev20261014, topologies, concurrencies, node counts (7 and 8), HiCache ratios 1.02/1.1, 24/40 requests per decode rank and the srt-slurm v2.59.1 pin all match the code at ✅ Check 16 (NVIDIA overview): PASS — the NVIDIA overview Framework Recipes table lists DeepSeek-V4.1-Flash with SGLang ✅, linking to the DeepSeek-V4.1 cookbook page. ➖ Check 17 (Dynamo metrics): N/A — both configs are Assessed commit: |
Oseltamivir
left a comment
There was a problem hiding this comment.
lgtm, swa-bounded-replay
…20 nightly The 20261020 image (ab580b2e, ai-dynamo 1.6.0.dev20261019) contains sgl-project/sglang#44580 and #45062, so the setup script now applies only the external linker pools patch (#44623). Add the #4303 changelog entry on top of the merged #4180 entry.
…20 nightly The 20261020 image (ab580b2e, ai-dynamo 1.6.0.dev20261019) contains sgl-project/sglang#44580 and #45062, so the setup script now applies only the external linker pools patch (#44623). Add the #4303 changelog entry on top of the merged #4180 entry.
…nd routing / [NVIDIA][AgentX] 更新 GB300 DSV4.1-Flash 分离式拓扑、缓存与路由 (#4303) * feat(agentx): GB300 DSV4.1-Flash Dynamo+SGLang disagg on the 20261019 nightly with the Mooncake linker Move dsv41flash-fp4-gb300-dynamo-sglang-agentic-dspark-disagg to lmsysorg/sglang:nightly-dev-cu13-20261019-3c560089 (multiarch digest pinned) and the ai-dynamo 1.6.0.dev20261018 it ships, with the ZMQ event plane and no NATS service. - c1228 keeps 4x DEP2 prefill + 1x DEP16 decode; c2884 moves from 6 to 5 DEP2 prefill workers (3 prefill nodes, 26 GPUs) and caps prefill batches at 32768 tokens. - Both roles use the flashmla_mega attention backend, local DP control broadcast and the Mooncake external cache linker with a Mooncake master service (high watermark 0.90, client TTL 60 s, 64 RPC threads). The linker replaces prefill HiCache, so the master rows declare Mooncake 0.3.13.post1 as the KV offload backend. - Decode adds late admission, stream interval 32, polling interval 8, 2048 SWA prefix tails and decoder SWA bounded replay; the NCCL DP-batch sync env is dropped because the image exchanges MLP sync rows with gloo gather + broadcast (sgl-project/sglang#44622). - A setup script applies four SGLang patches the image lacks, with git apply under a lock, idempotently, failing on any hunk that does not apply: sgl-project/sglang#44623 (open), #44580 (merged as 834bfe4ef0), #45062 (merged as 06342acad2) and decode late admission (weireweire/sglang@407e912a1e). - Revise this PR's changelog entry to the final state. 中文:将 dsv41flash-fp4-gb300-dynamo-sglang-agentic-dspark-disagg 迁移到 lmsysorg/sglang:nightly-dev-cu13-20261019-3c560089(固定 multiarch digest)及镜像自带的 ai-dynamo 1.6.0.dev20261018,使用 ZMQ event plane, 不再启动 NATS 服务。 - c1228 保持 4 个 DEP2 prefill + 1 个 DEP16 decode;c2884 的 DEP2 prefill 由 6 个减为 5 个(3 个 prefill 节点,共 26 个 GPU),并将 prefill 批次 上限设为 32768 token。 - 两个角色均使用 flashmla_mega attention 后端、本地 DP control broadcast 和 Mooncake external cache linker,并启动 Mooncake master 服务(高水位 0.90,client TTL 60 秒,64 个 RPC 线程)。linker 取代了 prefill HiCache,因此 master 配置将 KV offload 后端声明为 Mooncake 0.3.13.post1。 - Decode 新增 late admission、stream interval 32、polling interval 8、 2048 SWA prefix tails 与 decoder SWA bounded replay;镜像已通过 gloo gather + broadcast 交换 MLP 同步数据(sgl-project/sglang#44622),因此 删除 NCCL DP batch 同步环境变量。 - 新增 setup 脚本,在锁保护下用 git apply 幂等地应用镜像缺少的四个 SGLang 补丁,任一 hunk 无法应用即失败:sgl-project/sglang#44623(未合并)、 #44580(已合并为 834bfe4ef0)、#45062(已合并为 06342acad2)以及 decode late admission(weireweire/sglang@407e912a1e)。 - 将本 PR 的 changelog 条目更新为最终状态。 * fix(agentx): drop decode late admission from the GB300 DSV4.1-Flash disagg points A same-time A/B on the 20261019 nightly showed no effect from decode late admission: P90 interactivity 230/232 without it and 230/228 with it at c1228. The image already exchanges the scheduler's MLP sync rows with gloo gather + broadcast (sgl-project/sglang#44622) and avoids blocking Engram history copies during PD admission (#44787). Remove the patch, its setup script entry and SGLANG_ENABLE_DISAGG_DECODE_LATE_ADMISSION. 中文:在 20261019 nightly 上的同时段 A/B 显示 decode late admission 没有 效果:c1228 下关闭时 P90 interactivity 为 230/232,开启时为 230/228。镜像 已通过 gloo gather + broadcast 交换调度器的 MLP 同步数据 (sgl-project/sglang#44622),并避免了 PD admission 期间阻塞的 Engram 历史拷贝(#44787)。因此删除该补丁、setup 脚本中的对应条目以及 SGLANG_ENABLE_DISAGG_DECODE_LATE_ADMISSION。 * feat(agentx): move the GB300 DSV4.1-Flash disagg points to the 20261020 nightly The 20261020 image (ab580b2e, ai-dynamo 1.6.0.dev20261019) contains sgl-project/sglang#44580 and #45062, so the setup script now applies only the external linker pools patch (#44623). Add the #4303 changelog entry on top of the merged #4180 entry. * feat(agentx): run GB300 DSV4.1-Flash disagg c1228 at 3P1D and add c4096 at 7P1D With the Mooncake linker, three DEP2 prefill workers keep up at c1228 (364.5k/362.1k vs 336.7k tok/s/GPU at 4P1D, same interactivity). Add c4096 with seven DEP2 prefill workers and 64 requests per decode rank (630.1k tok/s/GPU, P90 137 tok/s/user). Both decode roles use a 140gb Mooncake segment. * perf(agentx): update DSV4.1 disagg to patch-free October 21 nightly Root cause: the previous image needed an external-linker patch and the submitted recipe omitted supported routing and worker settings used locally. Fix: pin the October 21 public image, remove the linker patch and setup script, enable per-role routing, total-token balancing, worker fastokens and BF16 decode index logits, and use eight DEP2 prefill workers at c4096 within the same four prefill nodes. Update only the disaggregated matrix and changelog. Validation: the repository matrix generator resolves all three points with 3600-second measurements and evaluation enabled. The exact new image/config combination has not yet completed a performance sweep or native evaluation. 原因:旧镜像需要外部缓存 linker 补丁,提交配置也未包含本地使用的部分原生配置项。 修复:固定 10 月 21 日公开镜像,删除补丁,补齐路由、负载均衡、tokenizer 和 decode index logits 配置;c4096 在原有四个 prefill 节点使用八个 DEP2 worker。 验证:三个配置点均通过矩阵生成,保留 3600 秒测量和 eval;新版完整组合尚未实跑。 * config: remove unused HiCache write policy from DSV4.1 linker recipe * fix: restore decode metrics in DSV4.1 disagg recipes Root cause: prefill-only Prometheus counters were treated as deployment totals, preventing record-based token fallback and omitting decode KV metrics. Fix: enable SGLang metrics on decode for all three disaggregated variants. Validation: Ruff check and format checks passed; perf-changelog matrix validation passed. Full GPU sweep remains pending. 原因:仅 prefill 导出指标会使汇总缺少 decode 数据。修复:为三个 disagg 配置恢复 decode metrics。校验:Ruff 和 changelog 矩阵检查通过,GPU sweep 尚待验证。 * fix: backport KV-event port range correction for disagg runs Root cause: the launcher can assign port 5252 to a decode publisher, colliding with node monitoring listeners and aborting performance/eval startup. Fix: backport NVIDIA/srt-slurm#617 to allocate KV-event blocks from 3000. The SGLang image and serving parameters are unchanged. Validation: patch applies cleanly to the pinned srt-slurm revision; Ruff checks pass. 修复 KV-event 端口与节点监控监听端口冲突,回移 srt-slurm #617;保持镜像及模型参数不变。 * docs: keep the launcher port backport minimal Retain only the port-base change and concise public descriptions. 简化端口补丁及说明。 * config: disable unused decode KV events and drop port backport Round-robin decode routing does not consume KV events. Disable the decode publisher while retaining prefill events and metrics on both roles, and remove the srt-slurm #617 backport from this submission. Validation: all three bound variants retain prefill events, omit decode events and retain metrics; Ruff and changelog checks pass. 关闭轮询解码侧的 KV-event 发布,保留预填充事件和双方指标,并移除端口补丁。 * ci: Include unchanged GB300 DSV4.1 aggregated points in sweep 将现有 TP4 c1/c4/c16 和 TP2 c16 纳入本 PR 的 sweep 与 eval 选点,覆盖低延迟区间;保留原有 agg 配置及镜像。矩阵校验生成 7 个性能点和 5 个 eval,Ruff 检查通过。 --------- Co-authored-by: weireweire <20922698+weireweire@users.noreply.github.com> Co-authored-by: Cam Quilici <cjquilici@gmail.com>
Moves the GB300 DeepSeek-V4.1-Flash Dynamo + SGLang lane to
lmsysorg/sglang:nightly-dev-cu13-20261015-a6a8c560(multiarch digest pinned) and runs the ai-dynamo1.6.0.dev20261014that the image ships (dynamo.install: false, TCP request plane). It replaces the aggregated points, adds DEP2/DEP16 disaggregated points under a new key, and removes the TP2/EP2 1PxD disaggregated points.dsv41flash-fp4-gb300-dynamo-sglang-agentic-aggdsv41flash-fp4-gb300-dynamo-sglang-agentic-dspark-disagg(new)dsv41flash-fp4-gb300-sglang-agentic-dspark([AgentX] GB300 DSV4.1 Flash SGLang: 20261014 nightly, fastokens, DEP2 bounded replay and c160, TP4 c1 single admission / [AgentX] GB300 DSV4.1 Flash SGLang:升级 20261014 nightly、启用 fastokens、DEP2 开 bounded replay 并新增 c160、TP4 c1 单请求准入 #4033). The Dynamo frontend tokenizes with fastokens, so SGLang'stokenizer-backendandtokenizer-worker-numare dropped, as are env settings that restate this image's defaults or only configure SGLang's own HTTP server.thinking=true,reasoning_effort=highandtemperature=1with every request. Synthetic acceptance uses the golden thinking-on AL of 3.51 at DSpark block size 5 on every role.dsv41flash-fp4-gb300-dynamo-sglang-agentic-disagg(six TP2/EP2 1PxD points, c16 to c256, on the 20260928 image) and its recipe overrides.中文
将 GB300 DeepSeek-V4.1-Flash Dynamo + SGLang 配置迁移到
lmsysorg/sglang:nightly-dev-cu13-20261015-a6a8c560(固定 multiarch digest),并直接使用镜像自带的 ai-dynamo1.6.0.dev20261014(dynamo.install: false,TCP request plane)。本 PR 替换聚合模式的配置点,在新的 config key 下新增 DEP2/DEP16 分离式配置点,并移除 TP2/EP2 1PxD 分离式配置点。dsv41flash-fp4-gb300-dynamo-sglang-agentic-agg(每个点 1 个节点):dsv41flash-fp4-gb300-dynamo-sglang-agentic-dspark-disagg(新增):dsv41flash-fp4-gb300-sglang-agentic-dspark中对应的独立 SGLang 配置点([AgentX] GB300 DSV4.1 Flash SGLang: 20261014 nightly, fastokens, DEP2 bounded replay and c160, TP4 c1 single admission / [AgentX] GB300 DSV4.1 Flash SGLang:升级 20261014 nightly、启用 fastokens、DEP2 开 bounded replay 并新增 c160、TP4 c1 单请求准入 #4033)。分词由 Dynamo 前端使用 fastokens 完成,因此去掉 SGLang 的tokenizer-backend与tokenizer-worker-num,并去掉与镜像默认值相同或仅作用于 SGLang 自身 HTTP 服务的环境变量。thinking=true、reasoning_effort=high与temperature=1。所有角色的模拟接受长度均采用 DSpark block size 5 下 thinking-on 的 golden AL 3.51。dsv41flash-fp4-gb300-dynamo-sglang-agentic-disagg(基于 20260928 镜像的六个 TP2/EP2 1PxD 配置点,c16 至 c256)及其 recipe override。AI model disclosure
claude-opus-5-5), via Claude Code.🤖 Generated with Claude Code