Ollama engine architecture: native Ollama engine versus llama.cpp runner and model compatibility

Parent: Ollama · Published reference · snapshot 2026-10-14 · skill ollama-expert/references/ollama-engine-architecture.md

↓ Facts as markdownall context files

Ollama's inference engine has changed over time: a May 2025 blog introduced Ollama's own new engine built on the GGML tensor library for multimodal models. Commit 9db4bdb (PR #16031, merged 2026-05-29, first in v0.30.0-rc32 and v0.30.0) removed the native Go engine and the vendored llama.cpp backend: GGUF models now run on upstream llama-server, pinned by LLAMA_CPP_VERSION, with a temporary compatibility layer, and safetensors models run on the MLX engine on Apple Silicon (the default there since v0.40.0). The runner is chosen per manifest (mlx, llamacpp or ggml) by runnerPreferences(). Units describing the native engine are marked as history.

These notes link each claim to its source. Some citations identify archived research reports that are no longer hosted on this site. A published reference means the content is available; it does not certify independent review or accuracy.Read the editorial policy and follow the sources before relying on a claim.

Structure and components

How it works

How-to and procedures

Problems, failure modes and limitations

Comparisons and alternatives

Changes and history

Facts and statements

Disagreements

Related concepts

Children

Frontier under this node: GGUF import and Modelfile chat templates, Ollama GGUF compat shim and compatmigrate, Ollama manifest list runner selection, llama-server runner process in Ollama

← the whole tree · 3D view· how to read this page