Back to directory

exo

exo connects a user's own devices into a single AI cluster, letting a model larger than any one device's memory run by splitting it across machines, with day-0 RDMA-over-Thunderbolt support for lower latency.

exo

Devices running exo discover each other automatically with no manual configuration, and a topology-aware scheduler decides how to split a model across the available devices based on their resources and the real-time latency and bandwidth between them; tensor parallelism is reported to give up to roughly a 3.2x speedup across four devices. It uses MLX as its inference backend and for distributed communication between devices.

It is compatible with the OpenAI Chat Completions API, the OpenAI Responses API, the Claude Messages API and the Ollama API, so existing clients and tools can point at an exo cluster unchanged. A built-in dashboard manages the cluster and lets a user chat with models directly, and custom models can be loaded from the Hugging Face hub.

Python, Apache-2.0.

More in Inference

See all 770
  • OpenDecision

    deepanwadhwa.github.io

    An open-source Python package that answers typed questions about application state or documents using a local natural-language-inference model, returning structured choice, score, yes/no or evidence-relation values instead of free text.

  • Lifeboat

    iterate.ai

    A local inference server that puts an OpenAI- and Anthropic-compatible API in front of open-weight language models running on hardware you control, from a laptop to a GPU cluster.

  • Claude S40

    github.com

    An unofficial Claude chat client for 2007-era Nokia Series 40 phones, built as a Java ME app plus a small Go relay server, with web search, reading mode and saved chats.