Ollama GPU Not Detected: Verify Host, Container and Model Offload
Start with a short generation request, then inspect ollama ps. The processor allocation describes the running model, not just whether the computer contains a GPU. Mixed CPU/GPU placement can reflect memory pressure; it does not by itself prove driver detection failed.
If a model cannot allocate memory at all, use the separate out-of-memory guide. Return to the local inference hub for setup choices.
Establish which layer cannot see the GPU
| Layer | Evidence to collect |
|---|---|
| Operating system | Supported GPU model and working vendor driver |
| Ollama host process | Server logs describing selected backend/devices |
| Container, if used | Device access and runtime configuration |
| Loaded model | Processor allocation after a successful request |
| Application workload | Latency and memory at the actual context/concurrency |
On an NVIDIA host, run nvidia-smi. If that fails, repair the host driver using your operating system/vendor instructions before changing Ollama. Do not install an arbitrary CUDA toolkit and assume it repairs the kernel driver.
Check the current Ollama hardware support list for your exact GPU and platform. NVIDIA, AMD, Apple Metal and Vulkan paths have different support requirements; a generic βall GPUs supportedβ statement is unsafe.
Native and container paths are different
For a native installation, inspect the logs of the process serving the API. An interactive CLI environment may differ from a background service account.
For Docker, successful host nvidia-smi is necessary evidence for an NVIDIA setup, but not proof of container access. Confirm the NVIDIA Container Toolkit and intended GPU device assignment. The Docker guide explains this boundary. Do not assume Docker Desktop on macOS exposes Apple GPU acceleration to a Linux container.
On Windows, distinguish native Ollama from a separate WSL installation. Updating one server does not update the other, and each can have its own model storage. Use the Windows installation path instead of applying Linux instructions indiscriminately.
Inspect logs before forcing a backend
Use Ollamaβs log locations for your platform. Preserve lines showing device discovery, backend choice and errors. A driver that was initially available can become unavailable after a system state change; record when that happened.
Remove an intentional device-selection override only after documenting it and understanding its scope. Do not copy unverified GPU environment flags, recursively change model-directory permissions or delete models to make a driver appear.
Completion check
Re-run the same installed model and small request, inspect processor allocation, then repeat the application workload. Hardware detection success is not a throughput guarantee. If offload works but performance is poor, measure loading, prompt processing and generation separately.
Sources checked November 10, 2026: hardware compatibility, official Docker GPU paths, troubleshooting. No driver version is prescribed as universally sufficient.