Cambiar tema

Aceleración GPU en Ollama: guía práctica con CUDA, ROCm y Metal en todas las plataformas

Easton editorial illustration: one local-model engine connected to three GPU acceleration lanes

Actualizado el 2026-06-08: revisado con la documentación oficial de soporte de hardware de Ollama — AMD ROCm ahora exige oficialmente ROCm v7/HIP7 tanto en Linux como en Windows (ya no es una preview solo para Windows), y Apple Silicon pasó a un backend MLX en Ollama 0.19 (preview, marzo 2026), que se activa con OLLAMA_BACKEND=mlx. Los comandos y las cifras de rendimiento de abajo están actualizados.

En la terminal, el texto iba saliendo línea a línea. Miré el reloj: 47 segundos. Así corría Llama 3 8B en un portátil viejo, con la CPU al máximo, el ventilador a tope y unos 5 tokens por segundo. La experiencia desanima: quería usarlo para ayudarme con código, pero el tiempo de espera bastaba para buscar la respuesta en Google.

Luego moví la misma GPU a un sobremesa, instalé el driver CUDA y, con el mismo modelo y los mismos parámetros, tardó 3 segundos.

No es exageración: de casi un minuto a unos segundos. Volvió esa sensación de «pregunté y quiero la respuesta ya».

Este artículo te ayuda a configurar la aceleración GPU en Ollama. Tengas NVIDIA, AMD o Apple Silicon, verás cómo configurarlo, cómo verificarlo y cómo salir de los problemas habituales. Recupera ese tiempo de espera para cosas más interesantes.

Qué tan útil es la aceleración GPU: de 30 segundos a 3 en la práctica

Empecemos con la conclusión: ejecutar un LLM local con GPU puede ser 10 a 20 veces más rápido. No es publicidad: son datos que medí yo y que muchos en la comunidad confirman.

Seguramente te preguntas: ¿no basta con la CPU? ¿Para qué complicarse con la GPU?

Sí se puede con CPU, pero la experiencia no tiene nada que ver. Con un modelo de 7B parámetros, la CPU rinde unos 3-8 tokens/s; una respuesta de 500 palabras tarda 20-60 segundos. Con GPU, el mismo modelo va a 40-80 tokens/s y sale en segundos. No es «un poco más rápido»: es pasar de «funciona» a «funciona bien».

¿Tu tarjeta es compatible?

Ollama admite tres plataformas GPU, cada una con sus requisitos:

Tarjetas NVIDIA: las más habituales y las más cómodas. El requisito oficial es Compute Capability 5.0 o superior, básicamente GTX 900 en adelante. GTX 1060, RTX 3060, RTX 4090, etc., van bien. Tengo una RTX 3060 de 12 GB y modelos de hasta 14B van sobrados.

Tarjetas AMD: un poco más laboriosas, pero viables. Tanto Linux como Windows requieren ahora la pila de controladores ROCm v7 / HIP7 (Windows tiene soporte oficial, ya no es preview). Los modelos RX 6000 y RX 7000 suelen ir estables; las tarjetas RDNA4 más nuevas (RX 9000, gfx1200/1201) pueden necesitar builds más recientes o un reemplazo manual de librerías, y las antiguas requieren ajustes extra.

Apple Silicon: M1/M2/M3/M4, todas compatibles y activadas automáticamente. En Mac casi no configuras nada: instalas Ollama y Metal ya acelera. Desde 2026 también está el backend MLX, que sube aún más el rendimiento.

¿Te alcanza la VRAM?

Mucha gente lo pasa por alto. Con GPU, la VRAM es un límite duro.

Cuenta rápida: un 7B con cuantización 4-bit pide unos 5-6 GB de VRAM; un 14B, 10-12 GB; un 70B, más de 40 GB. La VRAM de tu tarjeta define qué modelos puedes ejecutar. Con mi RTX 3060 de 12 GB, Llama 3 8B va cómodo; Mixtral 8x7B ya aprieta y parte de la carga cae en CPU.

Antes de configurar la GPU, mira el modelo de tu tarjeta y cuánta VRAM tiene.

NVIDIA CUDA: la opción más sencilla (con algunas trampas)

Si tienes NVIDIA, probablemente tengas el camino más fácil de las tres plataformas.

Primero confirma que el driver está instalado

Abre la terminal y ejecuta:

nvidia-smi

Si ves una tabla con modelo de GPU, VRAM y versión del driver, ya está. Ollama detecta y usa CUDA solo: no hace falta instalar CUDA Toolkit por separado. Ollama trae las librerías necesarias.

Si el comando no existe, instala el driver. En Ubuntu:

sudo apt install nvidia-driver-535  # o una versión más reciente

Reinicia y vuelve a ejecutar nvidia-smi.

¿Varias tarjetas?

Si el modelo cabe por completo en la VRAM disponible de una sola GPU, Ollama lo carga en esa tarjeta para reducir las transferencias por el bus PCI. Solo lo reparte automáticamente entre las GPU disponibles cuando ninguna tarjeta tiene espacio suficiente. También puedes elegir tarjetas concretas y reservar otra para tareas diferentes.

Configura una variable de entorno:

# Solo la GPU 0
export CUDA_VISIBLE_DEVICES=0

# GPU 0 y 2
export CUDA_VISIBLE_DEVICES=0,2

Añádelo a ~/.bashrc o al servicio systemd para que persista.

¿Ollama en Docker?

Algunos meten todo en contenedores; Ollama también puede. Por defecto Docker no ve la GPU del host: hay que configurarlo.

Con nvidia-container-toolkit de NVIDIA:

# Instalar toolkit
sudo apt install nvidia-container-toolkit

# Configurar runtime de Docker
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker

Al arrancar Ollama añade --gpus all:

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

¿Cómo saber si la GPU se usa de verdad?

Método simple: mientras corre un modelo, abre otra terminal y ejecuta:

ollama ps

Verás el modelo activo y el uso de GPU. Si aparece algo como GPU: 100%, la aceleración funciona.

También puedes usar nvidia-smi -l 1 y ver cómo sube la VRAM al cargar el modelo.

AMD ROCm: más pasos, mismo rendimiento al final

Entiendo la frustración de quien tiene AMD: casi todos los tutoriales hablan de NVIDIA y la documentación de AMD está fragmentada. La buena noticia es que el soporte ROCm en Ollama ya es bastante estable; solo hay más pasos.

En Linux: ROCm v7

En Ubuntu 22.04 o más reciente, instalar ROCm no es tan terrible:

# Añadir repositorio oficial de AMD
sudo apt update
sudo apt install amdgpu-install
sudo amdgpu-install --usecase=rocm

# Añadirte al grupo de renderizado
sudo usermod -aG render,video $USER

# Reiniciar
sudo reboot

Tras reiniciar, rocminfo debe mostrar tu GPU. Instala Ollama: la versión para AMD detecta ROCm sin configuración extra.

En Windows: ya con soporte oficial

El soporte de AMD en Windows ha madurado bastante este año. Ollama ahora exige también en Windows la pila ROCm v7 / HIP7 (instala AMD Adrenalin), y no la antigua preview v6.1. Las RX 7000/6000 suelen funcionar directamente; las tarjetas RDNA4 más nuevas (RX 9000, gfx1200/1201) pueden toparse con huecos de kernels y necesitar un build más reciente o un reemplazo manual de librerías.

Si una tarjeta muy nueva no arranca de ninguna forma, usa WSL2 + Ubuntu como alternativa: suele ser más estable.

¿Tarjeta antigua? HSA_OVERRIDE al rescate

Los códigos de arquitectura AMD son confusos; ROCm oficialmente admite arquitecturas recientes (gfx900, gfx1030, etc.). Una RX 580 (gfx803) no se reconoce por defecto.

Puedes forzarlo con una variable de entorno:

export HSA_OVERRIDE_GFX_VERSION=10.3.0  # modo compatible con gfx1030

No siempre funciona, pero en la comunidad ayuda en bastantes tarjetas viejas. Pruébalo; si no, toca volver a CPU.

Multi-GPU

Como en NVIDIA, puedes elegir qué tarjetas usar:

export ROCR_VISIBLE_DEVICES=0,1  # GPU 0 y 1

Para ver los números de tarjeta usa rocm-smi.

Arquitecturas AMD habituales

Algunos modelos y su soporte ROCm:

ModeloCódigo de arquitecturaSoporte ROCm
RX 7900 XTXgfx1100Nativo
RX 6800 XTgfx1030Nativo
RX 5700 XTgfx1010Nativo
RX 580gfx803Requiere HSA_OVERRIDE
Vega 56/64gfx900Nativo

En resumen, AMD exige más pasos que NVIDIA, pero una vez configurado el rendimiento es comparable.

Apple Metal: ventaja oculta para usuarios de Mac

Si tienes Mac con Apple Silicon (M1/M2/M3/M4), buenas noticias: no tienes que configurar nada.

En serio, nada. Instalas Ollama, ejecutas un modelo y la GPU se acelera sola. Metal ya está integrado en Ollama; el sistema carga el modelo en GPU automáticamente.

Rendimiento en chips M

Según pruebas de la comunidad, Mac con LLM local va bastante bien:

  • M1/M2 8 GB: modelo 7B, unos 15-20 tok/s
  • M2 Pro 16 GB: modelo 14B, 25-30 tok/s
  • M3 Max 36 GB: modelos de 30B+, más de 30 tok/s

Frente a una máquina vieja solo con CPU, ya es usable. No llega al «instantáneo» de una RTX 4090, pero para código, traducción o pulir textos basta.

Novedad de 2026: backend MLX

Desde Ollama 0.19 (publicado como preview en marzo de 2026), la inferencia en Apple Silicon dejó llama.cpp y pasó al framework MLX de Apple — aprovecha la memoria unificada directamente y se ahorra la copia CPU↔GPU.

Según las cifras del propio Ollama, MLX acelera la decodificación alrededor de 1,6-2x (en int4, de ~85 a ~134 tok/s) y reduce el tiempo hasta el primer token. En M5/M5 Pro/M5 Max además usa los nuevos GPU Neural Accelerators.

La mayoría de las veces no hay que activarlo a mano: a partir de 0.19+, Apple Silicon usa MLX automáticamente. Para forzarlo de forma explícita (o depurar), arranca el servidor con la variable de entorno:

OLLAMA_BACKEND=mlx ollama serve

Dos advertencias: MLX todavía es preview y quiere 32 GB+ de memoria unificada para ir estable; solo se admiten algunas arquitecturas de modelo — las no compatibles recaen en Metal sin error.

¿Cómo ver si la GPU trabaja?

Abre Activity Monitor (Monitor de actividad) y ve a la pestaña GPU History. Al ejecutar un modelo deberías ver subir el uso de GPU. Si solo se mueve la CPU, Metal puede no estar activo — poco frecuente; a menudo basta con reinstalar Ollama.

Si falla la detección GPU: problemas habituales

Configurar hardware casi siempre trae tropiezos. Esto es lo que más he visto y cómo resolverlo.

Problema 1: no compatible GPUs were discovered

El error más común: Ollama no encuentra ninguna GPU usable.

Causas posibles:

  • Driver no instalado o demasiado antiguo
  • Modelo de tarjeta no soportado (p. ej. GTX 700)
  • Contenedor Docker sin acceso a GPU

Pasos de diagnóstico:

# NVIDIA: confirmar driver
nvidia-smi

# AMD: confirmar ROCm
rocminfo

# Si falla el comando, instala el driver primero

Problema 2: Not compiled with GPU offload support

Significa que la build de Ollama que descargaste no incluye soporte GPU.

Solución: vuelve a descargar la versión correcta desde la web oficial. En AMD hay build específica para ROCm; no es la misma que CUDA.

Problema 3: versión de driver NVIDIA demasiado baja

Ollama pide driver NVIDIA 450 o superior. Con versiones 400.x, CUDA no arranca.

# Ver versión actual
nvidia-smi | grep "Driver Version"

# Si es antigua, actualiza
sudo apt install nvidia-driver-535

Problema 4: falta el driver amdgpu en AMD

En Linux, AMD necesita el driver amdgpu. Algunos sistemas traen el viejo radeon, incompatible con ROCm.

# Comprobar driver cargado
lsmod | grep amdgpu

# Si no hay salida, instálalo
sudo apt install amdgpu-dkms

Problema 5: SELinux bloquea GPU en contenedores

Lo vi en CentOS/RHEL: SELinux impide que el contenedor acceda a la GPU.

Solución temporal:

sudo setenforce 0  # desactivar SELinux temporalmente

La solución permanente implica ajustar políticas SELinux; consulta la documentación de Red Hat. O cambia a Ubuntu y te ahorras dolores de cabeza.

Comandos de verificación rápida

Lista para diagnosticar en orden:

# 1. ¿El sistema reconoce la GPU?
nvidia-smi       # NVIDIA
rocminfo         # AMD
system_profiler SPDisplaysDataType  # macOS

# 2. Estado del proceso Ollama
ollama ps

# 3. Uso de GPU en tiempo real (con modelo corriendo)
watch -n 1 nvidia-smi    # NVIDIA
rocm-smi -a              # AMD

# 4. Variables de entorno
echo $CUDA_VISIBLE_DEVICES
echo $ROCR_VISIBLE_DEVICES

La mayoría de problemas se localizan con estos comandos. Si te atasacas, busca en GitHub Issues de Ollama: mucha gente ya pasó por lo mismo.

Lecturas relacionadas

Para cerrar

Tabla rápida de referencia:

PlataformaRequisito previoDificultadRecomendación
NVIDIADriver 450+Fácil (casi cero config)Primera opción
AMD (Linux)ROCm v7Media (unos comandos)Segunda opción
AMD (Windows)Controlador ROCm v7 / HIP7Media (RDNA4 nuevas: posibles parches)Segunda opción
Apple SiliconNingunoLa más simpleIdeal en Mac

La aceleración GPU se configura una vez y rinde durante mucho tiempo. De «funciona con CPU» a «funciona bien con GPU» la diferencia se nota. ¿Qué plataforma tienes? ¿Qué problemas te salieron al configurar? Cuéntalo en los comentarios; intentaré responder.

Configurar aceleración GPU en Ollama

Flujo completo de configuración de aceleración GPU en las tres plataformas

⏱️ Estimated time: 30 min

  1. 1

    Step 1: Confirmar modelo de GPU y driver

    Según tu tarjeta, elige cómo verificar:

    - NVIDIA: ejecuta nvidia-smi para ver la información de la GPU
    - AMD: ejecuta rocminfo para confirmar que ROCm la reconoce
    - macOS: no hace falta verificar; Metal se activa solo
  2. 2

    Step 2: Configuración NVIDIA CUDA

    La opción más simple: basta con instalar el driver:

    1. Instalar driver: sudo apt install nvidia-driver-535
    2. Reiniciar el sistema
    3. Verificar: nvidia-smi debe mostrar la información de la GPU
    4. Ollama detecta CUDA automáticamente, sin configuración extra
  3. 3

    Step 3: Configuración AMD ROCm (Linux)

    Hay que instalar ROCm v7:

    1. Instalar: sudo apt install amdgpu-install
    2. Configurar: sudo amdgpu-install --usecase=rocm
    3. Permisos: sudo usermod -aG render,video $USER
    4. Tras reiniciar, verificar: rocminfo
    5. En tarjetas antiguas puede hacer falta: export HSA_OVERRIDE_GFX_VERSION=10.3.0
  4. 4

    Step 4: Verificar que la aceleración GPU funciona

    Al ejecutar un modelo, confirma que la GPU está trabajando:

    - Ejecuta ollama ps para ver el uso de GPU
    - NVIDIA: nvidia-smi -l 1 para monitorizar en tiempo real
    - AMD: rocm-smi -a para monitorizar en tiempo real
    - macOS: Activity Monitor, pestaña GPU History
  5. 5

    Step 5: Configuración en entorno multi-GPU

    Especifica qué tarjetas usar:

    - NVIDIA: export CUDA_VISIBLE_DEVICES=0,2
    - AMD: export ROCR_VISIBLE_DEVICES=0,1
    - Añade la variable a ~/.bashrc para que persista

FAQ

¿Qué plataformas GPU admite Ollama?
Ollama admite tres plataformas: NVIDIA (CUDA, Compute Capability 5.0+), AMD (ROCm v7 / HIP7, ahora con soporte oficial en Linux y Windows) y Apple Silicon (Metal activado automáticamente; backend MLX en preview desde Ollama 0.19). NVIDIA es la más fácil de configurar; en Mac casi no hay que hacer nada.
¿Qué hago si no tengo suficiente VRAM?
La VRAM define el tamaño del modelo: un 7B necesita 5-6 GB, un 14B unos 10-12 GB y un 70B más de 40 GB. Si te falta memoria puedes: 1. usar un modelo cuantizado más pequeño; 2. dejar que Ollama complemente con CPU (más lento); 3. repartir la carga entre varias GPU.
¿Cómo confirmar que la aceleración GPU está activa?
Mientras ejecutas un modelo, lanza ollama ps y revisa el uso de GPU. En NVIDIA también puedes usar nvidia-smi -l 1 para ver la VRAM en tiempo real. Si el uso de GPU sube, la aceleración funciona.
¿Puedo usar tarjetas AMD antiguas como la RX 580?
Algunas tarjetas antiguas se pueden forzar con variables de entorno. Configura export HSA_OVERRIDE_GFX_VERSION=10.3.0 para usar el modo compatible con gfx1030. No siempre funciona: hay que probar.
¿Cómo usar GPU dentro de un contenedor Docker?
En NVIDIA instala nvidia-container-toolkit y configura el runtime de Docker. Al arrancar el contenedor añade --gpus all. En AMD la configuración GPU en contenedores es más compleja; suele ser mejor ejecutar Ollama directamente en el host.
¿Cómo activar el backend MLX en Apple Silicon?
Actualiza a Ollama 0.19+ (preview, marzo 2026); en Apple Silicon normalmente usa MLX de forma automática, o puedes forzarlo con la variable de entorno OLLAMA_BACKEND=mlx ollama serve. Requiere 32 GB+ de memoria unificada, solo admite algunos modelos (si no, recae en Metal) y acelera la decodificación alrededor de 1,6-2x.
¿Qué hacer si aparece 'no compatible GPUs were discovered'?
Revisa en este orden: 1. ¿Está instalado el driver? (nvidia-smi o rocminfo); 2. ¿La versión es demasiado antigua? (NVIDIA necesita 450+); 3. ¿El contenedor Docker tiene acceso a GPU?; 4. En AMD, ¿falta el driver amdgpu?

10 min de lectura · Publicado el: 25 abr 2026 · Actualizado el: 21 ago 2026

Comentarios

Inicia sesión con GitHub para dejar un comentario

Easton BlogEaston Blog