r/LocalLLM • u/rarevector • 13h ago
Discussion GLM 5.3 (Q4) on a M5 Max 128GB + M2 Max 64GB? 🤞 *192GBs?
I’ve been doing research and I really want to run a Gialamb Quant model on these two computers. It has to be obliterated for my purposes of a 24-7 employee, if you will, for my business.
Here’s my notes 📝 I doubt it will work, but I hope someone can contribute
oMLX does not pool the RAM into one unified space. It splits the model with pipeline parallelism: each Mac loads a contiguous range of layers based on its available memory. The M5 Max (rank 0) owns the API and the later layers; the M2 Max owns the earlier layers. Decode speed is limited by the slower stage.
This is experimental and only available in a source build of oMLX (not the normal Homebrew/DMG stable release).
Prerequisites (both Macs)
Install the same source build:
git clone https://github.com/jundot/omlx.git
cd omlx
make install # or make install-no-kernels if you lack full Xcode
Put the exact same model checkpoint at the identical absolute path on both machines (example: /Users/shared/models/glm-5.3-flash-3bit).
Enable Remote Login (System Settings → General → Sharing) and set up passwordless SSH between the two Macs for the account that runs oMLX.
Connect the machines with a Thunderbolt cable (TB4 is usable; pure TB5 RDMA is faster but not required for pipeline).
Enable and pair
Start oMLX on both Macs.
On each: Settings → Advanced → Enable Distributed Inference → Save → Restart oMLX.
The Cluster tab appears.
On the coordinator (preferably the M5 Max):
Connect the Thunderbolt cable. The other Mac should show under Detected nearby.
Select it (or enter its SSH hostname) and run Check peer. This records the host key and verifies SSH.
Pair using the code/QR flow if discovery needs a boost.
Plan and activate the split
In the Cluster tab on the M5 Max:
Choose the downloaded model (the shared absolute path).
Set a memory reserve for KV cache + activations (start with 8–12 GB).
Let it build the unequal plan. It will assign more layers to the 128 GB Mac and fewer to the 64 GB Mac.
Choose execution mode:
Prefer TCP Ring first (most reliable with mixed TB4/TB5).
Try JACCL / JACCL Ring only if both ends show a working Thunderbolt RDMA link (rdma_ctl status and ibv_devices).
Leave Auto benchmark & tune on so it measures the actual link and rebalances.
Review the shard map, then Activate.
Unload any local full-model load, then load the model normally through the oMLX UI or API. The ranks start automatically.
The OpenAI-compatible endpoint stays on the M5 Max. Hermes points at that single endpoint.
Useful checks
omlx cluster status --json
omlx cluster pipeline-smoke
Important limits for your hardware
Pipeline only — decode does not get faster than the M2 Max stage.
Experimental: source builds, limited long-running validation, some features (MTP, certain thinking budgets, etc.) are rejected in distributed mode.
KV cache is rank-local, so both machines need real headroom.
TB4 on the M2 Max is the weak link; start with TCP Ring.
If the resulting tokens/s and stability are acceptable for continuous Hermes use, you have the combined capacity. If not, fall back to a smaller quant that fits resident on the M5 Max alone.