Nvidia
Ollama prend en charge les GPU Nvidia avec une capacité de calcul 5.0 ou supérieure et des versions de pilote 550 et plus récentes. Les GPU Nvidia avec une capacité de calcul comprise entre 5.0 et 6.2 nécessitent une version de pilote 570 ou plus récente.
Vérifiez la compatibilité en capacité de calcul de votre carte pour savoir si elle est prise en charge : https://developer.nvidia.com/cuda-gpus
| Capacité de calcul | Gamme | Cartes |
|---|---|---|
| 12.1 | NVIDIA | GB10 (DGX Spark) |
| 12.0 | GeForce RTX 50xx | RTX 5060 RTX 5060 Ti RTX 5070 RTX 5070 Ti RTX 5080 RTX 5090 |
| NVIDIA Professional | RTX PRO 4000 Blackwell RTX PRO 4500 Blackwell RTX PRO 5000 Blackwell RTX PRO 6000 Blackwell | |
| 9.0 | NVIDIA | H200 H100 |
| 8.9 | GeForce RTX 40xx | RTX 4090 RTX 4080 SUPER RTX 4080 RTX 4070 Ti SUPER RTX 4070 Ti RTX 4070 SUPER RTX 4070 RTX 4060 Ti RTX 4060 |
| NVIDIA Professional | L4 L40 RTX 6000 | |
| 8.6 | GeForce RTX 30xx | RTX 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 Professional | A40 RTX A6000 RTX A5000 RTX A4000 RTX A3000 RTX A2000 A10 A16 A2 | |
| 8.0 | NVIDIA | A100 A30 |
| 7.5 | GeForce GTX/RTX | GTX 1650 Ti TITAN RTX RTX 2080 Ti RTX 2080 RTX 2070 RTX 2060 |
| NVIDIA Professional | T4 RTX 5000 RTX 4000 RTX 3000 T2000 T1200 T1000 T600 T500 | |
| Quadro | RTX 8000 RTX 6000 RTX 5000 RTX 4000 | |
| 7.0 | NVIDIA | TITAN V V100 Quadro GV100 |
| 6.1 | NVIDIA TITAN | TITAN Xp TITAN X |
| GeForce GTX | GTX 1080 Ti GTX 1080 GTX 1070 Ti GTX 1070 GTX 1060 GTX 1050 Ti GTX 1050 | |
| Quadro | P6000 P5200 P4200 P3200 P5000 P4000 P3000 P2200 P2000 P1000 P620 P600 P500 P520 | |
| Tesla | P40 P4 | |
| 6.0 | NVIDIA | Tesla P100 Quadro GP100 |
| 5.2 | GeForce GTX | GTX TITAN X GTX 980 Ti GTX 980 GTX 970 GTX 960 GTX 950 |
| Quadro | M6000 24GB M6000 M5000 M5500M M4000 M2200 M2000 M620 | |
| Tesla | M60 M40 | |
| 5.0 | GeForce GTX | GTX 750 Ti GTX 750 NVS 810 |
| Quadro | K2200 K1200 K620 M1200 M520 M5000M M4000M M3000M M2000M M1000M K620M M600M M500M |
Pour compiler localement afin de prendre en charge des GPU plus anciens, consultez la section développeur
Sélection du GPU
Si vous disposez de plusieurs GPU NVIDIA dans votre système et que vous souhaitez limiter Ollama à n'utiliser qu'un sous-ensemble, vous pouvez définir la variable CUDA_VISIBLE_DEVICES sur une liste de GPU séparés par des virgules. Vous pouvez utiliser des identifiants numériques, cependant leur ordre peut varier, donc les UUID sont plus fiables. Vous pouvez découvrir les UUID de vos GPU en exécutant la commande nvidia-smi -L. Si vous souhaitez ignorer les GPU et forcer l'utilisation du processeur, utilisez un identifiant de GPU invalide (par exemple « -1 »)
Veille et reprise sous Linux
Sous Linux, après un cycle de veille/reprise, il arrive parfois qu'Ollama ne parvienne pas à détecter votre GPU NVIDIA et bascule sur l'exécution sur le processeur. Vous pouvez contourner ce bogue de pilote en rechargeant le pilote NVIDIA UVM à l'aide de la commande sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm
AMD Radeon
Ollama prend en charge les GPU AMD suivants via la bibliothèque ROCm :
REMARQUE : Une prise en charge supplémentaire des GPU AMD est fournie par la bibliothèque Vulkan - voir ci-dessous.
Prise en charge sous Linux
Ollama nécessite le pilote AMD ROCm v7 sous Linux. Vous pouvez l'installer ou le mettre à niveau à l'aide de l'utilitaire amdgpu-install disponible dans la documentation ROCm d'AMD.
| Gamme | Cartes et accélérateurs |
|---|---|
| AMD Radeon RX | 9070 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 PRO | R9700 R9600D |
| AMD Radeon PRO | W7900 W7800 W7700 W7600 W7500 W6900X W6800X Duo W6800X W6800 V620 |
| AMD Ryzen AI | Ryzen 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 Instinct | MI350X MI300X MI300A MI250X MI250 MI210 MI100 |
Prise en charge sous Windows
Ollama nécessite une pile de pilotes compatible AMD ROCm v7 / HIP7 sous Windows.
| Gamme | Cartes et accélérateurs |
|---|---|
| AMD Radeon RX | 7900 XTX 7900 XT 7900 GRE 7800 XT 7700 XT 7600 XT 7600 |
| AMD Radeon PRO | W7900 W7800 W7700 W7600 W7500 |
Substitutions sous Linux
Ollama utilise la bibliothèque AMD ROCm, qui ne prend pas en charge tous les GPU AMD. Dans certains cas, vous pouvez forcer le système à essayer d'utiliser une cible LLVM similaire proche. Par exemple, la Radeon RX 5400 utilise la cible gfx1034 (également connue sous le nom de 10.3.4), cependant ROCm ne prend pas en charge cette cible pour le moment. La prise en charge la plus proche est gfx1030. Vous pouvez utiliser la variable d'environnement HSA_OVERRIDE_GFX_VERSION avec la syntaxe x.y.z. Ainsi, par exemple, pour forcer le système à fonctionner sur la RX 5400, vous devez définir HSA_OVERRIDE_GFX_VERSION="10.3.0" comme variable d'environnement pour le serveur. Si vous disposez d'un GPU AMD non pris en charge, vous pouvez tester les différents types pris en charge dans la liste ci-dessous.
Si vous disposez de plusieurs GPU avec des versions GFX différentes, ajoutez le numéro du périphérique à la variable d'environnement pour les définir individuellement. Par exemple, HSA_OVERRIDE_GFX_VERSION_0=10.3.0 et HSA_OVERRIDE_GFX_VERSION_1=11.0.0
À l'heure actuelle, les types de GPU pris en charge connus sous Linux sont les cibles LLVM suivantes. Ce tableau présente des exemples de GPU correspondant à ces cibles LLVM :
| Cible LLVM | Exemple de GPU |
|---|---|
| gfx908 | Radeon Instinct MI100 |
| gfx90a | Radeon Instinct MI210/MI250 |
| gfx942 | Radeon Instinct MI300X/MI300A |
| gfx950 | Radeon Instinct MI350X |
| gfx1030 | Radeon PRO V620 |
| gfx1100 | Radeon PRO W7900 |
| gfx1101 | Radeon PRO W7700 |
| gfx1102 | Radeon RX 7600 |
| gfx1150 | Ryzen AI 9 HX 375 |
| gfx1151 | Ryzen AI Max+ 395 |
| gfx1200 | Radeon RX 9070 |
| gfx1201 | Radeon RX 9070 XT |
Contactez-nous sur Discord ou ouvrez un ticket pour obtenir de l'aide supplémentaire.
Sélection du GPU
Si vous disposez de plusieurs GPU AMD dans votre système et que vous souhaitez limiter Ollama à n'utiliser qu'un sous-ensemble, vous pouvez définir la variable ROCR_VISIBLE_DEVICES sur une liste de GPU séparés par des virgules. Vous pouvez consulter la liste des périphériques avec la commande rocminfo. Si vous souhaitez ignorer les GPU et forcer l'utilisation du processeur, utilisez un identifiant de GPU invalide (par exemple « -1 »). Lorsque c'est possible, utilisez le Uuid pour identifier de manière unique le périphérique au lieu d'une valeur numérique.
Autorisation des conteneurs
Sur certaines distributions Linux, SELinux peut empêcher les conteneurs d'accéder aux périphériques GPU AMD. Sur le système hôte, vous pouvez exécuter la commande sudo setsebool container_use_devices=1 pour autoriser les conteneurs à utiliser ces périphériques.
Metal (GPU Apple)
Ollama prend en charge l'accélération GPU sur les appareils Apple via l'API Metal.
Prise en charge des GPU Vulkan
Une prise en charge supplémentaire des GPU sous Windows et Linux est fournie via Vulkan. Vulkan est activé par défaut lorsque le backend est installé. Sous Windows, la plupart des pilotes de fabricants de GPU sont fournis avec la prise en charge de Vulkan et ne nécessitent aucune étape de configuration supplémentaire. La plupart des distributions Linux nécessitent l'installation de composants supplémentaires, et vous pouvez avoir plusieurs options de pilotes Vulkan entre Mesa et les packages spécifiques aux fabricants de GPU
- Instructions pour les GPU Intel sous Linux - https://dgpu-docs.intel.com/driver/client/overview.html
- Instructions pour les GPU AMD sous Linux - https://amdgpu-install.readthedocs.io/en/latest/install-script.html#specifying-a-vulkan-implementation
Pour les GPU AMD sur certaines distributions Linux, vous devrez peut-être ajouter l'utilisateur ollama au groupe render.
L'ordonnanceur d'Ollama exploite les données de VRAM disponibles rapportées par les bibliothèques GPU pour prendre des décisions de planification optimales. Vulkan nécessite des capacités supplémentaires ou une exécution en tant que superutilisateur (root) pour exposer ces données de VRAM disponibles. Si ni l'accès root ni ces capacités ne sont accordés, Ollama utilisera les tailles approximatives des modèles pour prendre des décisions de planification de meilleur effort.
bash
sudo setcap cap_perfmon+ep /usr/local/bin/ollamaSélection du GPU
Pour sélectionner des GPU Vulkan spécifiques, vous pouvez définir la variable d'environnement GGML_VK_VISIBLE_DEVICES sur un ou plusieurs identifiants numériques sur le serveur Ollama, comme décrit dans la FAQ. Si vous rencontrez des problèmes avec des GPU basés sur Vulkan, vous pouvez désactiver tous les GPU Vulkan en définissant OLLAMA_VULKAN=0 ou GGML_VK_VISIBLE_DEVICES=-1.
Sur les systèmes mixtes iGPU/dGPU où l'iGPU Vulkan est instable, laissez Vulkan activé et définissez GGML_VK_VISIBLE_DEVICES sur l'index du GPU discret. Par exemple, utilisez GGML_VK_VISIBLE_DEVICES=1 lorsque Vulkan1 est le GPU discret.