Repository navigation
Conversation
5f70a8d to
e110b05
Compare
2c6ff00 to
9f5a814
Compare
c3beacf to
5354491
Compare
|
This pull request has merge conflicts that must be resolved before it can be |
b7cf675 to
622c1cc
Compare
622c1cc to
3bc4b4b
Compare
|
This pull request has merge conflicts that must be resolved before it can be |
3bc4b4b to
e805f65
Compare
Signed-off-by: samnordmann <snordmann@nvidia.com>
e805f65 to
3fbfae6
Compare
|
✅ @samnordmann, CI is now available for this PR.
|
|
/ci run |
|
✅ Triggered Buildkite CI #91701 for commit |
|
This pull request has merge conflicts that must be resolved before it can be |
Signed-off-by: samnordmann <snordmann@nvidia.com>
|
Validated Both arms used the same
Both controls failed with All requests completed in the patched runs, with no NCCL errors. Output throughput, in the concurrency order above:
The environment was one node with 4×GB200, CUDA 13.0, driver 580.178.04, PyTorch 2.13.0+cu130, NCCL 2.30.7, and FlashInfer 0.7.0. Both models used TP1/PP1/DP4 with expert parallelism and: Load was streaming completions through aiperf with 2,000 input tokens, exactly 1,000 output tokens, This validates resolution of the reproduced crash for these configurations. Coverage is one complete paired run per model; an earlier DeepSeek pair showed the same outcome. No model-accuracy evaluation was performed, and the selected collective path was not instrumented. The crashing controls prevent a complete throughput comparison against the unpatched baseline. Drafted with Codex (GPT-6). |
|
@mgoin is it ready to merge ? |
CI selector (shadow): 91 test steps (142 jobs) instead of 83 (106 jobs)Shadow mode: this changes nothing about what CI runs. It shows what the evidence-based selector would pick for this PR, next to today's rules. How it works. Feedback welcome: reply here if it would skip a step this change needs, or runs something unrelated.
Selector would run (91)
Would skip (today's rules run them) (33)
Would add (today's rules do not run them) (41)
AMD mirrors: would skip (40)
AMD mirrors: would add (24)
8 changed files · base |
|
/ci run |
|
✅ Triggered Buildkite CI #92954 for commit |
Resolve the vllm-project#49194 integration by cloning only generic scratch-backed ReduceScatter results while retaining direct MoE output. Keep AllGather ownership and both regression suites. Co-authored-by: OpenAI Codex <codex@openai.com> Signed-off-by: jeffnvidia <jmahou@nvidia.com>
Summary
Remove both staging copies from the modular MoE symmetric reduce-scatter path, building on #46703:
The optimization requires
VLLM_USE_NCCL_SYMM_MEM=1, uniform token counts, and NCCL >= 2.29.2. Unsupported configurations retain their existing fallbacks.Implementation
NCCL supports registered-send/nonregistered-receive ReduceScatter in
ncclSymkPickKernel.Performance
Measured on 4×GB200 with NCCL 2.30.7. Operator latency and end-to-end throughput measure different effects; their percentage improvements are not additive.
Reduce-scatter latency
BF16, hidden size 8192; latency in microseconds, lower is better. Latency reduction is
(staged − PR) / staged.Removing staging reduces symmetric reduce-scatter latency by about 10–16% over this range. Ordinary NCCL remains faster at some sizes.
Nemotron Ultra end-to-end
Ultra 550B A55B NVFP4, TP1/DP4/EP4, default AG/RS backend, symmetric memory enabled in both baseline and PR. All changes below use the same convention: PR / baseline − 1, computed from geometric means. Higher throughput and lower TPOT/TTFT are better; concurrency is global.
The long-prefill workload benefits most; its TTFT change is inconclusive. At short-context concurrency 32, throughput and TPOT improve in all six paired runs. Higher-concurrency results are mixed: TTFT worsens in all six runs at concurrency 512. These are two distinct workloads, not one concurrency-scaling curve.
E2E results compare baseline
5414b4ewith PR revision622c1cc; the current rebased head has not been benchmarked. The short-context sweep uses common instrumentation and disables Mamba stochastic rounding in both arms, so it is not a native-default deployment claim. No Super or multi-node scaling claim is made.Validation
git diff --checkpass.3fbfae6: 13 checks pass on 4×GB200, with no skips (10 repository tests and 3 supplemental checks). Coverage includes caller-owned outputs, uneven routing, CPU/mocked-AITER regressions, buffer growth, and BF16/FP32 CUDA-graph replay after allocator churn.AI tooling assisted inspection, testing, and analysis; the author remains responsible for the change.