Skip to content

Nvidia

Ollama es compatible con GPU de Nvidia con capacidad de cómputo 5.0 o superior y versión de controlador 550 o más reciente. Las GPU de Nvidia con capacidad de cómputo entre 5.0 y 6.2 requieren la versión de controlador 570 o más reciente.

Consulta la compatibilidad de capacidad de cómputo para ver si tu tarjeta es compatible: https://developer.nvidia.com/cuda-gpus

Capacidad de cómputoFamiliaTarjetas
12.1NVIDIAGB10 (DGX Spark)
12.0GeForce RTX 50xxRTX 5060 RTX 5060 Ti RTX 5070 RTX 5070 Ti RTX 5080 RTX 5090
NVIDIA ProfessionalRTX PRO 4000 Blackwell RTX PRO 4500 Blackwell RTX PRO 5000 Blackwell RTX PRO 6000 Blackwell
9.0NVIDIAH200 H100
8.9GeForce RTX 40xxRTX 4090 RTX 4080 SUPER RTX 4080 RTX 4070 Ti SUPER RTX 4070 Ti RTX 4070 SUPER RTX 4070 RTX 4060 Ti RTX 4060
NVIDIA ProfessionalL4 L40 RTX 6000
8.6GeForce RTX 30xxRTX 3090 Ti RTX 3090 RTX 3080 Ti RTX 3080 RTX 3070 Ti RTX 3070 RTX 3060 Ti RTX 3060 RTX 3050 Ti RTX 3050
NVIDIA ProfessionalA40 RTX A6000 RTX A5000 RTX A4000 RTX A3000 RTX A2000 A10 A16 A2
8.0NVIDIAA100 A30
7.5GeForce GTX/RTXGTX 1650 Ti TITAN RTX RTX 2080 Ti RTX 2080 RTX 2070 RTX 2060
NVIDIA ProfessionalT4 RTX 5000 RTX 4000 RTX 3000 T2000 T1200 T1000 T600 T500
QuadroRTX 8000 RTX 6000 RTX 5000 RTX 4000
7.0NVIDIATITAN V V100 Quadro GV100
6.1NVIDIA TITANTITAN Xp TITAN X
GeForce GTXGTX 1080 Ti GTX 1080 GTX 1070 Ti GTX 1070 GTX 1060 GTX 1050 Ti GTX 1050
QuadroP6000 P5200 P4200 P3200 P5000 P4000 P3000 P2200 P2000 P1000 P620 P600 P500 P520
TeslaP40 P4
6.0NVIDIATesla P100 Quadro GP100
5.2GeForce GTXGTX TITAN X GTX 980 Ti GTX 980 GTX 970 GTX 960 GTX 950
QuadroM6000 24GB M6000 M5000 M5500M M4000 M2200 M2000 M620
TeslaM60 M40
5.0GeForce GTXGTX 750 Ti GTX 750 NVS 810
QuadroK2200 K1200 K620 M1200 M520 M5000M M4000M M3000M M2000M M1000M K620M M600M M500M

Para compilar localmente y dar soporte a GPU más antiguas, consulta developer

Selección de GPU

Si tienes varias GPU de NVIDIA en tu sistema y quieres limitar Ollama para que use solo un subconjunto, puedes establecer la variable de entorno CUDA_VISIBLE_DEVICES en una lista de GPU separadas por comas. Se pueden usar identificadores numéricos, aunque el orden puede variar, por lo que los UUID son más fiables. Puedes descubrir el UUID de tus GPU ejecutando nvidia-smi -L. Si quieres ignorar las GPU y forzar el uso de la CPU, usa un identificador de GPU no válido (por ejemplo, -1).

Suspensión y reanudación en Linux

En Linux, después de un ciclo de suspensión/reanudación, a veces Ollama no logra detectar tu GPU de NVIDIA y recurre a ejecutarse en la CPU. Puedes aplicar una solución alternativa a este error del controlador recargando el controlador NVIDIA UVM con el comando sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm

AMD Radeon

Ollama es compatible con las siguientes GPU de AMD a través de la biblioteca ROCm:

NOTA: Se proporciona soporte adicional para GPU de AMD mediante la biblioteca Vulkan: consulta la sección siguiente.

Soporte en Linux

Ollama requiere el controlador AMD ROCm v7 en Linux. Puedes instalarlo o actualizarlo usando la utilidad amdgpu-install de la documentación de ROCm de AMD.

FamiliaTarjetas y aceleradores
AMD Radeon RX9070 XT 9070 GRE 9070 9060 XT 9060 XT LP 9060 7900 XTX 7900 XT 7900 GRE 7800 XT 7700 XT 7700 7600 XT 7600 6950 XT 6900 XTX 6900XT 6800 XT 6800
AMD Radeon AI PROR9700 R9600D
AMD Radeon PROW7900 W7800 W7700 W7600 W7500 W6900X W6800X Duo W6800X W6800 V620
AMD Ryzen AIRyzen AI Max+ 395 Ryzen AI Max 390 Ryzen AI Max 385 Ryzen AI 9 HX 475 Ryzen AI 9 HX 470 Ryzen AI 9 465 Ryzen AI 9 HX 375 Ryzen AI 9 HX 370 Ryzen AI 9 365
AMD InstinctMI350X MI300X MI300A MI250X MI250 MI210 MI100

Soporte en Windows

Ollama requiere una pila de controladores compatible con AMD ROCm v7 / HIP7 en Windows.

FamiliaTarjetas y aceleradores
AMD Radeon RX7900 XTX 7900 XT 7900 GRE 7800 XT 7700 XT 7600 XT 7600
AMD Radeon PROW7900 W7800 W7700 W7600 W7500

Anulaciones en Linux

Ollama aprovecha la biblioteca AMD ROCm, que no es compatible con todas las GPU de AMD. En algunos casos, puedes forzar al sistema para que intente usar un objetivo LLVM similar que sea próximo. Por ejemplo, la Radeon RX 5400 usa gfx1034 (también conocido como 10.3.4); sin embargo, ROCm no es compatible actualmente con este objetivo. La compatibilidad más próxima es gfx1030. Puedes usar la variable de entorno HSA_OVERRIDE_GFX_VERSION con la sintaxis x.y.z. Así, por ejemplo, para forzar al sistema a ejecutarse en la RX 5400, debes establecer HSA_OVERRIDE_GFX_VERSION="10.3.0" como variable de entorno para el servidor. Si tienes una GPU de AMD no compatible, puedes experimentar usando la lista de tipos compatibles que se muestra a continuación.

Si tienes varias GPU con versiones GFX diferentes, agrega el número de dispositivo numérico a la variable de entorno para configurarlas de forma individual. Por ejemplo, HSA_OVERRIDE_GFX_VERSION_0=10.3.0 y HSA_OVERRIDE_GFX_VERSION_1=11.0.0

Por el momento, los tipos de GPU compatibles conocidos en Linux son los siguientes objetivos LLVM. Esta tabla muestra algunos ejemplos de GPU que se corresponden con estos objetivos LLVM:

Objetivo LLVMGPU de ejemplo
gfx908Radeon Instinct MI100
gfx90aRadeon Instinct MI210/MI250
gfx942Radeon Instinct MI300X/MI300A
gfx950Radeon Instinct MI350X
gfx1030Radeon PRO V620
gfx1100Radeon PRO W7900
gfx1101Radeon PRO W7700
gfx1102Radeon RX 7600
gfx1150Ryzen AI 9 HX 375
gfx1151Ryzen AI Max+ 395
gfx1200Radeon RX 9070
gfx1201Radeon RX 9070 XT

Ponte en contacto en Discord o abre un issue para obtener ayuda adicional.

Selección de GPU

Si tienes varias GPU de AMD en tu sistema y quieres limitar Ollama para que use solo un subconjunto, puedes establecer la variable de entorno ROCR_VISIBLE_DEVICES en una lista de GPU separadas por comas. Puedes ver la lista de dispositivos ejecutando rocminfo. Si quieres ignorar las GPU y forzar el uso de la CPU, usa un identificador de GPU no válido (por ejemplo, -1). Cuando esté disponible, usa el Uuid para identificar el dispositivo de forma única en lugar del valor numérico.

Permisos de contenedor

En algunas distribuciones de Linux, SELinux puede impedir que los contenedores accedan a los dispositivos de GPU de AMD. En el sistema anfitrión puedes ejecutar sudo setsebool container_use_devices=1 para permitir que los contenedores usen los dispositivos.

Metal (GPU de Apple)

Ollama es compatible con la aceleración por GPU en dispositivos Apple a través de la API Metal.

Soporte de GPU Vulkan

Se proporciona soporte adicional para GPU en Windows y Linux mediante Vulkan. Vulkan está activado de forma predeterminada cuando se instala el backend. En Windows, los controladores de la mayoría de los fabricantes de GPU incluyen soporte para Vulkan y no requieren pasos de configuración adicionales. La mayoría de las distribuciones de Linux requieren instalar componentes adicionales, y puedes tener varias opciones de controladores Vulkan entre Mesa y paquetes específicos de cada fabricante de GPU.

En algunas distribuciones de Linux, para las GPU de AMD puede que necesites agregar el usuario ollama al grupo render.

El programador de Ollama aprovecha los datos de VRAM disponibles informados por las bibliotecas de GPU para tomar decisiones de programación óptimas. Vulkan requiere capacidades adicionales o ejecutarse como root para exponer estos datos de VRAM disponibles. Si no se concede ni acceso de root ni estas capacidades, Ollama usará tamaños aproximados de los modelos para tomar decisiones de programación con el mejor esfuerzo posible.

bash
sudo setcap cap_perfmon+ep /usr/local/bin/ollama

Selección de GPU

Para seleccionar GPU Vulkan específicas, puedes establecer la variable de entorno GGML_VK_VISIBLE_DEVICES en uno o más identificadores numéricos en el servidor de Ollama, como se describe en las FAQ. Si tienes problemas con las GPU basadas en Vulkan, puedes desactivar todas las GPU Vulkan estableciendo OLLAMA_VULKAN=0 o GGML_VK_VISIBLE_DEVICES=-1.

En sistemas mixtos iGPU/dGPU en los que la iGPU Vulkan sea inestable, mantén Vulkan activado y establece GGML_VK_VISIBLE_DEVICES en el índice de la GPU discreta. Por ejemplo, usa GGML_VK_VISIBLE_DEVICES=1 cuando Vulkan1 sea la GPU discreta.