[ROCm] Keep GLM-5.2 on MRV1 and disable default breakable cudagraph - #53155
Conversation
|
/ci run |
|
✅ @Rohan138, CI is now available for this PR.
|
|
✅ Triggered Buildkite CI #85387 for commit |
|
Should revisit the perf numbers here after #53712, and maybe also let DSV4 go back on MRV2 |
|
/ci run |
|
/amd-ci run |
|
✅ Triggered Buildkite CI #85730 for commit |
|
✅ Triggered Buildkite AMD CI #12389 for commit |
|
This pull request has merge conflicts that must be resolved before it can be |
… cudagraph vLLM vllm-project#52861 routed the DSA architectures onto the non-compiled V2 model runner / breakable-cudagraph path, but GlmMoeDsaForCausalLM was left out of the ROCm carve-out, flipping GLM-5.2 to MRV2 + breakable cudagraphs and regressing batch-1 decode TPOT by ~30-37% on gfx950 (FP8 and MXFP4). Add GlmMoeDsaForCausalLM to ROCM_DEFAULT_MRV1_ARCHITECTURES so GLM-5.2 stays on the compiled MRV1 path, and default breakable cudagraphs off entirely on ROCm (they regress performance today); VLLM_USE_BREAKABLE_CUDAGRAPH=1 still forces them on. Signed-off-by: Rohan Potdar <rohan.potdar@amd.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
ee00634 to
d8602dd
Compare
|
/ci run |
|
/amd-ci retry |
|
✅ Triggered Buildkite CI #86044 for commit |
|
✅ No failed, timed-out, or expired jobs need retrying: https://buildkite.com/vllm/amd-ci/builds/12427 |
|
/ci retry |
|
/amd-ci retry |
|
✅ The previous CI build is still running: https://buildkite.com/vllm/ci/builds/86044 |
|
✅ No failed, timed-out, or expired jobs need retrying: https://buildkite.com/vllm/amd-ci/builds/12478 |
|
/ci run |
|
✅ Triggered Buildkite CI #86417 for commit |
|
/ci run |
|
✅ CI is already running for this commit: https://buildkite.com/vllm/ci/builds/86417 |
|
/amd-ci run |
|
✅ Triggered Buildkite AMD CI #12493 for commit |
…llm-project#53155) Signed-off-by: Rohan Potdar <rohan.potdar@amd.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
…llm-project#53155) Signed-off-by: Rohan Potdar <rohan.potdar@amd.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
…llm-project#53155) Signed-off-by: Rohan Potdar <rohan.potdar@amd.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
…llm-project#53155) Signed-off-by: Rohan Potdar <rohan.potdar@amd.com> Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com> (cherry picked from commit ce2e343)
[ROCm] Keep GLM-5.2 on MRV1 and disable default breakable cudagraph
Purpose
#52861 routed the DSA models to the V2 model runner (MRV2) and breakable CUDA
graphs. On ROCm it excluded
DeepseekV32ForCausalLM/DeepseekV4ForCausalLMfrom MRV2 (the
TODO(rocm)notes these are "unsupported by MRV2 or slower withMRV2 on AMD GPUs") but missed
GlmMoeDsaForCausalLM. GLM-5.2 (both FP8 andMXFP4) thus became the only DSA model defaulting to MRV2 + breakable cudagraph on
ROCm, which regresses decode latency on gfx950 (MI355X) by ~30–37% TPOT at
batch 1 in nightly perf-eval.
This PR, ROCm-only:
GlmMoeDsaForCausalLMto the MRV2 exclusion so GLM-5.2 stays on thecompiled MRV1 path like the other DSA models;
currently regresses performance. Opt-in via
VLLM_USE_BREAKABLE_CUDAGRAPH=1is unchanged.
No effect on non-ROCm platforms.
Not a duplicate
gh pr list --repo vllm-project/vllm --state open --search "52861 in:body"and asearch for the GLM/ROCm model-runner area returned no open PR addressing this;
the only related open PR (#41834) is NVIDIA SM12x DeepSeek-V4 enablement.
Perf results
GLM-5.2-MXFP4, gfx950 (MI355X), TP8,
--load-format dummy, in/out 1024,vllm bench serve --dataset-name random --max-concurrency 1 --num-prompts 10 --ignore-eos(warmup pass discarded), median TPOT:VLLM_USE_BREAKABLE_CUDAGRAPH=0only (still MRV2)Decomposition: MRV2 accounts for ~3.0 ms of the ~4.3 ms regression and breakable
cudagraph for ~1.2 ms, so both changes are needed to fully recover; disabling
breakable alone (env workaround) leaves ~23% on the table.
Testing
Using V2 Model Runner/Breakable CUDA graph enabledstartup logs are absent with this PR.tests/test_config.pycovers the ROCm MRV2 / breakable defaults; thesubmitter should run
pytest tests/test_config.py -k "rocm or dsa or breakable"in a built env (not runnable in the perf container used here).
AI assistance
This change was prepared with AI assistance (Claude) and reviewed by the
submitter.