Inference engines
Local AI runtimes
Capabilities are factual support claims, not scores. First-party tok/s, when published, come from each runtime’s official benchmark tool — llama-bench, mlx_lm.benchmark, vllm bench serve, or sglang.bench_serving — not from a homemade microbenchmark. Open WebUI is a frontend, not an engine, so it is omitted.
Catalogue review recorded · individual claims have separate datesReferenceSourceMethodology
Documented means a project support claim, not our own test. Community and experimental claims remain separate. Apple support for vLLM is through the separately maintained vLLM-Metal plugin; consult the linked installation guide for its model and feature limits.
| Runtime | Documented focus | Windows | Linux | macOS | NVIDIA | AMD | Apple | CPU | GGUF | HF weights | Multi-GPU | API |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| llama.cpp | Portable GGUF inference on CPU, GPU, and Apple Silicon | Documented | Verified claim | Verified claim | Documented | Documented | Documented | Verified claim | Verified claim | unsupported | Documented | Documented |
| Ollama | One-command local model runner with a library and HTTP API | Documented | Verified claim | Verified claim | Documented | Documented | Documented | Verified claim | Verified claim | Documented | Documented | Documented |
| LM Studio | Desktop GUI for local GGUF/MLX models with a built-in server | Documented | Documented | Verified claim | Documented | community | Verified claim | Documented | Verified claim | community | community | Documented |
| MLX-LM | Apple Silicon unified-memory inference with MLX | unsupported | unsupported | Verified claim | unsupported | unsupported | Verified claim | unsupported | unsupported | Documented | unsupported | community |
| vLLM | High-throughput OpenAI-compatible serving with PagedAttention | experimental | Verified claim | Documented | Verified claim | Documented | Documented | experimental | community | Verified claim | Verified claim | Verified claim |
| SGLang | Structured, high-throughput serving with RadixAttention | unsupported | Verified claim | Documented | Verified claim | Documented | Documented | unsupported | unsupported | Verified claim | Verified claim | Verified claim |
llama.cpp — when to use it
Documented focus: Portable GGUF inference on CPU, GPU, and Apple Silicon
When not to use: Do not use llama.cpp as a high-QPS multi-tenant OpenAI-compatible farm; vLLM or SGLang are the serving runtimes.
Noted version: current GitHub main, verified 2026-09-04
Install
git clone https://github.com/ggml-org/llama.cpp && cd llama.cpp && cmake -S . -B build && cmake --build build --config Release
Official docs: https://github.com/ggml-org/llama.cpp
Verified 2026-09-04 · overhead 0.4 GB (labelled estimate)
Ollama — when to use it
Documented focus: One-command local model runner with a library and HTTP API
When not to use: Skip Ollama when you need custom GGUF flags, tensor parallel serving, or a non-library model file Ollama does not ship.
Noted version: current GitHub main, verified 2026-09-04
Install
curl -fsSL https://ollama.com/install.sh | sh
Official docs: https://github.com/ollama/ollama
Verified 2026-09-04 · overhead 0.7 GB (labelled estimate)
LM Studio — when to use it
Documented focus: Desktop GUI for local GGUF/MLX models with a built-in server
When not to use: Do not use LM Studio as a headless production inference cluster.
Noted version: docs.lmstudio.ai, verified 2026-09-04
Install
Download the installer from https://lmstudio.ai
Official docs: https://lmstudio.ai/docs
Verified 2026-09-04 · overhead 1 GB (labelled estimate)
MLX-LM — when to use it
Documented focus: Apple Silicon unified-memory inference with MLX
When not to use: MLX-LM does not run on NVIDIA or AMD discrete GPUs.
Noted version: ml-explore/mlx-lm, verified 2026-09-04
Install
pip install mlx-lm
Official docs: https://github.com/ml-explore/mlx-lm
Verified 2026-09-04 · overhead 0.5 GB (labelled estimate)
vLLM — when to use it
Documented focus: High-throughput OpenAI-compatible serving with PagedAttention
When not to use: vLLM is a PagedAttention OpenAI-compatible server. Do not treat stock `pip install vllm` as a Mac chat app — Apple Silicon is the separate vllm-metal plugin (macOS 15+, arm64 Python 3.12). For GGUF desktops use llama.cpp or Ollama.
Noted version: docs.vllm.ai and docs.vllm.ai/projects/vllm-metal, verified 2026-09-04
Install
pip install vllm
Official docs: https://docs.vllm.ai/en/latest/
Verified 2026-09-04 · overhead 1.8 GB (labelled estimate)
SGLang — when to use it
Documented focus: Structured, high-throughput serving with RadixAttention
When not to use: SGLang is a RadixAttention serving runtime for structured generation, not a one-click GGUF GUI. The documented Apple path is `SGLANG_USE_MLX=1` on macOS 14+ from the Apple Metal hardware page; MLX-LM remains the simpler laptop chat default.
Noted version: docs.sglang.ai hardware-platforms/apple_metal, verified 2026-09-04
Install
pip install sglang
Official docs: https://docs.sglang.ai/
Verified 2026-09-04 · overhead 1.8 GB (labelled estimate)
