Skip to content

[NV] add glm5-fp4-gb200-dynamo-sglang / 新增 GLM-5 NVFP4 GB200 Dynamo SGLang 分离式基准测试 - #1780

Merged
adibarra merged 16 commits into
mainfrom
nv/gl5-gb200-fp4-v2
Jul 8, 2026
Merged

[NV] add glm5-fp4-gb200-dynamo-sglang / 新增 GLM-5 NVFP4 GB200 Dynamo SGLang 分离式基准测试#1780
adibarra merged 16 commits into
mainfrom
nv/gl5-gb200-fp4-v2

Conversation

@hshrivastava-droid

@hshrivastava-droid hshrivastava-droid commented Jun 15, 2026

Copy link
Copy Markdown
Collaborator

Note

Low Risk
Benchmark and CI launcher/config only; no application runtime or auth changes. Main review surface is recipe/topology correctness and cluster resource assumptions.

Overview
Adds GLM-5 NVFP4 disaggregated Dynamo + SGLang benchmark coverage on GB200, mirroring the existing GB300 glm5 entry pattern.

nvidia-master.yaml introduces glm5-fp4-gb200-dynamo-sglang with fixed-seq-len scenarios for 8k1k and 1k1k: wide-EP decode (TP=32) max-throughput topologies (4p–10p prefill variants) and per-node TP=4 low-latency decode workers, each wired to a concrete CONFIG_FILE under recipes/sglang/glm5/gb200-fp4/.

New srt-slurm recipe YAMLs (ported from upstream gb200-fp4/glm5.yaml, one file per topology) live under benchmarks/multi_node/srt-slurm-recipes/sglang/glm5/gb200-fp4/ with Slurm resources, Dynamo frontend, nixl disagg, and tuned sglang_config / sa-bench concurrency per recipe.

runners/launch_gb200-nv.sh maps glm5 + fp4 to lustre GLM-5-NVFP4 and overlays the glm5 recipe tree onto NVIDIA/srt-slurm (sa-submission-q2-2026). perf-changelog.yaml documents the new config key.

Reviewed by Cursor Bugbot for commit ba74df2. Bugbot is set up for automated code reviews on this repo. Configure here.

中文说明

新增 GLM-5 NVFP4 在 GB200 上通过 Dynamo + SGLang 的分离式多节点基准测试配置,与现有 GB300 配置模式一致。在 nvidia-master.yaml 中添加 glm5-fp4-gb200-dynamo-sglang 条目,覆盖 8k1k 和 1k1k 的定长序列场景,包括宽 EP 高吞吐拓扑和单节点 TP=4 低延迟解码。新增 srt-slurm 配方文件,更新 launch_gb200-nv.sh 启动脚本和 perf-changelog.yaml

Comment thread configs/nvidia-master.yaml
@github-actions

Copy link
Copy Markdown
Contributor

@cursor cursor Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Fix All in Cursor

❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.

Reviewed by Cursor Bugbot for commit aa5f207. Configure here.

Comment thread runners/launch_gb200-nv.sh
@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

4 similar comments
@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

@github-actions

Copy link
Copy Markdown
Contributor

# Conflicts:
#	.github/configs/nvidia-master.yaml
#	perf-changelog.yaml
@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

@functionstackx functionstackx changed the title [WIP][NV] add glm5-fp4-gb200-dynamo-sglang [WIP][NV] add glm5-fp4-gb200-dynamo-sglang / 新增 GLM-5 NVFP4 GB200 Dynamo SGLang 分离式基准测试 Jul 4, 2026
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

2 similar comments
@github-actions

github-actions Bot commented Jul 7, 2026

Copy link
Copy Markdown
Contributor

@github-actions

github-actions Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

@Ankur-singh

Copy link
Copy Markdown
Collaborator

/reuse-sweep-run

@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. Link
  • Verified that this PR passes evals. Please link to GitHub Action workflow that shows this. Link
  • Verified that speculative decoding PRs uses chat templates to align the AL distribution to real world
  • 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 the single-node recipes are similar to the official vLLM recipes and/or theSGLang cookbook:
    • If they are not, I have verified that a PR has been opened in vLLM recipe repo or SGLang repo and linked it 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:

  • This is a Dis-agg submission, no recipe update required.

Signed: ankur-singh

@Ankur-singh Ankur-singh changed the title [WIP][NV] add glm5-fp4-gb200-dynamo-sglang / 新增 GLM-5 NVFP4 GB200 Dynamo SGLang 分离式基准测试 [NV] add glm5-fp4-gb200-dynamo-sglang / 新增 GLM-5 NVFP4 GB200 Dynamo SGLang 分离式基准测试 Jul 8, 2026
@Klaud-Cold

Copy link
Copy Markdown
Collaborator

✅✅✅ Verdict: PASS ✅✅✅

✅ Check 0 (CODEOWNER): PASS — @Ankur-singh is a listed owner of configs/nvidia-master.yaml (.github/CODEOWNERS); remaining paths carry only the @InferenceX/core catch-all, covered by a recognized CODEOWNER.
✅ Check 1 (sweep on in-PR commit): PASS — head commit 4b390d3c has all multi-node 1k1k /, multi-node 8k1k / and multi-node eval / check-runs green (executed, not skipped) in run 28828457171; bare single-node */ / eval / skips are the empty single-node lane for this multi-node PR.
✅ Check 2 (evals pass): PASS — run 28828457171 artifacts show GSM8K em_strict 0.936–0.949 (n_eff 1319) across all 10 disagg lanes, above the 0.92 glm5 bar in utils/evals/validate_scores.py, on lmsysorg/sglang:v0.5.11-cu130 matching this PR's config image.
➖ Check 3 (recipe link): N/A — disaggregated/multi-node submission (all benchmark files under benchmarks/multi_node/srt-slurm-recipes/**, entry has 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 posted by Ankur-singh (COLLABORATOR).
✅ Check 5 (latest template): PASS — every current-template item present; the single unchecked item (single-node recipe link) is explained in the additional detail section as a disagg submission.
✅ Check 6 (upstream image / engine-first): PASS — image is upstream lmsysorg/sglang:v0.5.11-cu130, and an SGLang-engine entry for the same model+SKU already exists (glm5-fp8-gb200-dynamo-sglang, model-prefix glm5.1, runner gb200).
✅ Check 7 (no architecture hacks): PASS — no --hf-overrides/model-override args; added server args are quantization (modelopt_fp4), kv-cache dtype, and kernel-backend selection only.
➖ Check 8 (spec-decode chat template): N/A — no speculative decoding in this PR (STP / no-MTP, spec_decoding: none).

adibarra
adibarra previously approved these changes Jul 8, 2026
# Conflicts:
#	perf-changelog.yaml
@adibarra
adibarra dismissed their stale review July 8, 2026 06:48

pending review

@adibarra
adibarra merged commit c57f1e6 into main Jul 8, 2026
25 checks passed
@adibarra
adibarra deleted the nv/gl5-gb200-fp4-v2 branch July 8, 2026 14:25
adibarra added a commit that referenced this pull request Jul 8, 2026
…LM-5.1 NVFP4 GB200 分离式 dynamo-sglang MTP 配置 (#2115)

* Add glm5-fp4-gb200-dynamo-sglang-mtp config

* Update perf-changelog pr-link for #2115

* Pass full CONFIG_FILE selector to srtctl in launch_gb200-nv.sh

* Point gb200 MTP config at GLM-5.1 NVFP4 weights

* Use glm5.1 model-prefix for gb200 MTP config (match PR #1780)

* Align gb200 recipe model.container with image string; drop launcher alias

---------

Co-authored-by: adibarra <93070681+adibarra@users.noreply.github.com>
adibarra pushed a commit that referenced this pull request Jul 8, 2026
…LM-5.1 NVFP4 GB300 分离式 dynamo-sglang MTP 配置 (#2114)

* Add glm5-fp4-gb300-dynamo-sglang-mtp config

* Update perf-changelog pr-link for #2114

* Strip zip_override selector before name-override sed in launch_gb300-nv.sh

* Point gb300 MTP config at GLM-5.1 NVFP4 weights

* Use glm5.1 model-prefix for gb300 MTP config (match PR #1780 convention)

* Skip srtctl preflight for gb300 glm5.1 (weights on compute-only /scratch)
hshrivastava-droid added a commit that referenced this pull request Jul 8, 2026
…runtime

Ports the 23 STP recipes (13 ISL1K_OSL1K + 10 ISL8K_OSL1K) from
NVIDIA/srt-slurm sa-submission-q2-2026 into
benchmarks/multi_node/srt-slurm-recipes/GLM5/... so that the version
consumed by the sweep is pinned to this PR rather than tracking upstream
drift. Mirrors the same overlay convention PR #1780 used for the
dynamo-sglang GLM5.1 recipes.

launch_gb200-nv.sh adds `mkdir -p recipes/GLM5 && cp -rT ...` to the
existing glm5.1 dynamo-trt clone case so the local tree overrides the
upstream copy in the srt-slurm checkout before srtctl reads any recipe.
cquil11 added a commit that referenced this pull request Jul 15, 2026
…增 GLM-5 NVFP4 GB200 分离式 Dynamo TRT-LLM STP 基准测试 (#1803)

* Add GLM-5.1 NVFP4 GB200 disaggregated TRT-LLM benchmarks via Dynamo (non-MTP)

Adds `glm5-fp4-gb200-dynamo-trt` covering 13 ISL1K/OSL1K + 10 ISL8K/OSL1K STP
recipes from NVIDIA/srt-slurm `sa-submission-q2-2026` under
`recipes/GLM5/disagg/trtllm_dynamo/gb200_nvfp4/{ISL1K_OSL1K,ISL8K_OSL1K}/STP`.

Model naming aligned with the GLM-5.1 convention already used by the GB200
dynamo-sglang entry: `model: nvidia/GLM-5.1-NVFP4`, `model-prefix: glm5.1`,
`MODEL_PATH=/mnt/lustre01/models/GLM-5.1-NVFP4`. `SRT_SLURM_MODEL_PREFIX`
matches the upstream recipe's `model.path` alias (`nvidia/GLM-5-NVFP4`).
`launch_gb200-nv.sh` gains a `glm5.1 + fp4` case in the dynamo-trt
dispatch block and a matching srt-slurm clone entry.

* Check in GLM5 trtllm_dynamo GB200 NVFP4 recipes locally + overlay at runtime

Ports the 23 STP recipes (13 ISL1K_OSL1K + 10 ISL8K_OSL1K) from
NVIDIA/srt-slurm sa-submission-q2-2026 into
benchmarks/multi_node/srt-slurm-recipes/GLM5/... so that the version
consumed by the sweep is pinned to this PR rather than tracking upstream
drift. Mirrors the same overlay convention PR #1780 used for the
dynamo-sglang GLM5.1 recipes.

launch_gb200-nv.sh adds `mkdir -p recipes/GLM5 && cp -rT ...` to the
existing glm5.1 dynamo-trt clone case so the local tree overrides the
upstream copy in the srt-slurm checkout before srtctl reads any recipe.

* Switch glm5-fp4-gb200-dynamo-trt from GLM-5.1 to GLM-5

- nvidia-master.yaml: model nvidia/GLM-5-NVFP4, model-prefix glm5
- launch_gb200-nv.sh: dynamo-trt glm5/fp4 case uses
  MODEL_PATH=/home/sa-shared/glm-model/GLM-5-NVFP4,
  SERVED_MODEL_NAME=glm-5-nvfp4; matching srt-slurm overlay branch
  keyed on MODEL_PREFIX=glm5
- perf-changelog: describe as GLM-5 with the new model path

* Point glm5-fp4-gb200-dynamo-trt MODEL_PATH at Lustre

Prior /home/sa-shared path was not present on the watchtower login node
(the launcher's model-path pre-check surfaced FileNotFoundError immediately).
Move MODEL_PATH to /mnt/lustre01/slurm-shared/glm-model/GLM-5-NVFP4, which
is on Lustre and cross-mounted to every watchtower compute node.

* Pin srt-slurm to v1.0.17 + adopt recipes/trtllm/glm5 overlay layout

- Rename benchmarks/multi_node/srt-slurm-recipes/GLM5/disagg/trtllm_dynamo/
  gb200_nvfp4/** -> benchmarks/multi_node/srt-slurm-recipes/trtllm/glm5/... .
- launch_gb200-nv.sh dynamo-trt+glm5 branch: git checkout v1.0.17,
  mkdir -p recipes/trtllm/glm5, cp -rT src/dst updated.
- configs/nvidia-master.yaml: 23 CONFIG_FILE= paths under
  glm5-fp4-gb200-dynamo-trt retargeted to recipes/trtllm/glm5/... ;
  matching doc-URL comments repointed at v1.0.17.
- perf-changelog: PR 1803 description updated to v1.0.17 + new overlay path.

gb300 sibling entries (recipes/GLM5/.../gb300_nvfp4/**) intentionally
untouched — separate PR.

* fix: bump srt-slurm pin from v1.0.17 to v1.0.26

Picks up NVIDIA/srt-slurm#261, which sets the dynamo.trtllm
publish_events + metrics flags to false by default. Applies the
bump in three places: the git checkout in launch_gb200-nv.sh, the
23 source-URL comments in configs/nvidia-master.yaml, and the
perf-changelog description bullets for glm5-fp4-gb200-dynamo-trt.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>

* Update perf-changelog.yaml

* fix(config): declare NIXL for GLM-5 disaggregation

Set the top-level kv-p2p-transfer field required by disaggregated matrix validation. The TRT-LLM recipes retain UCX as their internal cache transceiver backend.\n\n中文:为 GLM-5 分离式配置声明顶层 NIXL KV 传输方式,以满足矩阵校验要求;TRT-LLM recipe 继续使用 UCX 作为内部缓存传输后端。

* Update perf-changelog.yaml

---------

Co-authored-by: hshrivastava-droid <hshrivastava@nvidia.com>
Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Co-authored-by: Cameron Quilici <cjquilici@gmail.com>
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