mlx.launch jaccl backend flags and hostfile coordinator handling
Parent: Mac local LLMs: Clusters, RDMA, exo and ds4 · Published reference · snapshot 2026-10-05
↓ Facts as markdownall context files
Backend selection falls back from `--backend` to the hostfile backend field, then to nccl when CUDA is available, else ring
These notes link each claim to its source. A source may be a research report hosted on this site rather than the primary document. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.
Facts
- Backend selection falls back from `--backend` to the hostfile backend field, then to nccl when CUDA is available, else ring [source]
- `launch_jaccl` sets `MLX_JACCL_COORDINATOR` to the first IP of rank 0 plus `--starting-port` (default 32323) [source]
- The launcher errors if rank 0 lists no IP, if rdma list length differs from host count, or if a host's own rdma slot is not null [source]
- For jaccl-ring the launcher checks only neighbour pairs (i-1) mod n and (i+1) mod n; for jaccl mesh it checks all pairs [source]
- `jaccl-ring` sets `MLX_JACCL_RING=1`; both modes write the rdma matrix to a remote temp file exported as `MLX_IBV_DEVICES` [source]
- The remote launch script exports `--env` entries in order, then temp-file variables, then `MLX_RANK`, and finally `exec`s the command [source]
- Hostfile `envs` are prepended to `--env`, so command-line values override them [source]
- `--connections-per-ip` is read only by the ring backend launcher, not by the JACCL one [source]
- Wrapping `mlx_lm share` in `mlx.launch` hangs or fails silently according to the mlx-lm issue 955 author, who says its built-in launcher must be used [source]
- The MLX docs recommend `mlx.distributed_config --auto-setup --backend jaccl --over thunderbolt` to produce the hostfile [source]
Children
- No children recorded.