ES

Idioma

Nuestras ediciones

Escritas para cada público, no traducidas palabra por palabra.

Ollama no usa la GPU: cómo comprobarlo y arreglarlo

Paso a pasoPor Lucas Matías García TorresActualizado el (publicado el )Datos comprobados el 7 min de lectura

Revisado por Lucas Matías García Torres el . Cómo trabajamos.

Read in English

Vista despiezada de una tarjeta gráfica: ventiladores, heat pipes, disipador y la placa con la GPU iluminada en naranja

Respuesta corta

Si Ollama no usa la GPU, ejecuta ollama ps: 100% CPU significa que no ha encontrado una GPU utilizable o que algo fuerza la CPU, y un reparto CPU/GPU, que el modelo y su contexto no caben en la memoria de vídeo. Ollama necesita una NVIDIA con capacidad de cómputo 5.0 y driver 550 o posterior, el driver ROCm v7 en AMD, Metal en Apple o un driver Vulkan. Para el reparto, baja el contexto o usa un modelo más pequeño; para el 100% CPU, actualiza drivers, pasa la GPU a Docker y quita variables como CUDA_VISIBLE_DEVICES=-1.

Los precios y límites cambian a menudo: compruébalos en la web del proveedor antes de pagar. Cómo nos financiamos.

Cuando Ollama no usa la GPU no salta ningún error: el modelo sigue respondiendo, pero mucho más despacio, con el procesador al máximo y la tarjeta gráfica parada. Ollama pasa a la CPU por su cuenta si no encuentra una GPU compatible o si el modelo no cabe en la memoria de vídeo, y no avisa. Esta guía explica cómo comprobar qué está usando de verdad y repasa las causas en el orden en que nosotros las miraríamos, con los comandos y ajustes exactos de la documentación de Ollama a 9 de octubre de 2026, para Windows, Linux, Docker y Mac.

Paso 1: comprueba qué usa Ollama con ollama ps

Carga un modelo enviándole una pregunta y ejecuta:

ollama ps

La columna PROCESSOR dice dónde está el modelo. Las preguntas frecuentes de Ollama definen tres lecturas posibles:

  • 100% GPU: todo el modelo está en la memoria de vídeo. Es lo que quieres.
  • 100% CPU: todo el modelo está en la memoria del sistema. Ollama no ha encontrado una GPU utilizable o algo le obliga a usar la CPU.
  • Un reparto, como 48%/52% CPU/GPU: la GPU funciona, pero el modelo y su contexto no caben, así que una parte corre en la CPU. La propia Ollama recomienda evitar ese reparto para no perder rendimiento.

En la misma salida aparece la columna CONTEXT, con la longitud de contexto que se ha reservado. Tenla en cuenta: muchas veces es la culpable del reparto. Si necesitas repasar el resto de comandos, tienes nuestra chuleta de comandos de Ollama.

Paso 2: si ves un reparto CPU/GPU, el modelo no cabe

Es el caso más frecuente y no es un problema de drivers. La memoria de vídeo tiene que guardar los pesos del modelo y la memoria de trabajo de la conversación (la caché KV), que crece con la longitud del contexto. La documentación de Ollama avisa de que un contexto más largo aumenta la memoria necesaria, y sus preguntas frecuentes añaden que la memoria crece con el número de peticiones en paralelo multiplicado por el contexto.

Ollama elige un contexto por defecto según tu memoria de vídeo: 4k tokens con menos de 24 GiB de VRAM, 32k entre 24 y 48 GiB y 256k a partir de 48 GiB. Si lo has subido (por ejemplo a los 64.000 tokens que Ollama recomienda para agentes y herramientas de programación) en una tarjeta con poca memoria, el modelo se desborda a la CPU. Soluciones, de la más barata a la más cara:

  1. Baja la longitud de contexto en el control deslizante de la configuración de la app o arranca el servidor con un valor menor en OLLAMA_CONTEXT_LENGTH.
  2. Usa una versión más pequeña del modelo: menos parámetros o una cuantización más fuerte (otra etiqueta del mismo modelo). Qué se pierde lo explicamos en qué es la cuantización.
  3. Cuantiza la caché KV. OLLAMA_KV_CACHE_TYPE fija su precisión; por defecto es f16 y el ajuste vale para todos los modelos del servidor.
  4. Mira qué más está usando la GPU. Los juegos, el navegador u otros modelos también ocupan memoria de vídeo. Por defecto, Ollama mantiene cargado un modelo 5 minutos después de usarlo.

Para saber antes de descargar si un modelo cabe, usa nuestra calculadora de VRAM, que suma los pesos y la caché KV para cada longitud de contexto.

Paso 3: comprueba que tu GPU y tu driver son compatibles

Si ollama ps dice 100% CPU, empieza por la lista de hardware. La página de GPU de Ollama pide esto:

Tabla: compatibilidad de GPU en Ollama (documentación consultada el 9 de octubre de 2026)

GPU Qué necesita Ollama Notas
NVIDIA Capacidad de cómputo 5.0 o superior y driver 550 o posterior Las tarjetas con capacidad de 5.0 a 6.2 necesitan el driver 570 o posterior
AMD en Linux El driver ROCm v7, instalado o actualizado con amdgpu-install Familias Radeon RX, Radeon PRO (incluida la R9700), APU Ryzen e Instinct
AMD en Windows Un driver compatible con ROCm v7 / HIP 7 Radeon RX 7600 a 7900 y PRO W7500 a W7900
Apple Metal, en dispositivos de Apple No se indica ninguna configuración extra
Otras GPU Vulkan, activado por defecto si su motor está instalado Los drivers de Windows suelen incluirlo; la mayoría de distribuciones de Linux necesitan paquetes extra

Dos casos merecen una mirada más atenta:

  • Una NVIDIA antigua. Un driver anterior al 550 (o al 570 en las tarjetas más viejas admitidas) basta para caer a la CPU. Actualiza el driver desde la web de NVIDIA y reinicia Ollama.
  • Una AMD que no está en la lista (Linux). Ollama documenta HSA_OVERRIDE_GFX_VERSION para que ROCm trate la tarjeta como un modelo parecido que sí admite. Su ejemplo es una Radeon RX 5400 (gfx1034) con el valor 10.3.0. Solo funciona con chips muy cercanos a uno admitido: tómalo como un experimento.

Si todavía estás eligiendo tarjeta, nuestra guía de la mejor GPU para modelos en local muestra qué modelos caben en 8, 12, 16, 24 y 32 GB de memoria de vídeo.

Paso 4: lee el registro del servidor

El registro dice por qué Ollama ha ignorado la GPU. Dónde está, según su página de solución de problemas:

  • Windows: %LOCALAPPDATA%\Ollama\server.log (los anteriores se llaman server-1.log y siguientes).
  • Linux: journalctl -u ollama --no-pager --follow --pager-end
  • macOS: cat ~/.ollama/logs/server.log
  • Docker: docker logs <nombre-del-contenedor>

Para ver más detalle, reinicia Ollama con la variable de depuración. En Windows, cierra antes Ollama desde el icono de la bandeja y ejecuta en PowerShell:

$env:OLLAMA_DEBUG="1"
& "ollama app.exe"

Con NVIDIA, Ollama enumera los códigos de error de detección de la GPU que puede mostrar: 3 (sin inicializar), 46 (dispositivo no disponible), 100 (ningún dispositivo) y 999 (desconocido). Con CUDA_ERROR_LEVEL=50 el registro da más información.

Paso 5: arreglos por sistema

Windows. Actualiza el driver de la gráfica y reinicia el ordenador. Ollama hereda las variables de entorno del usuario y del sistema, así que ciérralo desde la bandeja antes de cambiar una y vuelve a abrirlo. Busca si quedó una CUDA_VISIBLE_DEVICES u OLLAMA_VULKAN de algún tutorial antiguo (paso 6).

Linux con NVIDIA. Ollama avisa de que, tras suspender y reanudar el equipo, a veces no encuentra la GPU. Recarga el módulo del driver:

sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm

sudo nvidia-modprobe -u lo carga si falta y sudo dmesg | grep -i nvrm muestra los errores del driver. Reiniciar con el último driver de NVIDIA resuelve casi todo lo demás. Para poner una variable de entorno al servicio, ejecuta systemctl edit ollama.service, añade una línea Environment= bajo [Service], recarga systemd y reinicia Ollama.

Linux con AMD. El acceso a /dev/kfd suele exigir estar en el grupo video o render. Si el registro dice «failed to finish discovery before timeout», Ollama indica que el driver de AMD probablemente es anterior a ROCm 7: actualízalo con amdgpu-install, reinicia y vuelve a arrancar Ollama.

Docker. Un contenedor no ve la GPU si no se la das. Con NVIDIA, instala NVIDIA Container Toolkit, compruébalo con docker run --gpus all ubuntu nvidia-smi y arranca Ollama así:

docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama

Con AMD, usa la imagen de ROCm y pasa los dispositivos: docker run -d --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm. Si la GPU funciona al principio y luego vuelve a la CPU con errores de detección, la solución de Ollama es añadir "exec-opts": ["native.cgroupdriver=cgroupfs"] a /etc/docker/daemon.json en el equipo anfitrión. En sistemas con SELinux, sudo setsebool container_use_devices=1 permite que los contenedores lleguen a las GPU de AMD.

Mac. Ollama usa la GPU de los dispositivos de Apple a través de Metal. Un reparto en un Mac casi siempre significa que el modelo y el contexto no caben en la memoria disponible (paso 2).

Paso 6: asegúrate de que nada obliga a usar la CPU

Ollama documenta varias variables que apagan la GPU a propósito. Cualquiera de ellas, olvidada tras una prueba o una guía, da 100% CPU:

  • CUDA_VISIBLE_DEVICES con un identificador no válido, como -1 (NVIDIA)
  • ROCR_VISIBLE_DEVICES con un identificador no válido, como -1 (AMD)
  • OLLAMA_VULKAN=0 o GGML_VK_VISIBLE_DEVICES=-1 (Vulkan)
  • OLLAMA_LLM_LIBRARY con una biblioteca de CPU, como cpu_avx2

En un portátil con gráfica integrada y dedicada, Ollama sugiere apuntar GGML_VK_VISIBLE_DEVICES a la dedicada (por ejemplo, 1) si la integrada da problemas. Con varias NVIDIA, nvidia-smi -L lista sus UUID, más fiables que los números en CUDA_VISIBLE_DEVICES.

Tabla: síntoma, causa probable y primer arreglo

Qué ves Causa probable Primer arreglo
ollama ps muestra un reparto CPU/GPU El modelo y el contexto no caben en tu VRAM Baja el contexto o usa una etiqueta más pequeña
100% CPU recién instalado Driver antiguo o GPU no compatible Actualiza el driver y revisa la tabla del paso 3
100% CPU al despertar un portátil con Linux El módulo UVM de NVIDIA se perdió al suspender Recarga nvidia_uvm
100% CPU solo dentro de Docker El contenedor no recibe la GPU Añade --gpus=all (NVIDIA) o la imagen y los dispositivos de ROCm (AMD)
100% CPU siempre, aunque la GPU va bien en juegos Una variable que fuerza la CPU Quita las variables del paso 6 y reinicia Ollama

Si nada de esto funciona, guarda el registro de depuración del paso 4 y la salida de ollama ps: te harán falta para avisar del problema en el GitHub de Ollama. Y si Ollama se sigue peleando con tu equipo, LM Studio es la alternativa principal; nuestra guía para instalar Ollama explica la instalación paso a paso.

Qué hemos comprobado

  • La columna PROCESSOR de ollama ps muestra 100% GPU, 100% CPU o un reparto como 48%/52% CPU/GPU; los modelos se mantienen en memoria 5 minutos por defecto; OLLAMA_KV_CACHE_TYPE fija la cuantización de la caché K/V (f16 por defecto) para todos los modelos; la RAM necesaria crece con OLLAMA_NUM_PARALLEL por OLLAMA_CONTEXT_LENGTH; en Windows, Ollama hereda las variables del usuario y del sistema y hay que cerrarlo antes; en Linux se fijan con systemctl edit ollama.service. (Ollama, )
  • Contexto por defecto según la VRAM: 4k con menos de 24 GiB, 32k de 24 a 48 GiB y 256k desde 48 GiB; al menos 64000 tokens para búsqueda web, agentes y herramientas de programación; un contexto mayor aumenta la memoria necesaria; se recomienda evitar el reparto con la CPU; ollama ps muestra la columna CONTEXT; se cambia con OLLAMA_CONTEXT_LENGTH o con el control de la app. (Ollama, )
  • NVIDIA: capacidad de cómputo 5.0+ y driver 550 o posterior, 570 o posterior para capacidad 5.0 a 6.2; CUDA_VISIBLE_DEVICES con un identificador no válido como -1 fuerza la CPU; tras suspender en Linux, recargar nvidia_uvm. AMD: driver ROCm v7 en Linux para Radeon RX, Radeon PRO (incluida la R9700), APU Ryzen e Instinct; en Windows, RX 7600 a 7900 y PRO W7500 a W7900 con driver ROCm v7/HIP7; ROCR_VISIBLE_DEVICES=-1 fuerza la CPU; HSA_OVERRIDE_GFX_VERSION, por ejemplo 10.3.0 para una RX 5400 (gfx1034). Apple: Metal. Vulkan: activado por defecto si está instalado; OLLAMA_VULKAN=0 o GGML_VK_VISIBLE_DEVICES=-1 lo desactivan; en equipos con gráfica integrada y dedicada, apuntar GGML_VK_VISIBLE_DEVICES a la dedicada; SELinux: setsebool container_use_devices=1. (Ollama, )
  • Registros: %LOCALAPPDATA%\Ollama\server.log en Windows, journalctl -u ollama en Linux, ~/.ollama/logs/server.log en macOS y docker logs en Docker; OLLAMA_DEBUG=1; OLLAMA_LLM_LIBRARY puede forzar una biblioteca de CPU; códigos de error 3, 46, 100 y 999; CUDA_ERROR_LEVEL=50; AMD necesita los grupos video o render para /dev/kfd; «failed to finish discovery before timeout» apunta a un driver anterior a ROCm 7; la vuelta a la CPU en Docker se arregla con exec-opts native.cgroupdriver=cgroupfs. (Ollama, )
  • Docker: instalar NVIDIA Container Toolkit y ejecutar docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama; con AMD, imagen ollama/ollama:rocm con --device /dev/kfd --device /dev/dri. (Ollama, )

Qué puede cambiar

  • Los drivers mínimos, las AMD admitidas y el contexto por defecto cambian con las versiones de Ollama; esta guía sigue su documentación a 9 de octubre de 2026 y se revisa cada tres meses.
  • Los comandos y variables son los que documenta Ollama; no cubrimos los paquetes de Vulkan o ROCm de cada distribución.

Preguntas frecuentes

¿Cómo sé si Ollama está usando la GPU?

Carga un modelo y ejecuta ollama ps. La columna PROCESSOR dice 100% GPU si todo el modelo está en la memoria de vídeo, 100% CPU si solo usa el procesador y un reparto como 48%/52% CPU/GPU si una parte del modelo no ha cabido.

¿Por qué Ollama usa la CPU en vez de la GPU?

Casi siempre por una de tres razones: el modelo y su contexto no caben en la memoria de vídeo, la GPU o su driver no son compatibles (por ejemplo, un driver de NVIDIA anterior al 550) o una variable como CUDA_VISIBLE_DEVICES=-1 u OLLAMA_VULKAN=0 fuerza la CPU.

¿Ollama funciona con gráficas AMD?

Sí. En Linux necesita el driver ROCm v7 y admite las familias Radeon RX, Radeon PRO (incluida la R9700), APU Ryzen e Instinct; en Windows admite las RX 7600 a 7900 y las PRO W7500 a W7900. Otras GPU pueden usar el motor Vulkan.

¿Cómo hago que Ollama use la GPU en Docker?

Con NVIDIA, instala NVIDIA Container Toolkit y arranca el contenedor con --gpus=all. Con AMD, usa la imagen ollama/ollama:rocm y pasa --device /dev/kfd --device /dev/dri. Sin eso, el contenedor solo ve la CPU.

¿Por qué el modelo se reparte entre la CPU y la GPU?

Porque los pesos y la memoria del contexto no caben en tu VRAM. Un contexto más largo necesita más memoria, y Ollama fija por defecto 4k, 32k o 256k tokens según tu VRAM. Baja la longitud de contexto o elige una etiqueta más pequeña del modelo.

Fuentes

  1. Ollama FAQ: ollama ps processor column, environment variables, keep alive, K/V cache and multiple GPUs, Ollama. Consultado el 9 de octubre de 2026.
  2. Ollama: context length defaults by VRAM and how to change them, Ollama. Consultado el 9 de octubre de 2026.
  3. Ollama: hardware support (NVIDIA drivers, AMD ROCm v7, Apple Metal, Vulkan, GPU selection and forcing the CPU), Ollama. Consultado el 9 de octubre de 2026.
  4. Ollama troubleshooting: server logs, debug mode, GPU discovery errors, NVIDIA, AMD and Docker, Ollama. Consultado el 9 de octubre de 2026.
  5. Ollama Docker image: CPU, NVIDIA, AMD ROCm and Vulkan commands, Ollama. Consultado el 9 de octubre de 2026.

¿Has visto un error o un dato desactualizado? Avísanos y lo corregimos.

Historial de cambios

  • : Redacción revisada; no cambia ninguna cifra, fecha ni fuente.
  • : Primera publicación. Comandos, variables y requisitos comprobados en la documentación de GPU, preguntas frecuentes, contexto, solución de problemas y Docker de Ollama el 9 de octubre de 2026.

Próxima revisión: .

Más guías de Modelos en local.

Otros temas