CollectiveX: move to NCCL EP v0.2 and extend platform coverage - #2820
CollectiveX: move to NCCL EP v0.2 and extend platform coverage#2820artpol84 wants to merge 5 commits into
Conversation
911e6fe to
f8fefc0
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 f8fefc0. Configure here.
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

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
Changes benchmark dependency pins, multi-node NCCL EP coverage, and low-latency ladder sizing on real GPU fleets; correctness risk is mitigated by v0.2 fixes but sweep matrices and comparability across historical runs shift.
Overview
CollectiveX’s nccl-ep backend now installs
nccl-extensions[cu13]==0.1.0(NCCL EP v0.2) instead of the oldernccl4py/contrib/nccl_eppath, with matching updates inruntime/common.shandprepare_backend.sh(cache key, pip install, docs).Coverage and measurement behavior change with that pin:
platform_config.jsonenables nccl-ep EP16 innormalmode on H100/H200/B300 and low-latency EP16 on B200 (nscale), GB200, and GB300 where it was previously EP8-only or blocked. Inep_nccl.py, low-latency decode_LL_LADDER_CAPgoes 128 → 256, dropping the work-around for the unfixed combine fence; docs/README/methodology now describe x86 EP16 GIN scale-out as supported for HT and BF16-only sweeps (v0.2 FP8 dispatch left as future work).Reviewed by Cursor Bugbot for commit eca48f7. Bugbot is set up for automated code reviews on this repo. Configure here.