Home › Runtimes
Ollama vs llama.cpp vs LM Studio vs vLLM (2026): 8-Row Table
One table covering all four: Ollama = an app + CLI, llama.cpp = a C/C++ engine you build yourself, LM Studio = a GUI desktop app with a local server, vLLM = a serving engine built on batched requests. Each cell compresses one official statement; the superscript links to the docs page it came from, and the two-way pages quote that sentence in full.
Docs check date: 2026-10-23 — every quoted cell below comes from an official docs page or the project README we fetched on that date (links at the bottom). Cells marked "no public data" mean we looked and could not extract a citable statement — a gap printed as a gap, not a zero.
| What we could verify | Ollama | llama.cpp | LM Studio | vLLM |
|---|---|---|---|---|
| What it is (their own words) | App + CLI: “run a model on your computer”; model library, local or cloud models[1] | “LLM (and VLM) inference with minimal setup… on a wide range of hardware”; plain C/C++[2] | “Run llama.cpp (GGUF) or MLX models… on Mac, Windows, and Linux”[3] | “State-of-the-art serving throughput” — PagedAttention, continuous batching, prefix caching[4] |
| Official GPU platforms | Metal (Apple GPUs); CUDA with a compute-capability table listing RTX 50xx; ROCm v7 on Linux, plus AMD via Vulkan[5] | README backend table: Metal, CUDA, HIP (AMD), MUSA, Vulkan, SYCL, OpenCL, OpenVINO, CANN, Hexagon and more[2] | Runtimes it installs: llama.cpp on all three platforms, MLX additionally on Apple Silicon[3] | CUDA compute ≥7.5 (T4 → B200), ROCm ≥6.3 (MI300/MI350, RX 7900), Intel XPU; Apple Silicon not in core[6] |
| On an Apple Silicon Mac | “GPU acceleration on Apple devices via the Metal API”; no per-chip memory guidance in those docs[5] | “Apple silicon is a first-class citizen”; Metal listed for Apple Silicon in the backend table[2] | On Apple Silicon Macs it runs llama.cpp models or “Apple’s MLX”; system requirements name Apple Silicon Macs[3] | A GPU variant on the install page, but routed to vLLM-Metal — “a community-maintained hardware plugin” on MLX[6] |
| Model format | GGUF import — “Ollama does not quantize GGUF models during import”, quantise first with llama.cpp’s llama-quantize[7] | GGUF native — README pulls a GGUF repository straight from Hugging Face[2] | GGUF (via llama.cpp) or MLX[3] | Hugging Face weights first; GGUF listed among the quantisation options[4] |
| When the model exceeds VRAM | Scheduler “leverages available VRAM data reported by the GPU libraries”; no per-model GiB table in the docs[5] | “CPU+GPU hybrid inference to partially accelerate models larger than the total VRAM capacity”[2] | no public data (we checked, 2026-10-23) | no public data (we checked, 2026-10-23) — install docs are GPU-backend oriented |
| KV-cache quantisation switch | OLLAMA_KV_CACHE_TYPE, default f16; docs call it a global option across models[8] | no public data (we checked, 2026-10-23) — the doc paths we tried 404’d at fetch time | no public data (we checked, 2026-10-23) | “Quantized KV Cache” is a listed quantisation feature[4] |
| Parallel requests | OLLAMA_NUM_PARALLEL default 1; docs warn RAM scales by parallel × context length[8] | no public data (we checked, 2026-10-23) in the README we fetched | no public data (we checked, 2026-10-23) | Continuous batching of incoming requests is a headline design feature[4] |
| OpenAI-compatible API | Docs: use it with “compatible OpenAI and Anthropic clients”[9] | “Launch OpenAI-compatible API server” (llama serve)[2] | Local server: /v1/chat/completions, /v1/models, /v1/embeddings[10] | OpenAI-compatible serving endpoints documented (chat completion, responses, embeddings)[4] |
Reading the table
- Fit comes before any of this. GiB needed = weights at your quant + KV cache at your context, the same arithmetic in whatever you install — the calculator does it for 46 models (24GB worked example).
- One engine states outright what happens when VRAM runs out. llama.cpp’s README says CPU+GPU hybrid inference; the others route it to a scheduler or stay silent — and silence is what “no public data” records.
- Apple silicon splits the four, and parallel requests splits them again. Three document a Metal or MLX path, vLLM delegates Apple Silicon to a plugin; Ollama defaults to 1 parallel request, vLLM makes batching its headline.
FAQ
Which runtime should I install first?
By machine and job, from the rows above: llama.cpp is the only one whose README states CPU+GPU hybrid inference for models over VRAM; Ollama ships a model library with defaults; LM Studio is a GUI over llama.cpp or MLX; vLLM targets serving throughput on CUDA/ROCm/Intel XPU. We print no ranking: none of the four publishes one in the docs above, and no tokens/s figure appears on this site.
Can a Mac run these?
Three of the four document Apple silicon directly (Ollama via the Metal API, llama.cpp with Metal on by default, LM Studio choosing between llama.cpp and MLX); vLLM’s install page routes Apple Silicon to the community vLLM-Metal plugin. Memory on a Mac is its own question: Mac mini M4 16GB · 24GB · M4 Pro 48GB · MacBook Pro M4 16GB.
Why are 6 of 32 cells marked “no public data”?
We quote only official docs fetched 2026-10-23; a doc path that 404’d on us stays a printed gap instead of a blog’s guess. Every filled cell carries a superscript link to the source list below.
Sources for this page
- Ollama docs — home — fetched 2026-10-23
- llama.cpp README (master) — fetched 2026-10-23
- LM Studio docs — landing — fetched 2026-10-23
- vLLM docs — stable home — fetched 2026-10-23
- Ollama docs — GPU support — fetched 2026-10-23
- vLLM docs — GPU installation — fetched 2026-10-23
- Ollama docs — import a model — fetched 2026-10-23
- Ollama docs — FAQ (env vars) — fetched 2026-10-23
- Ollama docs — OpenAI compatibility — fetched 2026-10-23
- LM Studio docs — OpenAI-compatible endpoints — fetched 2026-10-23
6 of 32 cells are marked “no public data” — a gap printed as a gap. Two engines, in full detail: Ollama vs llama.cpp · Ollama vs LM Studio · Ollama vs vLLM · vLLM vs llama.cpp. Every Mac page we have in one table: Mac memory pages (individual: Mac mini M4) 16GB · Mac mini M4) 24GB · Mac mini M4 Pro, 2024) 48GB · MacBook Pro 14-inch, M4) 16GB). Cloud cards instead: RunPod vs Vast.ai · budget pages.