Ollama avec GPU AMD (ROCm)
AMD a longtemps été en retard sur CUDA, mais ROCm 6 a rattrapé assez de chemin pour que Radeon RX 6000, 7000 et 9000 soient pleinement utilisables pour l'inférence LLM. Ce guide couvre l'installation propre, la configuration Ollama, et l'override qui permet de faire tourner des cartes non officiellement listées.
#Pourquoi ROCm
Pour utiliser le GPU AMD, Ollama (qui s'appuie sur llama.cpp) doit passer par ROCm — l'équivalent AMD de CUDA. Sans ROCm, la carte est invisible côté inférence et tout tourne sur CPU.
#Cartes officiellement compatibles
- RX 7900 XTX / XT / GRE
- gfx1100. Support officiel. Environ 80 % des perfs d'une RTX 4080.
- RX 7800 / 7700 XT
- gfx1101. Support officiel depuis ROCm 6.1.
- RX 6900 / 6800 / 6700 XT
- gfx1030/1031. Support officiel pour les grandes cartes, override pour les petites.
- Instinct MI200 / MI300
- Cartes data-center. Support natif complet.
#1. Installer ROCm
Les deux distributions les mieux supportées sont Ubuntu 22.04/24.04 et RHEL/Fedora. Les versions Debian, Arch et consorts demandent des bricolages supplémentaires.
#2. Ollama et ROCm
Ollama 0.3+ détecte ROCm automatiquement. Si vous avez installé Ollama AVANT ROCm, réinstallez-le — le script détecte alors le GPU AMD et installe les bonnes libs.
#3. Forcer une carte non-supportée
Si rocminfo ne liste pas votre GPU, ou si Ollama continue d'utiliser le CPU, la variable HSA_OVERRIDE_GFX_VERSION force ROCm à faire semblant.
- RX 6600 / 6700
- HSA_OVERRIDE_GFX_VERSION=10.3.0
- RX 5700 XT
- HSA_OVERRIDE_GFX_VERSION=10.1.0 (support fragile)
- RX 6800 / 6900
- Supportées nativement, pas besoin d'override.
#4. Performance attendue
Sur Mistral 7B Q4_K_M, voici les tokens/seconde mesurés en inférence :
- RX 7900 XTX (24 Go)
- ~95 tok/s. Comparable à une RTX 4080.
- RX 7800 XT (16 Go)
- ~65 tok/s. Entre RTX 4070 et 4070 Ti.
- RX 6900 XT (16 Go)
- ~55 tok/s. Équivalent RTX 3080 10 Go.
- RX 6700 XT (12 Go, override)
- ~35 tok/s. Entre RTX 3060 et 3060 Ti.
#Dépannage
- rocminfo est vide
- Drivers pas installés ou utilisateur pas dans le groupe render. Vérifiez groups $USER.
- Ollama utilise le CPU malgré ROCm
- Souvent une incompatibilité d'archi. Essayez l'HSA_OVERRIDE correspondant à la génération au-dessus.
- Crash sur gros modèle (OOM)
- rocm-smi pour voir la VRAM consommée. Si vous débordez, réduisez num_ctx ou passez en Q3_K_M.
- Version ROCm incompatible Ollama
- Ollama packagé pour ROCm 6.x. ROCm 5 ne marche pas. Mettez à jour.
Un retour, une erreur, une précision ? Faites-nous signe, ça améliore le guide pour tout le monde.