[Bugfix][ROCm] Stop running shared experts on the aux stream - #52010
Closed
stefankoncarevic wants to merge 2 commits into
Closed
stefankoncarevic wants to merge 2 commits into
stefankoncarevic wants to merge 2 commits into
Conversation
vllm-project#48223 widened the shared-expert multi-stream overlap from is_cuda() to is_cuda_alike() under dp_size > 1, so the shared experts run on the aux stream on ROCm for the first time. Output is corrupted there: Qwen3.5-35B-A3B at DP2 + EP on gfx950 scores 0.00 on GSM8K with 70% of the answers unparsable. That is also why only this config broke, since the other two Qwen3.5 models in the same job run TP2 and never take the path. This is a workaround rather than a fix. The root cause in the new path is not isolated yet: it needs concurrency, it is not the BLAS backend and not tied to full decode graphs, and graph replay bypasses the Python path so the failing case cannot be instrumented. Turn the overlap off on ROCm meanwhile, restoring the behaviour every ROCm deployment had before vllm-project#48223. CUDA is untouched. GSM8K on gfx950 at DP2 + EP, 1319 questions: 0.0000 to 0.8613, invalid rate 0.705 to 0.000. Signed-off-by: Stefan Koncarevic <Stefan.Koncarevic@amd.com>
stefankoncarevic
requested review from
mgoin,
pavanimajety and
zyongye
as code owners
August 12, 2026 15:18
Contributor
|
FYI: #52024 |
Member
|
we are going to close this one in favor of the revert. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
LM Eval Qwen3-5 Modelson MI355 fails onQwen3.5-35B-A3B-DEP2:Bisect over the window in which the job turned red lands on 47ececb,
"[Perf][ROCm] Dual-stream decode with hipgraphs" (#48223).
That commit widened the shared-expert multi-stream overlap from
current_platform.is_cuda()tois_cuda_alike(), gated ondp_size > 1, sothe shared experts run on the aux stream on ROCm for the first time. The output
is corrupted there: the server comes up clean and then answers with unparsable
runs of tokens.
dp_size > 1is also why only this config broke — the other twoQwen3.5 models in the same job run TP2 and never take the path.
This is a workaround, not a fix. It turns the overlap off on ROCm, restoring
the behaviour every ROCm deployment had before #48223, and leaves CUDA
untouched. The new path itself still needs to be repaired, and I am happy to
help with that; what is known so far:
cudagraph_mode=PIECEWISEstill fails.
instrumentation serialises enough to hide it.
Test Plan
gfx950 (MI355X), 2 GPUs, the failing job as CI runs it, unmodified config and
full question set:
Run on current main and again with this change.
Test Result
Before, on current main:
Qwen3.5-35B-A3B-DEP2fails, accuracy 0.0000 with aninvalid rate of 0.705.
After, same config and the full 1319 questions:
Essential Elements of an Effective PR Description Checklist
supported_models.mdandexamplesfor a new model.