Hardware · Clusters · Tools

Mesh LLM

by Mesh-LLM project · Apache-2.0 · 3,959 GitHub stars · Active · v0.78.1, Oct 2026

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.

Go to Mesh LLM Source code

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-llm

Linux

curl -fsSL https://raw.githubusercontent.com/Mesh-LLM/mesh-llm/main/install.sh | bash

Windows

irm https://raw.githubusercontent.com/Mesh-LLM/mesh-llm/main/install.ps1 | iex

Then:

mesh-llm serve --model hf://meshllm/<repo> --split   # on the first machine
mesh-llm serve --join <token>   # on each other machine

Published speeds

Measured by the project or its users, for one person chatting. Our own estimates for any set of devices are in the cluster builder.

Limits to know

Open issues worth reading:

Sources:

All clustering tools

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.

Was this page helpful?