The math of training together.
A collective-communication layer for MLX distributed experiments: one CCL interface, several backends, and the DiLoCo-style outer loop that decides which contributions a shared training run accepts.
Experimental, in the README's own word. The TCP collectives are loopback-validated; true WAN and multi-host transport is deferred, and no production-transport readiness is claimed. Source private today, available for review on request.
What it does- Collectives over TCP — AllReduce, ReduceScatter, AllGather, Broadcast, and Barrier, validated cross-process over loopback with hardware paths gated behind explicit flags.
- DiLoCo outer loop — a Nesterov outer optimizer with versioned submission, minimum quorum, an adaptive grace window, and contribution-weighted merge.
- Robust aggregation — Krum, Bulyan, and coordinate-median gates in the outer layer, so a bad contribution is rejected by math rather than by trust.
- Offline planning — the
magicalplanner maps topology snapshots onto local collective islands without opening sockets or probing hardware in its default path. - Backend seams — in-process, LAN and WAN TCP, an Apple RDMA adapter, and manually gated hooks for vendor libraries, all behind one interface.
mlx-go-iroh moves bytes; mlx-go-ccl defines the collectives, outer-loop schedule, quorum, and aggregation gates that give those bytes meaning during training. mlx-mesh is the integrated surface, and mlx-go-fedistill reuses the outer aggregation. Current evidence is loopback only. A field demonstration remains pending.
source private repo, available for review on request — travis@tmc.dev
docs in progress
contact travis@tmc.dev