Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
262 commits
Select commit Hold shift + click to select a range
d0acf1e
fix(collectivex): classify stage validation failures
Oseltamivir Jul 5, 2026
50df5c3
fix(collectivex): isolate shared staging fallback
Oseltamivir Jul 5, 2026
4e87322
fix(collectivex): permit sticky shared staging
Oseltamivir Jul 5, 2026
46adf24
fix(collectivex): stage from private runner home
Oseltamivir Jul 5, 2026
4ca9df6
fix(collectivex): use runner account stage
Oseltamivir Jul 5, 2026
bedf09d
fix(collectivex): resolve canonical account staging
Oseltamivir Jul 5, 2026
8e3a8c7
fix(collectivex): isolate account stage root
Oseltamivir Jul 5, 2026
bee0a0f
fix(collectivex): tighten V1 decision contracts
Oseltamivir Jul 5, 2026
3468493
fix(collectivex): classify probe exceptions
Oseltamivir Jul 5, 2026
e40efcb
fix(collectivex): classify probe error origins
Oseltamivir Jul 5, 2026
03243c7
fix(collectivex): classify probe validation failures
Oseltamivir Jul 5, 2026
f0131d8
fix(collectivex): validate native combine inputs
Oseltamivir Jul 5, 2026
4d06905
fix(collectivex): validate codec-specific correctness
Oseltamivir Jul 5, 2026
60b05e5
fix(collectivex): protect downloaded source archive
Oseltamivir Jul 5, 2026
773f557
fix(collectivex): freeze backend source validation
Oseltamivir Jul 5, 2026
4f234a3
fix(collectivex): archive pinned source roots
Oseltamivir Jul 5, 2026
0586d66
fix(collectivex): align runner topology capabilities
Oseltamivir Jul 5, 2026
d2ed993
fix(collectivex): align shared stage schema
Oseltamivir Jul 5, 2026
4e68639
fix(collectivex): stage H100 on shared storage
Oseltamivir Jul 5, 2026
9b952d2
fix(collectivex): ignore stale B300 stage config
Oseltamivir Jul 5, 2026
dc0139e
feat(collectivex): record validated precision cells
Oseltamivir Jul 5, 2026
8ff9009
fix(collectivex): isolate B300 staging by execution
Oseltamivir Jul 5, 2026
699b998
fix(collectivex): handle B300 NFS UID mapping
Oseltamivir Jul 5, 2026
9cbcd59
fix(collectivex): isolate GB300 staging
Oseltamivir Jul 5, 2026
66248ba
feat(collectivex): record completed H100 precision cells
Oseltamivir Jul 5, 2026
b6167da
test(collectivex): update frozen matrix baseline
Oseltamivir Jul 5, 2026
4793fad
fix(collectivex): clean UID-mapped B300 stages
Oseltamivir Jul 5, 2026
b2389ac
feat(collectivex): resolve H100 UCCL fused probes
Oseltamivir Jul 5, 2026
b0265b2
fix(collectivex): use NVLink for B300 EP8 NVSHMEM
Oseltamivir Jul 5, 2026
259253d
feat(collectivex): record completed GB300 precision cells
Oseltamivir Jul 5, 2026
4f3cd34
feat(collectivex): record completed B300 precision cells
Oseltamivir Jul 5, 2026
64fc723
feat(collectivex): complete GB300 precision inventory
Oseltamivir Jul 5, 2026
34d6518
chore(collectivex): expose private V2 version mismatch
Oseltamivir Jul 5, 2026
362694e
feat(collectivex): add private network config overlay
Oseltamivir Jul 5, 2026
8e17043
fix(collectivex): load merged runner config
Oseltamivir Jul 5, 2026
5734a3b
fix(collectivex): bind B300 low latency RDMA
Oseltamivir Jul 5, 2026
ef1a6fb
fix(collectivex): accept pinned V2 local builds
Oseltamivir Jul 5, 2026
b0d2196
fix(collectivex): normalize exact HCA selectors
Oseltamivir Jul 5, 2026
7be41b1
fix(collectivex): enable pinned NVSHMEM HCA mapping
Oseltamivir Jul 5, 2026
93ac92a
fix(collectivex): repair V2 identity and AMD staging
Oseltamivir Jul 5, 2026
b97215c
fix(collectivex): stabilize multinode startup
Oseltamivir Jul 5, 2026
7ba22b9
fix(collectivex): distinguish native IB from RoCE
Oseltamivir Jul 5, 2026
76e2a01
fix(collectivex): use runner-owned AMD staging
Oseltamivir Jul 5, 2026
926127a
fix(collectivex): validate RDMA on allocated nodes
Oseltamivir Jul 5, 2026
2577233
test(collectivex): record terminal EP probe outcomes
Oseltamivir Jul 5, 2026
4432c8a
fix(collectivex): diagnose NCCL transport guards
Oseltamivir Jul 5, 2026
f6a7a95
fix(collectivex): classify HCA selector shape
Oseltamivir Jul 5, 2026
0d4cd69
fix(collectivex): restore exact HCA selection
Oseltamivir Jul 5, 2026
214360b
fix(collectivex): normalize HCA selection per rank
Oseltamivir Jul 5, 2026
bcc7467
fix(collectivex): reconcile cancelled allocations
Oseltamivir Jul 5, 2026
58a9302
chore(collectivex): classify probe failure stages
Oseltamivir Jul 5, 2026
baa4f5d
fix(collectivex): apply case-aware network profiles
Oseltamivir Jul 5, 2026
72d10e8
fix(collectivex): reopen invalid B300 LL probes
Oseltamivir Jul 5, 2026
dfcc6b2
fix(collectivex): reopen invalid B300 EP16 probes
Oseltamivir Jul 5, 2026
8b7d529
test(collectivex): record B300 LL support
Oseltamivir Jul 5, 2026
2a3430b
fix(collectivex): support private B200 placement
Oseltamivir Jul 5, 2026
f9de789
fix(collectivex): diagnose distributed probe stalls
Oseltamivir Jul 5, 2026
5d4f96c
fix(collectivex): pin validated B200 pair
Oseltamivir Jul 5, 2026
afdd901
feat(collectivex): filter exact capability probes
Oseltamivir Jul 5, 2026
7883ce1
fix(collectivex): restore rank network profile
Oseltamivir Jul 5, 2026
1b4b45a
fix(collectivex): reopen H100 EP16 probes
Oseltamivir Jul 5, 2026
f9c4e26
fix(collectivex): classify rail preflight failures
Oseltamivir Jul 5, 2026
6c2bf4b
test(collectivex): record H100 EP16 support
Oseltamivir Jul 5, 2026
b0683a9
test(collectivex): finalize H100 EP16 capabilities
Oseltamivir Jul 5, 2026
a9e0479
test(collectivex): classify B200 EP16 timeout
Oseltamivir Jul 5, 2026
98e908c
fix(collectivex): isolate exact probe concurrency
Oseltamivir Jul 5, 2026
8191491
fix(collectivex): carry MoRI RDMA QoS
Oseltamivir Jul 5, 2026
4b85cc8
fix(collectivex): expose bounded probe timeout stage
Oseltamivir Jul 5, 2026
85348c1
feat(collectivex): isolate MI355 network overlay
Oseltamivir Jul 5, 2026
2628f7a
fix(collectivex): localize probe memory failures
Oseltamivir Jul 5, 2026
eb38147
test(collectivex): classify B200 logfmt timeout
Oseltamivir Jul 5, 2026
d38c6c2
fix(collectivex): bound unknown probe failures
Oseltamivir Jul 5, 2026
ac7188e
test(collectivex): classify B200 V2 memory limit
Oseltamivir Jul 5, 2026
d06ee3b
test(collectivex): classify B200 FP8 timeout
Oseltamivir Jul 5, 2026
cc3b731
test(collectivex): classify B200 fused logfmt timeout
Oseltamivir Jul 5, 2026
3c22843
test(collectivex): finalize B200 EP16 capabilities
Oseltamivir Jul 5, 2026
c6f3b8a
feat(collectivex): close B300 V1 publication cells
Oseltamivir Jul 5, 2026
9d76f9f
fix(collectivex): prioritize probe stage diagnostics
Oseltamivir Jul 5, 2026
a3d653e
test(collectivex): classify MI355 EP8 construction
Oseltamivir Jul 5, 2026
abd6cec
fix(collectivex): exclude non-native B300 EP16
Oseltamivir Jul 5, 2026
b29c8e1
test(collectivex): close MI355 EP16 precision
Oseltamivir Jul 5, 2026
305d944
docs(collectivex): align pre-v1 status
Oseltamivir Jul 5, 2026
caea647
feat(collectivex): freeze seven-sku v1 matrix
Oseltamivir Jul 6, 2026
f39ba7b
fix(collectivex): register precision unsupported outcomes
Oseltamivir Jul 6, 2026
0bca224
fix(collectivex): normalize private numeric selectors
Oseltamivir Jul 6, 2026
9fde6d1
fix(collectivex): preserve shard runtime identity
Oseltamivir Jul 6, 2026
ea33ecc
fix(collectivex): initialize MNNVL rank wrappers
Oseltamivir Jul 6, 2026
9fb508e
fix(collectivex): validate precision oracle tolerances
Oseltamivir Jul 6, 2026
dabe89a
fix(collectivex): retry unhealthy H100 allocations
Oseltamivir Jul 6, 2026
6e2797d
fix(collectivex): accept opaque logfmt scale evidence
Oseltamivir Jul 6, 2026
067ae35
fix(collectivex): preserve allocation retry logs
Oseltamivir Jul 6, 2026
487854a
fix(collectivex): isolate network retry logs
Oseltamivir Jul 6, 2026
f254748
feat(collectivex): add MI300X qualification
Oseltamivir Jul 6, 2026
df5f70b
test(collectivex): cover MI300X operator overlay
Oseltamivir Jul 6, 2026
ac693fe
fix(collectivex): promote MI300X EP8 precision
Oseltamivir Jul 6, 2026
d582e96
fix(collectivex): accept pinned DeepEP V2 package metadata
Oseltamivir Jul 6, 2026
f4d3061
fix(collectivex): record B200 EP16 backend limits
Oseltamivir Jul 6, 2026
a73cd5b
fix(collectivex): allow MI300X shared staging overlay
Oseltamivir Jul 6, 2026
9d64da2
fix(collectivex): record DeepEP V2 EP16 QP limits
Oseltamivir Jul 6, 2026
f0d1ca5
fix(collectivex): resolve MI300X shared stage aliases
Oseltamivir Jul 6, 2026
d078a23
fix(collectivex): avoid unsupported stage metadata copies
Oseltamivir Jul 6, 2026
c180175
fix(collectivex): avoid stage permission metadata writes
Oseltamivir Jul 6, 2026
fe98dfd
fix(collectivex): stage without an rsync dependency
Oseltamivir Jul 6, 2026
73d0a7e
fix(collectivex): unblock B200 and MI300X scale-out
Oseltamivir Jul 6, 2026
e88f5d7
fix(collectivex): classify isolated stage copy errors
Oseltamivir Jul 6, 2026
71a2daa
fix(collectivex): expose sanitized network preflight failures
Oseltamivir Jul 6, 2026
bc36396
fix(collectivex): resolve scale-out sockets per allocation
Oseltamivir Jul 6, 2026
5655f3d
fix(collectivex): classify socket consensus failures
Oseltamivir Jul 6, 2026
4b16502
fix(collectivex): support per-node socket interface names
Oseltamivir Jul 6, 2026
ced08ae
fix(collectivex): record MI355X MoRI construction limits
Oseltamivir Jul 6, 2026
18d7cc0
fix(collectivex): preserve backend import failures
Oseltamivir Jul 6, 2026
7c0af0e
fix(collectivex): align runtime provenance contracts
Oseltamivir Jul 6, 2026
6180fea
fix(collectivex): remove MoRI Gloo scale-out dependency
Oseltamivir Jul 6, 2026
634e9fe
fix(collectivex): budget DeepEP V2 GIN QP allocation
Oseltamivir Jul 6, 2026
5726e28
fix(collectivex): mount GDRCopy for B200 DeepEP
Oseltamivir Jul 6, 2026
1f946eb
feat(collectivex): freeze the eight-SKU V1 matrix
Oseltamivir Jul 6, 2026
31f1d54
feat(collectivex): finalize V1 capability dispositions
Oseltamivir Jul 6, 2026
d0ce688
fix(collectivex): classify precision runtime failures
Oseltamivir Jul 6, 2026
182c679
fix(collectivex): reenable budgeted DeepEP V2 EP16
Oseltamivir Jul 6, 2026
2f92469
fix(collectivex): honor MoRI precision probe failures
Oseltamivir Jul 6, 2026
ca131fc
fix(collectivex): isolate DeepEP V2 JIT caches per node
Oseltamivir Jul 6, 2026
9f069d5
fix(collectivex): consume timed MoRI dispatch state
Oseltamivir Jul 6, 2026
307a93c
fix(collectivex): disposition H100 combined LL precision
Oseltamivir Jul 6, 2026
5e200a5
fix(collectivex): reject unavailable B300 allocations
Oseltamivir Jul 6, 2026
6e97ccc
fix(collectivex): bind rendezvous to validated interface
Oseltamivir Jul 6, 2026
f30ea4b
fix(collectivex): classify collective backend failures
Oseltamivir Jul 6, 2026
e106531
fix(collectivex): locate invalid collective usage
Oseltamivir Jul 6, 2026
75cf34f
fix(collectivex): make failed-job reruns reusable
Oseltamivir Jul 6, 2026
f592e8b
fix(collectivex): retry AMD container imports
Oseltamivir Jul 6, 2026
9b46eb0
fix(collectivex): gather metadata with device tensors
Oseltamivir Jul 6, 2026
ccde9bb
fix(collectivex): bind RCCL ranks eagerly
Oseltamivir Jul 6, 2026
afc22b7
fix(collectivex): size MoRI buffers for skew
Oseltamivir Jul 6, 2026
ead328b
fix(collectivex): let RCCL select pinned RDMA
Oseltamivir Jul 6, 2026
311646c
fix(collectivex): retain healthy AMD allocations
Oseltamivir Jul 6, 2026
3a36350
fix(collectivex): retry AMD imports per node
Oseltamivir Jul 6, 2026
56a6575
fix(collectivex): run RCCL without writable overlay
Oseltamivir Jul 6, 2026
01d6b16
fix(collectivex): make RCCL containers ephemeral
Oseltamivir Jul 6, 2026
73c3442
fix(collectivex): isolate RCCL runtime scratch
Oseltamivir Jul 6, 2026
a256a60
chore(collectivex): remove ineffective Enroot fallbacks
Oseltamivir Jul 6, 2026
925fc44
fix(collectivex): keep RCCL initialization compatible
Oseltamivir Jul 6, 2026
624dfa6
fix(collectivex): preserve frozen RCCL provenance
Oseltamivir Jul 6, 2026
5ab976c
fix(collectivex): move AMD job state off tmp
Oseltamivir Jul 6, 2026
0a47c38
fix(collectivex): conceal AMD shared workspace paths
Oseltamivir Jul 6, 2026
3fed570
fix(collectivex): canonicalize AMD source roots
Oseltamivir Jul 6, 2026
289f03a
fix(collectivex): store AMD diagnostics off tmp
Oseltamivir Jul 6, 2026
7a252ef
fix(collectivex): classify scheduler request failures
Oseltamivir Jul 6, 2026
a06a810
fix(collectivex): expose scheduler submit boundary
Oseltamivir Jul 6, 2026
a18b9ff
fix(collectivex): parse scheduler grants without pipefail
Oseltamivir Jul 6, 2026
c95e5ae
fix(collectivex): contain scheduler shell wrappers
Oseltamivir Jul 6, 2026
a9c514c
fix(collectivex): classify retained scheduler logs
Oseltamivir Jul 6, 2026
c426d48
fix(collectivex): classify Slurm submit failures
Oseltamivir Jul 6, 2026
de8c257
fix(collectivex): respect MI300X allocation limit
Oseltamivir Jul 6, 2026
2739b52
fix(collectivex): match MI300X allocation policy
Oseltamivir Jul 6, 2026
653f7d3
chore(collectivex): encrypt scheduler diagnostics
Oseltamivir Jul 7, 2026
a933c47
fix(collectivex): preserve verified Slurm grants
Oseltamivir Jul 7, 2026
6674da4
fix(collectivex): record AMD Slurm allocations
Oseltamivir Jul 7, 2026
3e127e1
refactor(collectivex): drop Zipf routing → uniform-only (R1)
Oseltamivir Jul 7, 2026
f780efe
refactor(collectivex): pin EPLB off at the schedulable edges
Oseltamivir Jul 7, 2026
6e068d4
refactor(collectivex): drop logfmt10 combine format (registry 10→8)
Oseltamivir Jul 7, 2026
b68044e
refactor(collectivex): trim normal precision sweep to two profiles
Oseltamivir Jul 7, 2026
9ad5e41
refactor(collectivex): add inert EPBackend ABC
Oseltamivir Jul 7, 2026
a2919d2
refactor(collectivex): cut EP adapters over to the EPBackend ABC
Oseltamivir Jul 7, 2026
77b633a
refactor(collectivex): drop adapter methods now covered by EPBackend
Oseltamivir Jul 7, 2026
075d7ef
test(collectivex): unit-test the EPBackend ABC lifecycle
Oseltamivir Jul 7, 2026
4a4d19f
refactor(collectivex): share DeepEP/UCCL adapter surface via family base
Oseltamivir Jul 7, 2026
bc9ea76
feat(collectivex): enable B300 EP16 cross-node over RoCE
Oseltamivir Jul 7, 2026
00b7030
fix(collectivex): wall B300 EP16 DeepEP V1/V2 (no GDRCopy /dev/gdrdrv)
Oseltamivir Jul 7, 2026
2023b1f
feat(collectivex): publish v1 from a single allocation
Oseltamivir Jul 7, 2026
786f2b6
feat(collectivex): publish v1 from one run in the workflow
Oseltamivir Jul 7, 2026
3c19534
docs(collectivex): publish v1 from a single run
Oseltamivir Jul 7, 2026
337611d
feat(collectivex): allow partial "v1 tag + success" promotion
Oseltamivir Jul 7, 2026
e7a4336
feat(collectivex): numeric incrementable release version
Oseltamivir Jul 7, 2026
e406a69
feat(collectivex): add --exclude-skus for partial versioned sweeps
Oseltamivir Jul 7, 2026
dd5a560
feat(collectivex): allow v1 publish from any single consistent attempt
Oseltamivir Jul 7, 2026
6113135
fix(collectivex): ship per-series verdicts instead of vetoing promotion
Oseltamivir Jul 7, 2026
1dfdf65
feat(collectivex): add ep_sizes dispatch filter for comprehensive EP8…
Oseltamivir Jul 8, 2026
c7da2b2
refactor(collectivex): remove publication subsystem tests and precisi…
Oseltamivir Jul 8, 2026
6dcd013
refactor(collectivex): strip publication subsystem to neutral sweep a…
Oseltamivir Jul 8, 2026
046ba48
refactor(collectivex): reduce sweep workflow to setup+sweep
Oseltamivir Jul 8, 2026
79d78c8
refactor(collectivex): move executable bench modules to bench/
Oseltamivir Jul 8, 2026
c81af0d
refactor(collectivex): move backend provenance evidence to bench/ep_p…
Oseltamivir Jul 8, 2026
f0d331a
fix(collectivex): repair EP emit path and drop publication_status field
Oseltamivir Jul 8, 2026
bc92d04
refactor(collectivex): prune precision-probe and required-publication…
Oseltamivir Jul 8, 2026
69650dc
docs(collectivex): rewrite README and methodology to sweep-only MVP
Oseltamivir Jul 8, 2026
5dd82be
fix(collectivex): strip drift fields from emitted raw document
Oseltamivir Jul 8, 2026
fbe117a
fix(collectivex): keep shard-control path importable without jsonschema
Oseltamivir Jul 8, 2026
c090670
fix(collectivex): reconcile raw emission and launcher with trimmed sc…
Oseltamivir Jul 8, 2026
00f4a35
ci(collectivex): provision host jsonschema for sweep contract validation
Oseltamivir Jul 8, 2026
538adc0
refactor(collectivex): neutral schedule→execute→validate→upload backe…
Oseltamivir Jul 8, 2026
3e1fe05
no more chinese
Oseltamivir Jul 8, 2026
bb1d618
refactor(collectivex): drop dead code and a redundant profile override
Oseltamivir Jul 8, 2026
f9d1053
refactor(collectivex): drop contract/schema layer; success is return-…
Oseltamivir Jul 8, 2026
16f6cdf
feat(collectivex): dump verbatim stage-log tail on failure; tolerate …
Oseltamivir Jul 8, 2026
d99b6de
fix(collectivex): remove persistent pyxis container on allocation tea…
Oseltamivir Jul 8, 2026
ee379f0
refactor(collectivex): fetch pinned DeepEP source per shard, drop see…
Oseltamivir Jul 8, 2026
3af46f3
cleanup sweep.yml
Oseltamivir Jul 8, 2026
9d741ca
feat(collectivex): enable MoRI on MI355X EP8
Oseltamivir Jul 8, 2026
7487dba
fix(collectivex): clear raw config secrets before launcher in sweep
Oseltamivir Jul 8, 2026
c37c316
feat(collectivex): declare MoRI MI355X EP16 runnable (InterNodeV1)
Oseltamivir Jul 8, 2026
a9fd3d5
fix(collectivex): reclassify mi355x mori EP16 as unsupported
Oseltamivir Jul 8, 2026
3d21821
fix(collectivex): keep b300 single-node deepep NVSHMEM on NVLink
Oseltamivir Jul 8, 2026
613fbf1
fix(collectivex): retry network validation on mi-amds allocations
Oseltamivir Jul 8, 2026
d014667
fix(collectivex): stage container squash on every allocated node
Oseltamivir Jul 9, 2026
8ffd435
fix(collectivex): disable NVSHMEM remote transport for single-node b3…
Oseltamivir Jul 9, 2026
11b8cfa
refactor(collectivex): drop uccl/nccl-ep backends, EPLB dimension, an…
Oseltamivir Jul 9, 2026
2757def
reduce common.sh
Oseltamivir Jul 9, 2026
66b3e52
refactor(collectivex): solidify backend to sweep-only MVP
Oseltamivir Jul 9, 2026
f48797a
refactor(collectivex): trim runtime to sweep-only core + fix staging …
Oseltamivir Jul 9, 2026
4ff99f4
fix(collectivex): restore canonical flag dropped with workload machinery
Oseltamivir Jul 9, 2026
2e38019
fix(collectivex): restore network-profile marker contract lost in pro…
Oseltamivir Jul 9, 2026
d8d93e5
refactor(collectivex): finish removing base deepep and dead env plumbing
Oseltamivir Jul 9, 2026
47c0a5a
refactor(collectivex): deduplicate the per-node backend-env loader sn…
Oseltamivir Jul 9, 2026
9a530bc
test(collectivex): lock the launcher↔stage.py argv contract
Oseltamivir Jul 9, 2026
dcdf96c
refactor(collectivex): one case codec, one host-driven shard loop
Oseltamivir Jul 9, 2026
89cf184
fix(collectivex): pin venv site-packages on PYTHONPATH for deepep-v2
Oseltamivir Jul 9, 2026
00e171b
refactor(collectivex): consolidate workload config, prune dead backen…
Oseltamivir Jul 9, 2026
7da855b
refactor(collectivex): CI-honesty gate, drop mi325x plumbing, reconci…
Oseltamivir Jul 9, 2026
92fd074
refactor(collectivex): rename cx_/CX_ symbols to collx_/COLLX_
Oseltamivir Jul 10, 2026
53bb71d
feat(collectivex): denser token ladders + 1024-sample timing (v2 meth…
Oseltamivir Jul 10, 2026
ff71615
fix(collectivex): correct mi355x mori-EP16 wall basis (ROCm-SHMEM val…
Oseltamivir Jul 10, 2026
109b35e
feat(collectivex): re-add mi325x to the AMD matrix (runners back online)
Oseltamivir Jul 10, 2026
ee9db09
fix(collectivex): pin gfx942 MoRI arch for mi325x (missed in re-add)
Oseltamivir Jul 10, 2026
d8526a9
chore(collectivex): gitignore configs/network-config.v1.json (local o…
Oseltamivir Jul 10, 2026
8594470
feat(collectivex): tracked network-config.json + un-wall mi355x mori …
Oseltamivir Jul 10, 2026
5a08164
feat(collectivex): drop mi355x mori-EP16 wall (selectors wired via ne…
Oseltamivir Jul 10, 2026
076df36
feat(collectivex): add correct nccl-ep backend, drop deepep-hybrid
Oseltamivir Jul 10, 2026
5a990dd
ci(collectivex): sweep backend choices — add nccl-ep, drop deepep-hybrid
Oseltamivir Jul 10, 2026
acbc397
fix(collectivex): allow nccl-ep in launcher backend gates
Oseltamivir Jul 10, 2026
8755cd2
refactor(collectivex): drop redundant deepep-v2 tree pin + nccl-check…
Oseltamivir Jul 10, 2026
fa559f3
refactor(collectivex): remove nccl-ep backend; cleanup + slop removal
Oseltamivir Jul 10, 2026
ca4aed1
refactor(collectivex): single-source timing/seed/ladders in suites.yaml
Oseltamivir Jul 10, 2026
0630f40
refactor(collectivex): trim emitted artifact + dead provenance, dedup…
Oseltamivir Jul 11, 2026
87fbcb6
fix(collectivex): resolve config.py by absolute source path in merge …
Oseltamivir Jul 11, 2026
038a8f4
refactor(collectivex): warm measured shapes; drop the separate condit…
Oseltamivir Jul 11, 2026
9e64b0f
refactor(collectivex): single platform_config.json registry; schedule…
Oseltamivir Jul 11, 2026
5c358f9
fix(collectivex): never exclude .shards from repo staging
Oseltamivir Jul 11, 2026
e8065c3
feat(collectivex): de-secrete per-SKU operator/network baseline into …
Oseltamivir Jul 11, 2026
8e59331
fix(collectivex): merge-operator-config tolerates an absent base secret
Oseltamivir Jul 11, 2026
c995e8b
feat(collectivex): de-secrete gb200/gb300/mi300x baselines; runtime s…
Oseltamivir Jul 11, 2026
f763ce1
fix(collectivex): restore git safe.directory in deepep source prep (b…
Oseltamivir Jul 11, 2026
bfe0d20
refactor(collectivex): require matrix-provided case args; drop dead m…
Oseltamivir Jul 11, 2026
cf2997f
refactor(collectivex): collapse capability.py + backends.json into pl…
Oseltamivir Jul 12, 2026
51c49db
refactor(collectivex): remove operator-config secret path; 256 trials…
Oseltamivir Jul 12, 2026
53e6d97
feat(collectivex): schedule b300 deepep-v2 EP16
Oseltamivir Jul 12, 2026
dbf1103
feat(collectivex): registry-driven images, NCCL NIC-fusion EP16 un-wa…
Oseltamivir Jul 12, 2026
626fe40
fix(collectivex): model the two-level combine reduction so scale-out …
Oseltamivir Jul 13, 2026
4942643
refactor(collectivex): consolidate config to sweep.json, backends-map…
Oseltamivir Jul 13, 2026
ab54513
fix(collectivex): mi355x EP16 uses MoRI VMM_HEAP, not the failing sta…
Oseltamivir Jul 13, 2026
03fc762
chore(collectivex): drop AGENTS.md language override (out of scope fo…
Oseltamivir Jul 14, 2026
dc77085
feat(collectivex): record per-SKU scale-out fabric (NIC + switch) in …
Oseltamivir Jul 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
273 changes: 172 additions & 101 deletions .github/workflows/collectivex-sweep.yml

Large diffs are not rendered by default.

14 changes: 14 additions & 0 deletions experimental/CollectiveX/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
__pycache__/
*.pyc
results/
unsupported/
.shards/
.collx_workloads/
.collx_backend/
/matrix_full.json
gpucore.*

# Local plans and infrastructure inventory.
goal.md
notes.md
private-infra.md
152 changes: 152 additions & 0 deletions experimental/CollectiveX/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
# CollectiveX

CollectiveX is an experimental MoE expert-parallel communication benchmark. It measures dispatch,
combine, and paired roundtrip latency across EP libraries and accelerator systems, then uploads
neutral result artifacts.

CollectiveX schedules benchmarks, executes them on real allocations, and uploads the neutral
artifacts each run emits. It does not validate those artifacts, promote, rank, recommend, select, or
decide what a consumer displays. Any downstream display or comparison is the consumer's
responsibility. The full measurement methodology is in [docs/methodology.md](docs/methodology.md).

## Execution Profile

The workload uses packed placement and one pinned `fixed-profile` resource configuration per
backend/topology; there is no tuning sweep. Dispatch and combine are fixed BF16 on every backend;
precision is not a swept dimension. Every case runs the single normal-mode contract:

- Normal mode uses `layout-and-dispatch-v1`, rank-deduplicated token payloads, and activation-only
combine. Coverage is uniform routing only.

Cases use a fixed timing profile from `configs/sweep.json`: 256 trials x 8 timed iterations (2048
samples per component) with 32 synchronized full roundtrip warmups before each measured component at
every trial/point. Component measurement order rotates each trial so every timed component occupies
every position in the sequence; each iteration takes the cross-rank maximum before nearest-rank
p50/p90/p95/p99, and roundtrip p99 is the headline latency. A keyed BLAKE2b counter produces
byte-identical routing and gate weights on every runtime.

Correctness is checked against an implementation-independent oracle that reproduces the backend's
two-level reduction — intra-scale-up-domain FP32, then a BF16 cast of each domain's partial for the
scale-out send. The combine gate is a tight max elementwise relative error below `8 * 2^-8`
(denominator clamped at 0.02), which holds across scale-up and multi-node scale-out topologies
alike. Any failed rank or point makes the case ineligible in the result it writes.

The matrix covers H100, H200, B200, B300, GB200, GB300, MI300X, MI325X, and MI355X. `sweep_matrix.py` materializes
the requested SKUs, backends, EP sizes, and token ladders, then extracts strict per-shard controls
and rejects missing, stale, malformed, or altered shard controls. `--only-sku`, `--exclude-skus`, and
`--ep-sizes` select a subset; the matrix is generated per dispatch, with no frozen digest or locked
case count.

| Systems | EP8 | EP16 |
|---|---|---|
| H100/H200/B200/B300 | 1x8 NVLink, scale-up | 2x8 NVLink + RDMA, scale-out |
| MI300X/MI325X/MI355X | 1x8 XGMI, scale-up | 2x8 XGMI + RDMA, scale-out |
| GB200/GB300 | 2x4 MNNVL, scale-up | 4x4 MNNVL, scale-up |

Physical host count does not determine scope: both GB topologies stay inside one 72-GPU MNNVL
scale-up domain.

| Backend | Current scope |
|---|---|
| DeepEP V2 | PR #605 `ElasticBuffer` plus exact upstream #630 and #640 fixes: LSA for scale-up and GIN for x86 EP16 scale-out |
| MoRI | AMD EP8 uses IntraNode-family kernels (MI355X IntraNode, MI300X/MI325X asyncLL); EP16 pins InterNodeV1 over 2x8 XGMI + RDMA |

DeepEP V2 means the `ElasticBuffer` implementation introduced by
[DeepEP PR #605](https://github.com/deepseek-ai/DeepEP/pull/605), not a newer legacy `Buffer` build.
The pinned source is the [PR #630](https://github.com/deepseek-ai/DeepEP/pull/630) head, whose parent
is the #605 merge tree, plus the exact one-line library matcher from upstream
[PR #640](https://github.com/deepseek-ai/DeepEP/pull/640). The first fixes pure scale-up
initialization when GIN is unavailable; the second prevents NCCL shared-memory mappings from being
misclassified as duplicate NCCL libraries. Scale-up cases request NCCL Device API LSA and fail closed
unless the realized LSA team covers the full EP world. x86 EP16 scale-out cases instead require the
hybrid path with GIN, two logical scale-out domains represented by two physical RDMA ranks, and eight
scale-up ranks per domain; GB EP16 remains MNNVL scale-up and therefore uses LSA. Whether a given
SKU/backend/EP cell is attempted is a capability fact; whether it succeeded is decided by the
benchmark's return code.

## Workflow And Artifacts

`.github/workflows/collectivex-sweep.yml` has two jobs. `setup` generates a public-SKU matrix
(`backend`, `only_sku`, `exclude_skus`, `ep_sizes` inputs) and uploads the matrix.
`sweep` extracts a strict ignored `.shards/<id>.json` control per matrix entry, executes one
allocation per shard, fetches pinned DeepEP source before allocation when required, and uploads the
result artifacts with `always()` so a red or partial run still uploads.

Each shard emits per-case result JSON and a small mechanical summary. A case counts as successful on
the benchmark's own return code; there is no completeness or privacy validation step, and failed or
unsupported cells produce no synthetic record. No step promotes a run,
builds a dataset, or advances a channel; the neutral artifacts are the output. A consumer downloads
them and decides what to display.

No operator credentials are passed to the workflow or uploaded; runner-local overrides and any
selectors stay on the runner. Per-step runner logs are kept on the runner for postmortem, and
result artifacts carry only the fields listed in the methodology.

## Runner Configuration

Each SKU's Slurm and storage values come from its tracked baseline in the registry. An optional
runner-local JSON document at `$XDG_CONFIG_HOME/inferencex/collectivex.json` or
`COLLECTIVEX_OPERATOR_CONFIG` overlays that baseline per field; unknown runners, fields, duplicate
keys, and non-JSON input fail closed, and configuration is never evaluated as shell. GHA passes no
operator secret, so a SKU runs entirely from its tracked baseline unless a runner-local document is
present.

All public per-SKU platform data lives in the tracked `configs/platform_config.json` registry:
architecture/product, container image and platform, fixed placement, launcher, runnable backend/EP
pairs, the scale-out `fabric` identity (NIC and switch — so same-GPU clusters on different fabrics
are distinct entries, e.g. a second b200 cluster), tracked operator defaults, and scale-out RDMA
selectors. Operator documents can override the defaults. Launchers
declare and check the fields they actually require. `sweep_matrix.py` derives EP topology from the
placement fields; the sweep includes every registered SKU by default.

Every selected non-MNNVL EP16 placement additionally requires `socket_ifname` and `rdma_devices` for
its operator-approved fabric; optional `ib_gid_index`, `rdma_service_level`, `rdma_traffic_class`,
and `rail_isolated` are also allowlisted. Service level and traffic class are mapped into MoRI's
RDMA/IO QoS environment.
CollectiveX does not heuristically select a management route or HCA. After allocation, every
non-MNNVL scale-out node must prove that all configured interfaces and active HCA ports exist before
backend setup. Scale-up and MNNVL jobs clear these overrides. Scale-out NCCL/RCCL is pinned to `IB`
with exact-match HCA selectors so a socket fallback fails instead of being mislabeled as RDMA.
Scale-out also disables NCCL dual-port NIC fusion (`NCCL_IB_MERGE_NICS=0`): a fused device disables
NCCL GIN, which the DeepEP V2 EP16 hybrid path requires, and a rail-isolated fabric
(`rail_isolated=1`, e.g. B300's multi-plane RoCE) additionally sets `NCCL_CROSS_NIC=0`.

`ib_gid_index` is applied only when every selected HCA port reports an Ethernet link layer, where it
selects the operator-approved RoCE GID. Native InfiniBand profiles retain explicit HCA and service
level pinning but leave the RoCE-only GID override unset so NVSHMEM/NCCL can use the native LID path.
Mixed Ethernet and InfiniBand HCA lists are rejected.

`stage_dir` is a pre-existing, runner-owned, non-symlinked base outside the checkout and workflow
workspace. It is not group- or world-writable and is visible at the same path on the runner and every
allocated node. Jobs create only a marked mode-0700 execution child, prove cross-node read/write
visibility, and remove that exact child after allocation teardown; they never mount the runner
checkout or create a stage beneath image storage on AMD. When an AMD operator row omits `stage_dir`,
the runner derives a private base beside its standard `_work` directory on the shared runner
filesystem; the root-owned squash cache is never used as a repository stage.

H200, B200, and B300 runners may omit `stage_dir`; their isolated execution child is created under a
runner-owned mode-0700 base in the validated operating-system account home, independent of the
workflow's temporary `HOME`. H100 may also omit `stage_dir`; its private base is created beside, never
beneath, the configured shared container directory so it is compute-visible. Canonical B300 execution
ignores any legacy configured `stage_dir` and always uses the validated compute-visible account-home
base; an execution-ID suffix isolates parallel B300 workers. Canonical GB300 execution likewise
ignores its legacy group-writable `stage_dir` and derives an execution-specific private base beneath the
validated compute-visible account home. Backend preparation runs from that staged tree on every node.

Enroot imports the configured image tag into a per-run-scoped squash keyed by image tag and image
platform, so one run never reuses another run's imported filesystem. The image tag and platform are
per-SKU registry fields; the DeepEP V2 source pin lives in `runtime/common.sh` and its build is
fetched and verified at the pinned commit, checked for `ElasticBuffer`, and cached in a
cluster-local build cache keyed by architecture, image, and commit. Only the fixed `/cx-cache` mount
reaches the container.

## Local Checks

```bash
python3 -m unittest discover experimental/CollectiveX/tests -p 'test_*.py'
python3 experimental/CollectiveX/sweep_matrix.py --backend all --out /tmp/cx-matrix.json >/dev/null
bash -n experimental/CollectiveX/runtime/*.sh experimental/CollectiveX/launchers/*.sh
```

Core paths are `configs/`, `sweep_matrix.py`, `summarize.py`, `bench/`, `runtime/`, `launchers/`,
and `tests/`.
Loading