CollectiveX: move to NCCL EP v0.2 and extend platform coverage - #2820
Conversation
911e6fe to
f8fefc0
Compare
0e85fed to
0ed384a
Compare
|
Thanks for the work, some of our clusters are down are we're talking to Nvidia SRE regarding getting them back. Will work on this over the weekend. |
0ed384a to
f79531f
Compare
|
@Oseltamivir I have just pushed few more changes. |
NCCL EP v0.2 fixes several critical bugs that were limiting the set of supported platforms for LL mode: * Support for multiple handles per group was fixed * The combine pipeline was properly fenced The release also resolves the NCCL dependency issue that was causing HT IMA. This commit retargets the nccl-ep backend to NCCL EP v0.2 and lifts the previous platform and configuration limitations accordingly. Signed-off-by: Artem Y. Polyakov <artemp@nvidia.com>
Make sure that expected version of NCCL EP (v0.2) is installed. NCCL EP ships as part of nccl-extensions v0.1.0 wheel. Signed-off-by: Artem Y. Polyakov <artemp@nvidia.com>
Actualize runtime/common.sh: * NCCL EP repository (migrated from nccl to nccl-extensions) * NCCL EP v0.2 commit Signed-off-by: Artem Y. Polyakov <artemp@nvidia.com>
Update the documentation in relevant areas to accurately reflect platform coverage, configuration limitations, and packaging nuances. Signed-off-by: Artem Y. Polyakov <artemp@nvidia.com>
Rename COLLX_NCCL4PY_SPEC -> COLLX_NCCL_EP_SPEC to reflect that starting from NCCL EP v0.2 it is destributed via nccl-extensions wheel (not nccl4py). Signed-off-by: Artem Y. Polyakov <artemp@nvidia.com>
f79531f to
eca48f7
Compare
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Want higher recall? High effort reviews run extra passes and find more bugs. A team admin can switch effort levels in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit fed9aed. Configure here.
Run 34432070017 measured the HIGH_THROUGHPUT EP16 rows on h100-dgxc and h200-dgxc as real 2x8 RDMA scale-out with every decode and prefill rung correct, so the coverage prose no longer calls those rows unsupported.
|
Thanks for the work! |

Summary
NCCL EP v0.2 fixes several critical bugs that were limiting the set of supported platforms for LL mode:
The release also resolves the NCCL dependency issue
that was causing HT IMA.
This commit retargets the nccl-ep backend to NCCL EP v0.2 and lifts
the previous platform and configuration limitations accordingly.
Thank you for considering our contribution,
NCCL EP team
Testing
GB200/GB300 platforms
Production sweep (nccl-ep, EP8 + EP16, gb200 + gb300 — 4 jobs, 22 cases total)
Full
configs/sweep.jsonproduction profile (256 trials × 8 iters/trial, 32 warmup/trial, 128×4 chain sampling), generated viasweep_matrix.py/runtime/config.py(not hand-built argv). Coversnormalmode (decode ladder 1–512 + prefill ladder 1024–8192) andlow-latencymode (decode,_LL_LADDER_CAP-bounded) on both SKUs at both EP sizes.Result: 22/22 cases
status: success,cross_rank_consistent: true, zero correctness failures.LL-fix extended verification (low-latency mode only, EP8 + EP16, gb200 + gb300 — 4 jobs, 4 cases)
Targeted re-test of the
_LL_LADDER_CAP128→256 fix at 10x the standard trial count (2560 trials/point vs. 256) across the full T=1–256 decode ladder, including T=256 — the exact point the pre-fix race was previously observed on (gb300 EP8, "1 failure in 5 executions") — and gb300 EP16, a case that was unmeasurable at all under the old T≤128 clamp.Result: 4/4 cases
status: success,cross_rank_consistent: true, zero failed token points across ~10k total trial-points measured.Both rounds ran on the same container/backend-prep path (
runtime/prepare_backend.shunmodified; pinnednccl4py==0.3.1.post1/nccl-extensions==0.1.0).B200
Production sweep (nccl-ep, EP8 + EP16, B200 — 2 jobs, 6 cases total)
Full
configs/sweep.jsonproduction profile (256 trials × 8 iters/trial, 32 warmup/trial, 128×4 chain sampling), generated viasweep_matrix.py/runtime/config.py(not hand-built argv). Coversnormalmode (decode ladder 1–512 + prefill ladder 1024–8192) andlow-latencymode (decode,_LL_LADDER_CAP-bounded at the pre-change value of 128) at both EP sizes.Result: 6/6 cases
status: success,cross_rank_consistent: true, zero correctness failures (44/44 individual ladder points passedchain_last_output_passed+post_chain_state_passed, max relative error 0.0).Note
Medium Risk
Expands automated sweep coverage to new multi-node NCCL EP EP16 cases on production GPU pools; misconfiguration could schedule failing or unstable jobs until B300 revalidation completes.
Overview
Enables NCCL EP EP16 in the CollectiveX sweep for h100-dgxc, h200-dgxc, and b300 by adding
16to each platform’sbackends.nccl-epentry inplatform_config.json(normal-mode matrix cells;ll_backendsstay EP8-only on those SKUs).README and docs/methodology.md are aligned with NCCL EP v0.2: EP8 and EP16 on all six NVIDIA SKUs, with x86 EP16 as 2×8 RDMA scale-out over GIN (no longer “unsupported pending revalidation” on H100/H200/B300). Prose notes v0.1 GIN faults on x86 pools and v0.2 fixes revalidated on B200, H100, and H200, with B300 enabled in config pending pool revalidation.
sweep_matrix.py only updates the NCCL EP precision comment to point at v0.2 FP8 dispatch as future integration work;
nccl-epremains BF16-only inBACKEND_PRECISIONS.Reviewed by Cursor Bugbot for commit e40eac1. Bugbot is set up for automated code reviews on this repo. Configure here.