<!-- llms-explorer concept facts · https://llms-explorer.com/tree/exo-pinned-mlx-fork/ · pack 2026-10-05 · ~582 tokens -->

# exo pinned MLX fork

> Existing coverage: exo-cluster-software.md and exo-vs-mlx-launch-tensor-parallel-throughput-comparison.md already state that exo pins mlx==0.32.0 from rltakashige/mlx-jaccl-fix-small-recv branch address-rdma-gpu-locks and mlx-lm from rltakashige/mlx-lm branch leo/deepseek-v4; nothing is restated ...

Parent: [Mac local LLMs: Clusters, RDMA, exo and ds4](https://llms-explorer.com/tree/mac-local-llms-clusters-rdma-exo-ds4/) · 1 facets · 7 facts · page: https://llms-explorer.com/tree/exo-pinned-mlx-fork/

## Facts

- Existing coverage: exo-cluster-software.md and exo-vs-mlx-launch-tensor-parallel-throughput-comparison.md already state that exo pins mlx==0.32.0 from rltakashige/mlx-jaccl-fix-small-recv branch address-rdma-gpu-locks and mlx-lm from rltakashige/mlx-lm branch leo/deepseek-v4; nothing is restated here — source: `asserted`
- The fork repository page lists 8 branches, 1 tag, 1,807 commits and 8 forks, and its README is the unmodified upstream MLX README — [source](https://github.com/rltakashige/mlx-jaccl-fix-small-recv)
- The fork's latest visible commit is upstream's 'Fix jaccl init bug (#3418)' by angeloskath dated Apr 16 2026, so the fork carries no commit newer than that upstream state — [source](https://github.com/rltakashige/mlx-jaccl-fix-small-recv)
- A downstream exo fork (adurham) pinned mlx back to commit f8bac642 on May 1 2026 because upstream's JACCL barrier merge (3835dbab) uses Dtype::UInt8 and non-virtual override markers that do not compile against the exo fork's Dtype and base-class state — [source](https://github.com/exo-explore/exo/pull/1993)
- The same downstream merge note says exo itself did not use barrier() at that time, so reverting the barrier merge was safe for them — [source](https://github.com/exo-explore/exo/pull/1993)
- Every upstream mlx bump therefore needs a manual rebase of the exo fork; a 562-commit lag plus an incompatible upstream JACCL change shows the pin is not tracking MLX main — source: `asserted`
- exo's lock file resolved the fork branch to commit cc3f3e6 while the fork tip e983561 'Prevent GPU timeouts' hangs test_eval_slow_fast_multi_stream with the flag on (already in mlx-metal-fast-synch dossier); a user building from the branch name instead of the lock gets a different MLX than exo ships — source: `asserted`
