Skip to content

feat: add DSV4 FP4 B300 Dynamo-SGLang STP configuration / 新增 DSV4 B300 Dynamo-SGLang STP 配置 - #2362

Merged
Ankur-singh merged 10 commits into
mainfrom
dsv4-fp4-b300-dynamo-sglang
Jul 30, 2026
Merged

feat: add DSV4 FP4 B300 Dynamo-SGLang STP configuration / 新增 DSV4 B300 Dynamo-SGLang STP 配置#2362
Ankur-singh merged 10 commits into
mainfrom
dsv4-fp4-b300-dynamo-sglang

Conversation

@RohitNagraj

@RohitNagraj RohitNagraj commented Jul 27, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add a DSV4 B300 disaggregated Dynamo-SGLang STP configuration for 8K input and 1K output across five operating points
  • use the stock deepseek-ai/DeepSeek-V4-Pro checkpoint staged at /scratch/models/DeepSeek-V4-Pro
  • clone NVIDIA/srt-slurm from main, pin commit c180328b98c3793ca84a1e24a030f90545eb7d5d, and overlay five recipes checked into this repository
  • keep use_chat_template: false for STP inputs and set UCX_TLS=cuda_copy,rc without a UCX_NET_DEVICES allowlist
  • keep --no-preflight scoped to the compute-node-local /scratch/models path
  • track the corresponding srt-slurm contribution in NVIDIA/srt-slurm#281; this configuration does not fetch that pull request branch, and can switch to the recipes on main after it is merged

中文说明

  • 新增 DSV4 B300 分离式 Dynamo-SGLang STP 配置,覆盖 8K 输入、1K 输出和五个运行点
  • 使用标准 deepseek-ai/DeepSeek-V4-Pro 检查点,节点本地路径为 /scratch/models/DeepSeek-V4-Pro
  • main 克隆 NVIDIA/srt-slurm,固定到提交 c180328b98c3793ca84a1e24a030f90545eb7d5d,并覆盖本仓库内置的五个 recipe
  • STP 输入保持 use_chat_template: false,设置 UCX_TLS=cuda_copy,rc,且不添加 UCX_NET_DEVICES 白名单
  • 仅对计算节点本地的 /scratch/models 路径启用 --no-preflight
  • 对应的 srt-slurm 变更见 NVIDIA/srt-slurm#281;当前配置不会获取该 PR 分支,待其合并后可改用 main 中的 recipe

中文:新增 DSV4 FP4 B300 Dynamo-SGLang STP 配置,并接入共享 srt-slurm 配方矩阵。
@github-actions

Copy link
Copy Markdown
Contributor

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 As a PR reviewer and CODEOWNER, I have reviewed this and have.

For PR verification, add the full-sweep-fail-fast label (strongly recommended) to this PR — the benchmark sweep only runs on labeled PRs. Use full-sweep-enabled only if you need matrix jobs to keep running past a failure.

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 模板,包括保留英文语句 As a PR reviewer and CODEOWNER, I have reviewed this and have

如需进行 PR 验证,请为此 PR 添加 full-sweep-fail-fast 标签(强烈推荐)— 基准测试 sweep 仅在带有标签的 PR 上运行。仅当需要矩阵任务在失败后继续运行时才使用 full-sweep-enabled

PR 作者有责任确保合并后所有 GitHub Action 任务完全通过。 很多时候失败只是偶发抖动(flake),重新运行失败的任务即可解决。参见 GitHub 关于重新运行失败任务的文档

中文:将性能变更日志链接更新为 #2362
Comment thread runners/launch_b300-nv.sh
中文:将 B300 DSV4 Dynamo-SGLang 配置指向服务器上预置的 DeepSeek-V4-Pro-NVFP4 模型路径。
固定 srt-slurm 配方版本,确保 DSV4 B300 Dynamo-SGLang 运行使用可复现的配置。
@github-actions

Copy link
Copy Markdown
Contributor

1 similar comment
@github-actions

Copy link
Copy Markdown
Contributor

修复(dsv4):固定包含 UCX CUDA 传输配置的 srt-slurm 版本。
中文:将当前 main 合并到 DSV4 SGLang STP 配置分支。
@github-actions

Copy link
Copy Markdown
Contributor

Use the stock DeepSeek-V4-Pro FP4 checkpoint, correct recipe labeling, and pin the srt-slurm checkout.\n\n中文:使用标准 DeepSeek-V4-Pro FP4 检查点,修正配置标注,并固定 srt-slurm 版本。
@RohitNagraj RohitNagraj changed the title feat: add DSV4 FP4 B300 Dynamo-SGLang STP configuration / 新增 DSV4 FP4 B300 Dynamo-SGLang STP 配置 feat: add DeepSeek-V4-Pro FP4 B300 Dynamo-SGLang STP configuration / 新增 DeepSeek-V4-Pro FP4 B300 Dynamo-SGLang STP 配置 Jul 29, 2026
Pin NVIDIA/srt-slurm main, overlay the checked-in recipes, and keep STP chat-template formatting disabled.

修复:固定 NVIDIA/srt-slurm main 提交,覆盖仓库内置配方,并保持 STP 聊天模板格式化关闭。
同步最新 main 分支,并将 DSV4 STP 变更日志条目保留在文件末尾。
@RohitNagraj RohitNagraj changed the title feat: add DeepSeek-V4-Pro FP4 B300 Dynamo-SGLang STP configuration / 新增 DeepSeek-V4-Pro FP4 B300 Dynamo-SGLang STP 配置 feat: add DSV4 B300 Dynamo-SGLang STP configuration / 新增 DSV4 B300 Dynamo-SGLang STP 配置 Jul 29, 2026
@RohitNagraj RohitNagraj changed the title feat: add DSV4 B300 Dynamo-SGLang STP configuration / 新增 DSV4 B300 Dynamo-SGLang STP 配置 feat: add DSV4 FP4 B300 Dynamo-SGLang STP configuration / 新增 DSV4 B300 Dynamo-SGLang STP 配置 Jul 29, 2026
@github-actions

Copy link
Copy Markdown
Contributor

@Ankur-singh

Copy link
Copy Markdown
Collaborator

/reuse-sweep-run 30431262611

@Ankur-singh

Copy link
Copy Markdown
Collaborator

As a PR reviewer and CODEOWNER, I have reviewed this and have:

  • Verified that as of the moment of typing this, this is the latest version of PR_REVIEW_CHECKLIST.md
  • Verified that the general code quality meets the InferenceX standard and does not make the code quality any worse.
  • Verified that this PR has passed PR validation. Please link to GitHub Action workflow that shows this. Run Sweep 30431262611
  • Verified that this PR passes evals. Please link to GitHub Action workflow that shows this. Run Sweep 30431262611
  • Verified that speculative decoding PRs uses chat templates to align the AL distribution to real world
  • For agentic workloads: verified that speculative-decoding configs (EAGLE / MTP / draft models) run with simulated synthetic acceptance, with the acceptance-length value taken from the committed golden AL curve in golden_al_distribution/ for that model, thinking mode, and draft length. A submission may choose any supported draft length, but it may not substitute a different acceptance target.
  • Verified that the model architecture isn't changed with benchmark hacks like using --hf-overrides to skipping indexer for every x layers on models that don't natively support this. As a general rule, we won't accept optimizations that reduces the number of model architecture FLOPs. Anything that makes that same computation run faster is fair game; FLOPs at lower precisions is fine, given that the config passes private evals. As an general north star princple, we should only use optimizations which is used in production by customers that care about accuracy
  • If an company claims that they support vLLM/SGLang as first class LLM inference engines on their hardware, I have verified that the respective vLLM submission made using upstream https://hub.docker.com/u/vllm docker repo, upstream SGLang https://hub.docker.com/u/lmsysorg docker repo. The only exceptions are for new hardware, such as MI455X UALoE72, Vera Rubin NVL72, Rubin NVL8, etc., and for new model architectures where there is an actual reason why vLLM/SGLang does not fundamentally support them yet as supported by vLLM/SGLang community maintainers
  • If an company claims that they support vLLM/SGLang as first class upstream in-tree LLM inference engines on their hardware, I have have verified that the respective vLLM/SGLang submission has been made before additional frameworks (TRT-LLM, ATOM, etc.). The only exceptions are for new hardware, such as MI455X UALoE72, Vera Rubin NVL72, Rubin NVL8, etc., and for new model architectures where there is an actual reason why vLLM/SGLang does not fundamentally support them yet.
  • Verified that every single-node vLLM/SGLang recipe in this PR is documented in the official vLLM recipes and/or the SGLang cookbook:
    • I linked the corresponding upstream PR in the vLLM recipe repo or SGLang repo and verified that it is MERGED before this InferenceX PR merges. An opened, draft, or closed-without-merge upstream PR does not satisfy this requirement. If the matching recipe was already published, I linked the published recipe/cookbook page in the additional detail section below.
  • Verified that this PR does not patch the inference engine or serving stack — the pinned image must run as shipped. This covers .patch files / git apply / patch, inline patches embedded in benchmark scripts (e.g. a python3/sed heredoc that rewrites installed engine sources before serving), in-place edits of site-packages, monkey-patching, overwriting container files, and installing forked/rebuilt engine wheels on top of the pinned image. The only exception is a patch covered by a filled-out waiver at docs/waiver/<PR_NUMBER>.md — named after the PR that introduces the patch and filed in that same PR, stating what is patched, why the unmodified upstream image cannot run this benchmark, the upstream PR/issue link, and the removal plan — which I have linked below in the additional detail section.
  • If any of the above criteria cannot reasonably be satisfied, I have provided additional reasoning below.

Additional detail section:

  • Exact-head evidence: Run Sweep 30431262611 passed all five applicable multi-node 8k1k benchmark jobs and all five corresponding non-skipped multi-node eval jobs on 73e47128354006ac935c5598935a5d21570b2aca.
  • Speculative-decoding and agentic acceptance criteria are not applicable: this is the STP configuration and introduces no speculative-decoding, EAGLE, MTP, draft-model, or agentic workload.
  • Single-node recipe publication criteria are not applicable: this PR adds only multi-node disaggregated SGLang recipes.
  • The submission uses the upstream lmsysorg/sglang:nightly-dev-cu13-20260721-8905cbd4 image, and SGLang is the submitted inference engine; no additional-framework ordering exception is needed.
  • The diff contains no inference-engine or serving-stack patch. The runner copies the checked-in recipes into pinned srt-slurm and edits only the recipe job name; it does not rewrite engine sources, site-packages, or container files and does not install a forked/rebuilt engine wheel. No waiver is required.

Signed: Ankur-singh

@Klaud-Cold

Copy link
Copy Markdown
Collaborator

✅✅✅ Verdict: PASS ✅✅✅

✅ Check 0 (CODEOWNER): PASS — Ankur-singh is a named owner of configs/nvidia-master.yaml in CODEOWNERS; the remaining paths fall under the catch-all, which a recognized CODEOWNER satisfies.
✅ Check 1 (passing sweep on in-PR commit): PASS — head 73e4712 carries run 30431262611 with all 5 multi-node 8k1k / and all 5 multi-node eval / check-runs success (executed, not skipped); single-node lanes skipped as N/A for this multi-node-only PR.
✅ Check 2 (evals pass): PASS — agg_eval_all.json from run 30431262611 shows gsm8k em_strict 0.964–0.968 (n_eff 1319) across all 5 operating points, on the PR's exact image lmsysorg/sglang:nightly-dev-cu13-20260721-8905cbd4.
➖ Check 3 (recipe link): N/A — disaggregated/multi-node submission (all recipes under benchmarks/multi_node/srt-slurm-recipes/**, entry has multinode: true + disagg: true); the recipe-link requirement applies to single-node recipes only.
✅ Check 4 (reuse command): PASS — /reuse-sweep-run 30431262611 posted by Ankur-singh (COLLABORATOR).
✅ Check 5 (latest checklist): PASS — every item of the current docs/PR_REVIEW_CHECKLIST.md template is present and checked.
✅ Check 6 (upstream image / engine-first): PASS — image is upstream lmsysorg/sglang:nightly-dev-cu13-20260721-8905cbd4; SGLang/vLLM entries for dsv4 on b300 already exist (dsv4-fp4-b300-sglang, dsv4-fp4-b300-vllm), so ordering is satisfied.
✅ Check 7 (no architecture hacks): PASS — no --hf-overrides/model-override args; FP4-activation env knobs are precision-only and evals pass.
➖ Check 8 (spec-decode chat template): N/A — no speculative-decoding changes in this PR.
✅ Check 9 (no engine patches): PASS — no patch files, heredoc rewrites, or engine wheel installs; the launcher sed only renames the checked-in recipe's job name, and the pinned dynamo install is the standard srt-slurm frontend setup, not a modification of the SGLang image.
➖ Check 10 (agentic golden AL): N/A — no agentic speculative-decoding changes; no simulated-acceptance knobs appear on these non-agentic configs.

@Ankur-singh

Copy link
Copy Markdown
Collaborator

/reuse-sweep-run

@Klaud-Cold

Copy link
Copy Markdown
Collaborator

✅✅✅ Verdict: PASS ✅✅✅

✅ Check 0 (CODEOWNER): PASS — Ankur-singh is a named owner of configs/nvidia-master.yaml; all other changed paths carry only the catch-all default, which a recognized CODEOWNER satisfies.
✅ Check 1 (passing sweep on in-PR commit): PASS — commit 73e47128 (currently in this PR) has all five multi-node 8k1k / and all five multi-node eval / check-runs green (executed, non-skipped) in run 30431262611.
✅ Check 2 (evals pass): PASS — agg_eval_all.json from that run has all five dsv4-fp4-b300-dynamo-sglang configs with GSM8K em_strict 0.964–0.968 (n_eff 1319), run on the same lmsysorg/sglang:nightly-dev-cu13-20260721-8905cbd4 image this PR pins.
➖ Check 3 (recipe link): N/A — disaggregated/multi-node submission (srt-slurm recipes, multinode: true/disagg: true, framework dynamo-sglang); the recipe-link requirement applies to single-node recipes only.
✅ Check 4 (reuse command): PASS — /reuse-sweep-run 30431262611 posted by Ankur-singh (COLLABORATOR).
✅ Check 5 (latest checklist): PASS — every item of the current docs/PR_REVIEW_CHECKLIST.md template is present and checked in the sign-off.
✅ Check 6 (upstream image / engine-first): PASS — image is upstream lmsysorg/sglang:nightly-dev-cu13-20260721-8905cbd4, and plain-SGLang entry dsv4-fp4-b300-sglang (same model, same b300 SKU) already exists, satisfying engine-first ordering for the dynamo variant.
✅ Check 7 (no architecture hacks): PASS — no --hf-overrides/model-override args; env knobs are precision/kernel/scheduler toggles (FP4 activations at passing evals), no FLOP removal.
➖ Check 8 (spec-decode chat template): N/A — no speculative-decoding changes in this PR.
✅ Check 9 (no engine patches): PASS — no patch files, heredoc rewrites, or engine-wheel installs; the launcher's sed edits only the checked-in recipe YAML's job name, and the pinned srt-slurm/dynamo checkout is the framework harness, not an engine modification.
➖ Check 10 (agentic golden AL): N/A — no agentic speculative-decoding configs; no synthetic-acceptance knobs appear on any config.

@Ankur-singh
Ankur-singh merged commit 6b6d4c8 into main Jul 30, 2026
28 checks passed
@Ankur-singh
Ankur-singh deleted the dsv4-fp4-b300-dynamo-sglang branch July 30, 2026 00:17
edwingao28 added a commit that referenced this pull request Aug 6, 2026
… gb300 dsv4 能耗配方镜像换成仍在线的 nightly

原 pin nightly-dev-cu13-20260520 已从 Docker Hub 过期删除(404),gb300 无 sqsh 缓存,lane 无法拉起。换成 B300 DSV4 家族(#2362/#2363)在用且仍在线的 nightly-dev-cu13-20260721-8905cbd4;仅动两个 power 点位,其余 gb300 dsv4 配方保持原 pin。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

Development

Successfully merging this pull request may close these issues.

4 participants