Skip to content

[CI] Shard Hybrid SSM NixlConnector PD accuracy tests into 4 config groups - #52354

Draft
khluu wants to merge 2 commits into
mainfrom
ci-shard-hybrid-ssm-pd
Draft

[CI] Shard Hybrid SSM NixlConnector PD accuracy tests into 4 config groups#52354
khluu wants to merge 2 commits into
mainfrom
ci-shard-hybrid-ssm-pd

Conversation

@khluu

@khluu khluu commented Aug 14, 2026

Copy link
Copy Markdown
Member

Purpose

Phase 2 of the CI job-splitting effort (45–60m jobs → shards <20m). hybrid-ssm-nixlconnector-pd-accuracy-tests-4-gpus ran 45.7m in build 83851.

Validation (terminal, build 83937, VLLM_CI_BRANCH=amd-mirror-parallelism-override @ e006ba64)

Targeted build 83937 on this exact head: 4/4 passed, walls 10.18 / 14.30 / 14.80 / 13.22m — max 14.80m with real margin (3.09× vs baseline).

  • Executed union (runtime sweep echoes): shard 0 applied CONFIG_INDICES=0 (1 config, 8.52m), shard 1 4,5 (6.13m + 6.50m), shard 2 6,1 (6.67m + 6.38m), shard 3 2,3 (5.87m + 5.65m) — {0} ⊎ {4,5} ⊎ {6,1} ⊎ {2,3} = all 7 hybrid configs exactly once, CONFIG_EXPECTED_COUNT=7 guard active and each shard's sweep printed its all-tests-passed line.
  • Fixed setup: 1.65–1.75m/shard (index validator + install-kv-connectors + NIXL canary).
  • Accelerator tradeoff (4 GPUs per shard): peak 4 → 16 GPUs; total 210.0 vs 182.8 baseline GPU-min (+14.9%); wall 45.7 → 14.80m.
  • AMD1 selector-off proof at this exact head (through ci-infra#473 e006ba64): NVIDIA parallelism: 4 / AMD parallelism: 1, AMD ROCm command byte-identical and unsharded.
  • Shared-script safety (accepted evidence): CONFIG_INDICES unset → all 7 configs run in original order (tp/dp_ep/sw_attn/AMD/mooncake callers unchanged); count-guard mismatch exits 1 before any test.

History

The first head (3-way, 79ebca72…) validated green in build 83924 (walls 16.18/15.20/19.42m) but was rejected on margin: 19.42m left 0.58m under ~1.4m observed config-time variance. Rebalanced to parallelism: 4 with buckets {0}/{4,5}/{6,1}/{2,3} and an explicit 0–3 index validator. 83924 remains union/performance evidence.

Approach

Opt-in CONFIG_INDICES env in the shared config_sweep_accuracy_test.sh (comma-separated zero-based indices; unset = run everything) plus a CONFIG_EXPECTED_COUNT fail-closed guard so a newly added config can never be silently skipped, and a fail-closed BUILDKITE_PARALLEL_JOB validator. Timeout 60 → 30. AMD mirror unchanged, pinned to one copy via mirror.amd.parallelism: 1 (vllm-project/ci-infra#473).

Notes

  • No open PR shards this job (checked gh pr list for the step key and file).
  • AI assistance was used for this change.

…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>
Build 83924 passed 3/3 but the worst shard landed at 19.42m with only
0.58m under the 20m target while measured config-time variance is
~1.4m. Rebalance to parallelism: 4 with index buckets {0} / {4,5} /
{6,1} / {2,3} (per-config walls from 83924: 8.22 / 6.17+6.80 /
6.63+6.30 / 5.58+5.80m -> projected max ~14.7m incl. setup). Also
validate BUILDKITE_PARALLEL_JOB explicitly so an unexpected index fails
instead of passing empty. Union stays {0..6} = 7/7 exactly once with
CONFIG_EXPECTED_COUNT=7 on every shard; AMD mirror still pinned to one
unsharded copy; the shared sweep script is unchanged in this commit.

Signed-off-by: Kevin Luu <51931015+khluu@users.noreply.github.com>
@khluu khluu changed the title [CI] Shard Hybrid SSM NixlConnector PD accuracy tests into 3 config groups [CI] Shard Hybrid SSM NixlConnector PD accuracy tests into 4 config groups Aug 14, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant