Mesh LLM
Pools Macs and PCs into one private, encrypted mesh with a single OpenAI-style address; runs each model on one machine when it fits and splits it into layer stages when it doesn't.
- Mac: Yes
- NVIDIA PC: Yes
- AMD PC: Yes
- Linux, processor only: Yes
- Raspberry Pi and boards: Partly
- Windows: Yes
- Android: No
- iPhone, iPad: No
At a glance
- Best for
- A household or office with mixed Macs and NVIDIA or AMD PCs that wants one shared local endpoint, and now and then a model too big for any one machine.
- Runs on
- Ready-made downloads for macOS (Metal), Linux (CPU, CUDA, ROCm, Vulkan, ARM64) and Windows. RTX 50 cards on Windows need WSL2.
- How it splits a model
- Pipeline only: whole layers per machine. The planner skips peers more than 80 ms away and adds machines only until the model fits.
- Connections
- Encrypted QUIC between peers (iroh), on a LAN or across the internet with relays; no RDMA.
- How devices join
- Invite token for a private mesh; an optional public mesh is found automatically.
- Models
- GGUF, packaged so each machine downloads only its own layers; splitting is limited to certified model families.
- API
- OpenAI compatible.
- Rules
- Every machine uses the same layer-package of the model. An invite token is connection information, not a password.
Get started
macOS
brew install Mesh-LLM/tap/mesh-llmLinux
curl -fsSL https://raw.githubusercontent.com/Mesh-LLM/mesh-llm/main/install.sh | bashWindows
irm https://raw.githubusercontent.com/Mesh-LLM/mesh-llm/main/install.ps1 | iexThen:
mesh-llm serve --model hf://meshllm/<repo> --split # on the first machine
mesh-llm serve --join <token> # on each other machine
Published speeds
- GLM 4.7 Flash Q4 over Wi-Fi: 68 tok/s on one Mac, 21 split across two (an M4 Max and a Mac mini M4) and about 13 across three (April 2026, before the current split runtime). Source
Limits to know
- Every stage adds a network hop to each word, so a split model types slower than one machine would.
- Its makers call it experimental distributed-systems software.
Estimates come from published hardware specs and our open formulas, not from running the model on your machine. Real speed varies with runtime, drivers and settings. Numbers marked “Measured” come from a linked benchmark.