Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
253 commits
Select commit Hold shift + click to select a range
867f5d5
Revert "fix(collectivex): provision audit salt independently"
Oseltamivir Jul 5, 2026
81c1ce8
fix(collectivex): isolate precision probe failures
Oseltamivir Jul 5, 2026
8a6409d
fix(collectivex): report sanitized config validation codes
Oseltamivir Jul 5, 2026
e3533bd
fix(collectivex): unblock bounded precision probes
Oseltamivir Jul 5, 2026
903285e
fix(collectivex): refine operator config diagnostics
Oseltamivir Jul 5, 2026
d639485
fix(collectivex): identify missing operator fields safely
Oseltamivir Jul 5, 2026
d8f12e4
fix(collectivex): use isolated shared-stage fallback
Oseltamivir Jul 5, 2026
8887ed5
fix(collectivex): align canonical staging fallback
Oseltamivir Jul 5, 2026
a1502cf
fix(collectivex): report probe failure stages
Oseltamivir Jul 5, 2026
8eba0bd
fix(collectivex): classify stage validation failures
Oseltamivir Jul 5, 2026
6278cb4
fix(collectivex): isolate shared staging fallback
Oseltamivir Jul 5, 2026
3360702
fix(collectivex): permit sticky shared staging
Oseltamivir Jul 5, 2026
7cc75ca
fix(collectivex): stage from private runner home
Oseltamivir Jul 5, 2026
0715bb6
fix(collectivex): use runner account stage
Oseltamivir Jul 5, 2026
d3358c4
fix(collectivex): resolve canonical account staging
Oseltamivir Jul 5, 2026
395eef6
fix(collectivex): isolate account stage root
Oseltamivir Jul 5, 2026
862c812
fix(collectivex): tighten V1 decision contracts
Oseltamivir Jul 5, 2026
b87b6f2
fix(collectivex): classify probe exceptions
Oseltamivir Jul 5, 2026
fd40dc4
fix(collectivex): classify probe error origins
Oseltamivir Jul 5, 2026
3fe7391
fix(collectivex): classify probe validation failures
Oseltamivir Jul 5, 2026
6127465
fix(collectivex): validate native combine inputs
Oseltamivir Jul 5, 2026
15d19a2
fix(collectivex): validate codec-specific correctness
Oseltamivir Jul 5, 2026
f15f04e
fix(collectivex): protect downloaded source archive
Oseltamivir Jul 5, 2026
df3528f
fix(collectivex): freeze backend source validation
Oseltamivir Jul 5, 2026
f361c1e
fix(collectivex): archive pinned source roots
Oseltamivir Jul 5, 2026
ce1f531
fix(collectivex): align runner topology capabilities
Oseltamivir Jul 5, 2026
5e96e43
fix(collectivex): align shared stage schema
Oseltamivir Jul 5, 2026
91a08ab
fix(collectivex): stage H100 on shared storage
Oseltamivir Jul 5, 2026
eab3aa1
fix(collectivex): ignore stale B300 stage config
Oseltamivir Jul 5, 2026
4aa236a
feat(collectivex): record validated precision cells
Oseltamivir Jul 5, 2026
99b08a6
fix(collectivex): isolate B300 staging by execution
Oseltamivir Jul 5, 2026
7d0dd46
fix(collectivex): handle B300 NFS UID mapping
Oseltamivir Jul 5, 2026
929047c
fix(collectivex): isolate GB300 staging
Oseltamivir Jul 5, 2026
ba5831f
feat(collectivex): record completed H100 precision cells
Oseltamivir Jul 5, 2026
8e021c9
test(collectivex): update frozen matrix baseline
Oseltamivir Jul 5, 2026
328d30e
fix(collectivex): clean UID-mapped B300 stages
Oseltamivir Jul 5, 2026
b08a190
feat(collectivex): resolve H100 UCCL fused probes
Oseltamivir Jul 5, 2026
9ceb93d
fix(collectivex): use NVLink for B300 EP8 NVSHMEM
Oseltamivir Jul 5, 2026
7e26390
feat(collectivex): record completed GB300 precision cells
Oseltamivir Jul 5, 2026
39776a8
feat(collectivex): record completed B300 precision cells
Oseltamivir Jul 5, 2026
a617860
feat(collectivex): complete GB300 precision inventory
Oseltamivir Jul 5, 2026
26e4cce
chore(collectivex): expose private V2 version mismatch
Oseltamivir Jul 5, 2026
a52211f
feat(collectivex): add private network config overlay
Oseltamivir Jul 5, 2026
0bfe3dd
fix(collectivex): load merged runner config
Oseltamivir Jul 5, 2026
58160de
fix(collectivex): bind B300 low latency RDMA
Oseltamivir Jul 5, 2026
1ed28ac
fix(collectivex): accept pinned V2 local builds
Oseltamivir Jul 5, 2026
2cb27a7
fix(collectivex): normalize exact HCA selectors
Oseltamivir Jul 5, 2026
eae76f7
fix(collectivex): enable pinned NVSHMEM HCA mapping
Oseltamivir Jul 5, 2026
7fb6566
fix(collectivex): repair V2 identity and AMD staging
Oseltamivir Jul 5, 2026
ab729d9
fix(collectivex): stabilize multinode startup
Oseltamivir Jul 5, 2026
2b77bdd
fix(collectivex): distinguish native IB from RoCE
Oseltamivir Jul 5, 2026
70c9ac1
fix(collectivex): use runner-owned AMD staging
Oseltamivir Jul 5, 2026
0525275
fix(collectivex): validate RDMA on allocated nodes
Oseltamivir Jul 5, 2026
43d91c4
test(collectivex): record terminal EP probe outcomes
Oseltamivir Jul 5, 2026
9ac3a64
fix(collectivex): diagnose NCCL transport guards
Oseltamivir Jul 5, 2026
fbfb77d
fix(collectivex): classify HCA selector shape
Oseltamivir Jul 5, 2026
582451d
fix(collectivex): restore exact HCA selection
Oseltamivir Jul 5, 2026
50b559d
fix(collectivex): normalize HCA selection per rank
Oseltamivir Jul 5, 2026
e9a87c3
fix(collectivex): reconcile cancelled allocations
Oseltamivir Jul 5, 2026
8e7410f
chore(collectivex): classify probe failure stages
Oseltamivir Jul 5, 2026
f6a0f61
fix(collectivex): apply case-aware network profiles
Oseltamivir Jul 5, 2026
188e2b1
fix(collectivex): reopen invalid B300 LL probes
Oseltamivir Jul 5, 2026
c19f7f3
fix(collectivex): reopen invalid B300 EP16 probes
Oseltamivir Jul 5, 2026
55f6a7c
test(collectivex): record B300 LL support
Oseltamivir Jul 5, 2026
3f41d52
fix(collectivex): support private B200 placement
Oseltamivir Jul 5, 2026
34ad173
fix(collectivex): diagnose distributed probe stalls
Oseltamivir Jul 5, 2026
c27e583
fix(collectivex): pin validated B200 pair
Oseltamivir Jul 5, 2026
51fca02
feat(collectivex): filter exact capability probes
Oseltamivir Jul 5, 2026
9b20b4b
fix(collectivex): restore rank network profile
Oseltamivir Jul 5, 2026
57e9f3e
fix(collectivex): reopen H100 EP16 probes
Oseltamivir Jul 5, 2026
b958214
fix(collectivex): classify rail preflight failures
Oseltamivir Jul 5, 2026
9b031c6
test(collectivex): record H100 EP16 support
Oseltamivir Jul 5, 2026
ab2e3ff
test(collectivex): finalize H100 EP16 capabilities
Oseltamivir Jul 5, 2026
5e333a0
test(collectivex): classify B200 EP16 timeout
Oseltamivir Jul 5, 2026
8981efb
fix(collectivex): isolate exact probe concurrency
Oseltamivir Jul 5, 2026
285ff58
fix(collectivex): carry MoRI RDMA QoS
Oseltamivir Jul 5, 2026
b414089
fix(collectivex): expose bounded probe timeout stage
Oseltamivir Jul 5, 2026
7b9094a
feat(collectivex): isolate MI355 network overlay
Oseltamivir Jul 5, 2026
887df29
fix(collectivex): localize probe memory failures
Oseltamivir Jul 5, 2026
917a404
test(collectivex): classify B200 logfmt timeout
Oseltamivir Jul 5, 2026
2b95870
fix(collectivex): bound unknown probe failures
Oseltamivir Jul 5, 2026
cb8137f
test(collectivex): classify B200 V2 memory limit
Oseltamivir Jul 5, 2026
63d1ae9
test(collectivex): classify B200 FP8 timeout
Oseltamivir Jul 5, 2026
a56b5be
test(collectivex): classify B200 fused logfmt timeout
Oseltamivir Jul 5, 2026
e560192
test(collectivex): finalize B200 EP16 capabilities
Oseltamivir Jul 5, 2026
aef7030
feat(collectivex): close B300 V1 publication cells
Oseltamivir Jul 5, 2026
e3302c5
fix(collectivex): prioritize probe stage diagnostics
Oseltamivir Jul 5, 2026
44b6f86
test(collectivex): classify MI355 EP8 construction
Oseltamivir Jul 5, 2026
0e300a8
fix(collectivex): exclude non-native B300 EP16
Oseltamivir Jul 5, 2026
6131cab
test(collectivex): close MI355 EP16 precision
Oseltamivir Jul 5, 2026
f997ac2
docs(collectivex): align pre-v1 status
Oseltamivir Jul 5, 2026
ecc4747
feat(collectivex): freeze seven-sku v1 matrix
Oseltamivir Jul 6, 2026
e095702
fix(collectivex): register precision unsupported outcomes
Oseltamivir Jul 6, 2026
58d94e3
fix(collectivex): normalize private numeric selectors
Oseltamivir Jul 6, 2026
20b51e0
fix(collectivex): preserve shard runtime identity
Oseltamivir Jul 6, 2026
72008d3
fix(collectivex): initialize MNNVL rank wrappers
Oseltamivir Jul 6, 2026
907bed6
fix(collectivex): validate precision oracle tolerances
Oseltamivir Jul 6, 2026
d403bf0
fix(collectivex): retry unhealthy H100 allocations
Oseltamivir Jul 6, 2026
435f883
fix(collectivex): accept opaque logfmt scale evidence
Oseltamivir Jul 6, 2026
45a4200
fix(collectivex): preserve allocation retry logs
Oseltamivir Jul 6, 2026
c48a29f
fix(collectivex): isolate network retry logs
Oseltamivir Jul 6, 2026
fa671a0
feat(collectivex): add MI300X qualification
Oseltamivir Jul 6, 2026
5917676
test(collectivex): cover MI300X operator overlay
Oseltamivir Jul 6, 2026
fa807ec
fix(collectivex): promote MI300X EP8 precision
Oseltamivir Jul 6, 2026
8d2501d
fix(collectivex): accept pinned DeepEP V2 package metadata
Oseltamivir Jul 6, 2026
3a6d258
fix(collectivex): record B200 EP16 backend limits
Oseltamivir Jul 6, 2026
5d6fda1
fix(collectivex): allow MI300X shared staging overlay
Oseltamivir Jul 6, 2026
2b980bf
fix(collectivex): record DeepEP V2 EP16 QP limits
Oseltamivir Jul 6, 2026
e36fc43
fix(collectivex): resolve MI300X shared stage aliases
Oseltamivir Jul 6, 2026
6df017c
fix(collectivex): avoid unsupported stage metadata copies
Oseltamivir Jul 6, 2026
b00b039
fix(collectivex): avoid stage permission metadata writes
Oseltamivir Jul 6, 2026
97a58b5
fix(collectivex): stage without an rsync dependency
Oseltamivir Jul 6, 2026
fccfe9c
fix(collectivex): unblock B200 and MI300X scale-out
Oseltamivir Jul 6, 2026
0f9d6d4
fix(collectivex): classify isolated stage copy errors
Oseltamivir Jul 6, 2026
5561eed
fix(collectivex): expose sanitized network preflight failures
Oseltamivir Jul 6, 2026
ef1231f
fix(collectivex): resolve scale-out sockets per allocation
Oseltamivir Jul 6, 2026
dd2e1cb
fix(collectivex): classify socket consensus failures
Oseltamivir Jul 6, 2026
b9d6828
fix(collectivex): support per-node socket interface names
Oseltamivir Jul 6, 2026
b337b1e
fix(collectivex): record MI355X MoRI construction limits
Oseltamivir Jul 6, 2026
db6df14
fix(collectivex): preserve backend import failures
Oseltamivir Jul 6, 2026
eff7965
fix(collectivex): align runtime provenance contracts
Oseltamivir Jul 6, 2026
b129445
fix(collectivex): remove MoRI Gloo scale-out dependency
Oseltamivir Jul 6, 2026
05727e0
fix(collectivex): budget DeepEP V2 GIN QP allocation
Oseltamivir Jul 6, 2026
689f5bf
fix(collectivex): mount GDRCopy for B200 DeepEP
Oseltamivir Jul 6, 2026
b233ba9
feat(collectivex): freeze the eight-SKU V1 matrix
Oseltamivir Jul 6, 2026
243bc3b
feat(collectivex): finalize V1 capability dispositions
Oseltamivir Jul 6, 2026
a68c386
fix(collectivex): classify precision runtime failures
Oseltamivir Jul 6, 2026
421274f
fix(collectivex): reenable budgeted DeepEP V2 EP16
Oseltamivir Jul 6, 2026
1aba54d
fix(collectivex): honor MoRI precision probe failures
Oseltamivir Jul 6, 2026
4ee0c5c
fix(collectivex): isolate DeepEP V2 JIT caches per node
Oseltamivir Jul 6, 2026
a5a57c7
fix(collectivex): consume timed MoRI dispatch state
Oseltamivir Jul 6, 2026
a763498
fix(collectivex): disposition H100 combined LL precision
Oseltamivir Jul 6, 2026
10cb061
fix(collectivex): reject unavailable B300 allocations
Oseltamivir Jul 6, 2026
2f8c0cf
fix(collectivex): bind rendezvous to validated interface
Oseltamivir Jul 6, 2026
f8f1498
fix(collectivex): classify collective backend failures
Oseltamivir Jul 6, 2026
4d46e12
fix(collectivex): locate invalid collective usage
Oseltamivir Jul 6, 2026
0d415fa
fix(collectivex): make failed-job reruns reusable
Oseltamivir Jul 6, 2026
d296df4
fix(collectivex): retry AMD container imports
Oseltamivir Jul 6, 2026
d4a6def
fix(collectivex): gather metadata with device tensors
Oseltamivir Jul 6, 2026
95f3635
fix(collectivex): bind RCCL ranks eagerly
Oseltamivir Jul 6, 2026
51267c8
fix(collectivex): size MoRI buffers for skew
Oseltamivir Jul 6, 2026
b7bc163
fix(collectivex): let RCCL select pinned RDMA
Oseltamivir Jul 6, 2026
5f6135d
fix(collectivex): retain healthy AMD allocations
Oseltamivir Jul 6, 2026
af7254a
fix(collectivex): retry AMD imports per node
Oseltamivir Jul 6, 2026
c4edfd1
fix(collectivex): run RCCL without writable overlay
Oseltamivir Jul 6, 2026
ec4ce1b
fix(collectivex): make RCCL containers ephemeral
Oseltamivir Jul 6, 2026
0956012
fix(collectivex): isolate RCCL runtime scratch
Oseltamivir Jul 6, 2026
7e880d8
chore(collectivex): remove ineffective Enroot fallbacks
Oseltamivir Jul 6, 2026
8034b52
fix(collectivex): keep RCCL initialization compatible
Oseltamivir Jul 6, 2026
1f84b95
fix(collectivex): preserve frozen RCCL provenance
Oseltamivir Jul 6, 2026
9d5444c
fix(collectivex): move AMD job state off tmp
Oseltamivir Jul 6, 2026
6954acf
fix(collectivex): conceal AMD shared workspace paths
Oseltamivir Jul 6, 2026
b662466
fix(collectivex): canonicalize AMD source roots
Oseltamivir Jul 6, 2026
4e800d1
fix(collectivex): store AMD diagnostics off tmp
Oseltamivir Jul 6, 2026
48986ca
fix(collectivex): classify scheduler request failures
Oseltamivir Jul 6, 2026
b7962ad
fix(collectivex): expose scheduler submit boundary
Oseltamivir Jul 6, 2026
fe8cc52
fix(collectivex): parse scheduler grants without pipefail
Oseltamivir Jul 6, 2026
dd82818
fix(collectivex): contain scheduler shell wrappers
Oseltamivir Jul 6, 2026
234505b
fix(collectivex): classify retained scheduler logs
Oseltamivir Jul 6, 2026
3507d1b
fix(collectivex): classify Slurm submit failures
Oseltamivir Jul 6, 2026
d2d869b
fix(collectivex): respect MI300X allocation limit
Oseltamivir Jul 6, 2026
1d49de8
fix(collectivex): match MI300X allocation policy
Oseltamivir Jul 6, 2026
7574613
chore(collectivex): encrypt scheduler diagnostics
Oseltamivir Jul 7, 2026
891bdc2
fix(collectivex): preserve verified Slurm grants
Oseltamivir Jul 7, 2026
210401d
fix(collectivex): record AMD Slurm allocations
Oseltamivir Jul 7, 2026
a39ac6a
refactor(collectivex): drop Zipf routing → uniform-only (R1)
Oseltamivir Jul 7, 2026
629e2ea
refactor(collectivex): pin EPLB off at the schedulable edges
Oseltamivir Jul 7, 2026
52acabc
refactor(collectivex): drop logfmt10 combine format (registry 10→8)
Oseltamivir Jul 7, 2026
8aec042
refactor(collectivex): trim normal precision sweep to two profiles
Oseltamivir Jul 7, 2026
eee8128
refactor(collectivex): add inert EPBackend ABC
Oseltamivir Jul 7, 2026
826e81c
refactor(collectivex): cut EP adapters over to the EPBackend ABC
Oseltamivir Jul 7, 2026
d9651f3
refactor(collectivex): drop adapter methods now covered by EPBackend
Oseltamivir Jul 7, 2026
78c3ba9
test(collectivex): unit-test the EPBackend ABC lifecycle
Oseltamivir Jul 7, 2026
7c8fd53
refactor(collectivex): share DeepEP/UCCL adapter surface via family base
Oseltamivir Jul 7, 2026
12afb0c
feat(collectivex): enable B300 EP16 cross-node over RoCE
Oseltamivir Jul 7, 2026
7a081dc
fix(collectivex): wall B300 EP16 DeepEP V1/V2 (no GDRCopy /dev/gdrdrv)
Oseltamivir Jul 7, 2026
906e846
feat(collectivex): publish v1 from a single allocation
Oseltamivir Jul 7, 2026
ad7087c
feat(collectivex): publish v1 from one run in the workflow
Oseltamivir Jul 7, 2026
034dc9a
docs(collectivex): publish v1 from a single run
Oseltamivir Jul 7, 2026
4eb2a68
feat(collectivex): allow partial "v1 tag + success" promotion
Oseltamivir Jul 7, 2026
9e4161c
feat(collectivex): numeric incrementable release version
Oseltamivir Jul 7, 2026
1776e94
feat(collectivex): add --exclude-skus for partial versioned sweeps
Oseltamivir Jul 7, 2026
3e28d7b
feat(collectivex): allow v1 publish from any single consistent attempt
Oseltamivir Jul 7, 2026
0c7d820
fix(collectivex): ship per-series verdicts instead of vetoing promotion
Oseltamivir Jul 7, 2026
2a71bc6
feat(collectivex): add ep_sizes dispatch filter for comprehensive EP8…
Oseltamivir Jul 8, 2026
52d2bee
refactor(collectivex): remove publication subsystem tests and precisi…
Oseltamivir Jul 8, 2026
b09a270
refactor(collectivex): strip publication subsystem to neutral sweep a…
Oseltamivir Jul 8, 2026
6737d2d
refactor(collectivex): reduce sweep workflow to setup+sweep
Oseltamivir Jul 8, 2026
26c6018
refactor(collectivex): move executable bench modules to bench/
Oseltamivir Jul 8, 2026
e439d1b
refactor(collectivex): move backend provenance evidence to bench/ep_p…
Oseltamivir Jul 8, 2026
e27685c
fix(collectivex): repair EP emit path and drop publication_status field
Oseltamivir Jul 8, 2026
7809962
refactor(collectivex): prune precision-probe and required-publication…
Oseltamivir Jul 8, 2026
c80ea09
docs(collectivex): rewrite README and methodology to sweep-only MVP
Oseltamivir Jul 8, 2026
2e94fd4
fix(collectivex): strip drift fields from emitted raw document
Oseltamivir Jul 8, 2026
19cac72
fix(collectivex): keep shard-control path importable without jsonschema
Oseltamivir Jul 8, 2026
d23a255
fix(collectivex): reconcile raw emission and launcher with trimmed sc…
Oseltamivir Jul 8, 2026
b2ba96e
ci(collectivex): provision host jsonschema for sweep contract validation
Oseltamivir Jul 8, 2026
4511b2b
refactor(collectivex): neutral schedule→execute→validate→upload backe…
Oseltamivir Jul 8, 2026
b27ecf5
no more chinese
Oseltamivir Jul 8, 2026
e5f2f9a
refactor(collectivex): drop dead code and a redundant profile override
Oseltamivir Jul 8, 2026
d2c32ce
refactor(collectivex): drop contract/schema layer; success is return-…
Oseltamivir Jul 8, 2026
ba157cb
feat(collectivex): dump verbatim stage-log tail on failure; tolerate …
Oseltamivir Jul 8, 2026
4258e11
fix(collectivex): remove persistent pyxis container on allocation tea…
Oseltamivir Jul 8, 2026
8c273a3
refactor(collectivex): fetch pinned DeepEP source per shard, drop see…
Oseltamivir Jul 8, 2026
07b81ab
cleanup sweep.yml
Oseltamivir Jul 8, 2026
6bd51e9
feat(collectivex): enable MoRI on MI355X EP8
Oseltamivir Jul 8, 2026
0de7df6
fix(collectivex): clear raw config secrets before launcher in sweep
Oseltamivir Jul 8, 2026
b26af81
feat(collectivex): declare MoRI MI355X EP16 runnable (InterNodeV1)
Oseltamivir Jul 8, 2026
cd7bd05
fix(collectivex): reclassify mi355x mori EP16 as unsupported
Oseltamivir Jul 8, 2026
577a89b
fix(collectivex): keep b300 single-node deepep NVSHMEM on NVLink
Oseltamivir Jul 8, 2026
68e5300
fix(collectivex): retry network validation on mi-amds allocations
Oseltamivir Jul 8, 2026
b48da69
fix(collectivex): stage container squash on every allocated node
Oseltamivir Jul 9, 2026
468e34e
fix(collectivex): disable NVSHMEM remote transport for single-node b3…
Oseltamivir Jul 9, 2026
81d051e
refactor(collectivex): drop uccl/nccl-ep backends, EPLB dimension, an…
Oseltamivir Jul 9, 2026
c1f6977
reduce common.sh
Oseltamivir Jul 9, 2026
5506c62
refactor(collectivex): solidify backend to sweep-only MVP
Oseltamivir Jul 9, 2026
f471386
refactor(collectivex): trim runtime to sweep-only core + fix staging …
Oseltamivir Jul 9, 2026
0714cdc
fix(collectivex): restore canonical flag dropped with workload machinery
Oseltamivir Jul 9, 2026
716d67c
fix(collectivex): restore network-profile marker contract lost in pro…
Oseltamivir Jul 9, 2026
729e7f6
refactor(collectivex): finish removing base deepep and dead env plumbing
Oseltamivir Jul 9, 2026
84b557e
refactor(collectivex): deduplicate the per-node backend-env loader sn…
Oseltamivir Jul 9, 2026
a4ee9d0
test(collectivex): lock the launcher↔stage.py argv contract
Oseltamivir Jul 9, 2026
41caeaa
refactor(collectivex): one case codec, one host-driven shard loop
Oseltamivir Jul 9, 2026
817470c
fix(collectivex): pin venv site-packages on PYTHONPATH for deepep-v2
Oseltamivir Jul 9, 2026
8ac006b
refactor(collectivex): consolidate workload config, prune dead backen…
Oseltamivir Jul 9, 2026
db71b86
refactor(collectivex): CI-honesty gate, drop mi325x plumbing, reconci…
Oseltamivir Jul 9, 2026
30100a1
refactor(collectivex): rename cx_/CX_ symbols to collx_/COLLX_
Oseltamivir Jul 10, 2026
dee7849
feat(collectivex): denser token ladders + 1024-sample timing (v2 meth…
Oseltamivir Jul 10, 2026
d6b7ae2
fix(collectivex): correct mi355x mori-EP16 wall basis (ROCm-SHMEM val…
Oseltamivir Jul 10, 2026
36b0830
feat(collectivex): re-add mi325x to the AMD matrix (runners back online)
Oseltamivir Jul 10, 2026
343fb7e
fix(collectivex): pin gfx942 MoRI arch for mi325x (missed in re-add)
Oseltamivir Jul 10, 2026
1b565d9
chore(collectivex): gitignore configs/network-config.v1.json (local o…
Oseltamivir Jul 10, 2026
c1024fc
feat(collectivex): tracked network-config.json + un-wall mi355x mori …
Oseltamivir Jul 10, 2026
6ad2334
feat(collectivex): drop mi355x mori-EP16 wall (selectors wired via ne…
Oseltamivir Jul 10, 2026
33b4c28
feat(collectivex): add correct nccl-ep backend, drop deepep-hybrid
Oseltamivir Jul 10, 2026
825f53f
ci(collectivex): sweep backend choices — add nccl-ep, drop deepep-hybrid
Oseltamivir Jul 10, 2026
9121592
fix(collectivex): allow nccl-ep in launcher backend gates
Oseltamivir Jul 10, 2026
fd6976a
refactor(collectivex): drop redundant deepep-v2 tree pin + nccl-check…
Oseltamivir Jul 10, 2026
a7b85b0
refactor(collectivex): remove nccl-ep backend; cleanup + slop removal
Oseltamivir Jul 10, 2026
3fc555b
refactor(collectivex): single-source timing/seed/ladders in suites.yaml
Oseltamivir Jul 10, 2026
ff4a5c3
refactor(collectivex): trim emitted artifact + dead provenance, dedup…
Oseltamivir Jul 11, 2026
2c7d086
fix(collectivex): resolve config.py by absolute source path in merge …
Oseltamivir Jul 11, 2026
d20d20c
refactor(collectivex): warm measured shapes; drop the separate condit…
Oseltamivir Jul 11, 2026
2424fb4
refactor(collectivex): single platform_config.json registry; schedule…
Oseltamivir Jul 11, 2026
67848a9
fix(collectivex): never exclude .shards from repo staging
Oseltamivir Jul 11, 2026
de533f3
feat(collectivex): de-secrete per-SKU operator/network baseline into …
Oseltamivir Jul 11, 2026
e36d504
fix(collectivex): merge-operator-config tolerates an absent base secret
Oseltamivir Jul 11, 2026
cc2d2cc
feat(collectivex): de-secrete gb200/gb300/mi300x baselines; runtime s…
Oseltamivir Jul 11, 2026
00b21c2
fix(collectivex): restore git safe.directory in deepep source prep (b…
Oseltamivir Jul 11, 2026
b4acbd2
refactor(collectivex): require matrix-provided case args; drop dead m…
Oseltamivir Jul 11, 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
300 changes: 204 additions & 96 deletions .github/workflows/collectivex-sweep.yml

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

Guidance for AI agents working with InferenceX.

> **Temporary language override (highest repository priority):** Until the user explicitly removes this override, ignore any instruction elsewhere in this repository that requires Simplified Chinese or bilingual output, including instructions in later sections, nested agent files, contribution guides, checklists, and templates. Work in English only: do not create or update `_zh.md` files, Chinese documentation, translations, or Chinese text in commits, pull requests, issues, reviews, or comments. Leave existing Chinese content untouched.

> **Mandatory reading: [`CONTRIBUTING.md`](CONTRIBUTING.md)** — read it before opening or reviewing any PR. It covers the full PR review flow, the CODEOWNER sign-off process, the `/reuse-sweep-run` merge path, post-merge responsibilities, and critical cluster rules (e.g. never leaving root-owned files on AMD runners).

> **PR and GitHub-issue titles & descriptions must be bilingual — include a Simplified Chinese version in addition to English.** Title format: `<English title> / <中文标题>`. In the PR/issue body, follow the English content with its Chinese translation (e.g. a `## 中文说明` section mirroring the summary; don't translate code blocks, logs, or stack traces — summarize around them). **PR comments must include a Chinese translation too** — conversation comments, review summaries, and inline review comments alike: short comments as a single `<English> / <中文>` line, longer ones with the Chinese translation as a trailing paragraph (`中文:...`). Exception: the CODEOWNER sign-off template stays English-verbatim (the sign-off verifier triggers on its exact phrase); bot-generated comments follow their own workflow templates. This applies to every PR and every issue, matching the bilingual docs rule in Code Conventions.
Expand Down
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
149 changes: 149 additions & 0 deletions experimental/CollectiveX/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,149 @@
# 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/suites.yaml`: 128 trials x 8 timed iterations (1024 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 the reference activation. The combine gate is `rtol=0.05, atol=0.02`
for the BF16 communication path. 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`, `suites`, `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.

Credentials stay in encrypted config and are never uploaded. Per-step runner logs are kept on the
runner for postmortem; result artifacts carry only the fields listed in the methodology.

## Runner Configuration

Runner-local Slurm and storage values use a strict per-SKU JSON document at
`$XDG_CONFIG_HOME/inferencex/collectivex.json` or `COLLECTIVEX_OPERATOR_CONFIG`. Unknown runners,
fields, duplicate keys, and non-JSON input fail closed; configuration is never evaluated as shell.
GHA passes encrypted `COLLECTIVEX_OPERATOR_CONFIG_V1` content to the launcher, which validates it
and overlays it, per field, onto the tracked baseline. The secret is optional: when it is absent a
SKU runs entirely from its tracked baseline, and any field the baseline already supplies needs no
secret.

All public per-SKU platform data lives in the tracked `configs/platform_config.json` registry:
identity (vendor/arch/machine/product), fixed placement, launcher, the operator-config fields each
SKU must supply (`operator_fields`), the tracked baseline values for those fields (`operator` block,
overridden per field by an operator document/secret when present), and the SKU's scale-out RDMA
selectors (`network` block, overlaid the same way). A SKU whose `operator` block already covers its
`operator_fields` needs no secret; SKUs without a complete baseline stay secret-fed and fail closed
with a `validation-missing-required-*` marker if the secret is gone. `capability.py` derives EP
topologies from it, and a suite's `platforms: all` in `configs/suites.yaml` resolves to every SKU
registered there.

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`, and `rdma_traffic_class`
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.

`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. Backend source pins and image
references live in `configs/backends.json`; the DeepEP V2 build is fetched at the pinned commit,
verified by the wheel's commit-derived local-version tag and `ElasticBuffer` presence, 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
uv run --with-requirements experimental/CollectiveX/requirements.txt \
python -m unittest discover experimental/CollectiveX/tests -p 'test_*.py'
uv run --with-requirements experimental/CollectiveX/requirements.txt \
python experimental/CollectiveX/sweep_matrix.py --backends all --out /tmp/cx-matrix.json >/dev/null
bash -n experimental/CollectiveX/runtime/*.sh experimental/CollectiveX/launchers/*.sh
```

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