Honor mirror.amd.parallelism so NVIDIA sharding cannot multiply AMD mirrors - #473
Draft
khluu wants to merge 1 commit into
Draft
Honor mirror.amd.parallelism so NVIDIA sharding cannot multiply AMD mirrors#473khluu wants to merge 1 commit into
khluu wants to merge 1 commit into
Conversation
…irrors The AMD mirror step previously always inherited step.parallelism, so sharding an NVIDIA job with parallelism: N scheduled N copies of its AMD mirror, and mirrors with custom unsharded commands would run the full suite N times. mirror.amd.parallelism now overrides when set; unset mirrors keep the inherited behavior for every existing job. Signed-off-by: Kevin Luu <51931015+khluu@users.noreply.github.com>
This was referenced Aug 14, 2026
[CI] Shard Kernels Attention Test to 7 shards, pin AMD mirror at 2 (<20 min)
vllm-project/vllm#52340
Closed
khluu
added a commit
to vllm-project/vllm
that referenced
this pull request
Sep 1, 2026
…roups Split hybrid-ssm-nixlconnector-pd-accuracy-tests-4-gpus (~45.7m wall in build 83851) into parallelism: 3 via a new opt-in CONFIG_INDICES env in config_sweep_accuracy_test.sh that selects configs from the chosen array by zero-based index. Unset means run everything, so the other jobs sharing the sweep script (tp/dp_ep/sw_attn variants and the AMD mirrors) are unchanged. CONFIG_EXPECTED_COUNT=7 makes each shard fail loudly if the hybrid config array changes without rebalancing the index lists. Buckets are balanced on measured per-config runtime: shard 0 = configs 0,4 (~14.5m), shard 1 = configs 5,6 (~13.2m), shard 2 = configs 1,2,3 (~16.3m); expected wall ~18m incl. ~1.7m install/canary per shard. Timeout 60 -> 30. The AMD mirror keeps its own unchanged command and is pinned to parallelism: 1 (stays a single unsharded job; requires the pipeline generator change in vllm-project/ci-infra#473). Signed-off-by: Kevin Luu <51931015+khluu@users.noreply.github.com>
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.
What
The AMD mirror step always inherited
step.parallelism. Sharding an NVIDIA job withparallelism: Ntherefore scheduled N copies of its AMD mirror, and mirrors with custom unsharded commands would run their full suite N times.mirror.amd.parallelismnow overrides the inherited value when set. Unset mirrors keep the inherited behavior, so every existing job renders identically.Why
Prerequisite for sharding NVIDIA jobs that carry AMD mirrors (e.g.
language-models-test-extended-pooling, vllm-project/vllm#52322) without changing AMD scheduling. The mirrored job can then declare NVIDIAparallelism: 4withmirror.amd.parallelism: 1.Testing
test_amd_mirror_parallelism_overridecovering inherit (unset -> parent value), override to 1, and independent override to 2, on a pooling-shaped mirror with a custom unsharded AMD command (asserts the AMD command stays unsharded).AI assistance was used for this change.
🤖 Generated with Claude Code