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. Some citations identify archived research reports that are no longer hosted on this site. 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.