Back to features

RDMA Mesh

Split models across your desk over Thunderbolt 5 RDMA. No NVIDIA required.

Purple links = Thunderbolt 5 RDMA  · Indigo dashed = Tailscale mesh

How distributed inference works

When a model is too large for a single machine, r1o splits it across nodes using tensor parallelism. Each node holds a shard of the model weights and runs its portion of every forward pass. After each layer, an all_reduce operation combines partial results across the RDMA fabric before the next layer begins.

The collective communication library powering this is JACCL Jack and Angelos' Collective Communication Library, built directly into Apple's MLX framework. JACCL uses InfiniBand Verbs over Thunderbolt 5, delivering 3.5–6 GB/s sustained throughput per link with zero CPU copy overhead. No NVIDIA GPUs, no InfiniBand switches, no datacenter hardware — just Thunderbolt cables between Macs on your desk.

1. Shard

Model split across nodes

2. Compute

Each node runs its shard

3. Reduce

RDMA all_reduce combines results

What we contributed

Backend Selection Fix

Patched MLX to correctly select the JACCL backend over Ring when launching distributed inference. Without this, ring::init() silently claims the singleton and JACCL never initializes.

Group.split()

Implemented sub-group communication for mixed tensor parallelism and pipeline parallelism. Uses TCP fallback to avoid ibv_context deadlocks on Apple TB5 hardware.

4-Node Ring

Enabled the jaccl-ring backend for non-mesh topologies where not every node has a direct TB5 cable to every other node. Only left/right RDMA neighbors required.

ARP Filtering

3-layer filter in asmi for clean RDMA peer discovery: active RDMA device, link-local 169.254 IP on local interface, and not self. Eliminates phantom peers.

TB5 class

Per-link bandwidth

+38%

2-node speedup

Measured

Generation (27B class)

Your nodes

Unified cluster RAM