Setup
- 2× Mac Studio M3 Ultra 512GB, direct Thunderbolt 5 cable (80 Gb/s link), RDMA enabled on both (
rdma_ctl enabled), macOS 26.5.2
- EXO 1.0.71 (EXO-latest.dmg from assets.exolabs.net — same as the latest GitHub release)
- Model: GLM-5.2-DQ4plus-q8 (433GB, mlx-community), local weights, Tensor sharding, MlxJaccl, both nodes
- Cluster forms cleanly: 2 nodes, 2 connections, jaccl devices
[[null,"rdma_en3"],["rdma_en3",null]]
Symptom
Needle-in-haystack test at temperature 0 (N sentences "Section i has internal code C(3i+1)", ask for the code of section N/2):
| prompt tokens |
result |
| ~370 |
correct |
| ~2,100 |
correct |
| ~2,650 |
correct |
| ~4,500 |
garbage ("0.0.00…") |
| ~7,300 |
garbage |
| ~15,000 |
garbage |
Short prompts and decode are always clean and fast. Above ~4k prompt tokens the output degrades to token salad, deterministically.
We see the same corruption pattern (slightly lower threshold) running bare mlx.launch --backend jaccl + mlx_lm.server outside EXO, so this looks like the upstream MLX JACCL issue rather than EXO's own code — filed with full repro as ml-explore/mlx#4342, likely same root as ml-explore/mlx#3149 (consecutive send/recv with different shapes produces wrong data).
Question
The public 1.0.71 build predates several main-branch changes that look relevant: "Misc fixes: upstream JACCL all_sum" (#1952), "MLX P/D" (#1993), and the libp2p→zenoh migration (#2132). Recent press coverage of 4-node clusters also mentions patched builds beyond the public DMG.
- Does current main (or an internal build) fix long-prompt corruption over JACCL tensor parallelism?
- If so, is a new DMG release planned, or is building from source the recommended path today?
Happy to run any diagnostic or test builds on this 2-node setup — it reproduces in minutes.
Setup
rdma_ctl enabled), macOS 26.5.2[[null,"rdma_en3"],["rdma_en3",null]]Symptom
Needle-in-haystack test at temperature 0 (N sentences "Section i has internal code C(3i+1)", ask for the code of section N/2):
Short prompts and decode are always clean and fast. Above ~4k prompt tokens the output degrades to token salad, deterministically.
We see the same corruption pattern (slightly lower threshold) running bare
mlx.launch --backend jaccl+mlx_lm.serveroutside EXO, so this looks like the upstream MLX JACCL issue rather than EXO's own code — filed with full repro as ml-explore/mlx#4342, likely same root as ml-explore/mlx#3149 (consecutive send/recv with different shapes produces wrong data).Question
The public 1.0.71 build predates several main-branch changes that look relevant: "Misc fixes: upstream JACCL all_sum" (#1952), "MLX P/D" (#1993), and the libp2p→zenoh migration (#2132). Recent press coverage of 4-node clusters also mentions patched builds beyond the public DMG.
Happy to run any diagnostic or test builds on this 2-node setup — it reproduces in minutes.