TL;DR;
ollama-cuda sur CachyOS ne supporte (à l’heure actuelle) que compute >= 7.5.
Si vous avez de vieux GPU avec un compute inférieur, vous DEVEZ faire l’une de ces 2 choses :
- Compiler
ollama-cudadepuis les sources, avec le support des anciennes cibles de compute - Installer
ollama-vulkan
J’ai choisi ollama-vulkan et ça marche parfaitement !
L’heure du récit
Aujourd’hui, j’ai eu l’inspiration d’enfin éteindre ma VM Windows 11 et de la migrer vers Linux.
Il fallait que je puisse faire tourner :
- Ollama - pour la magie des modèles en local
- Docker - pour le développement à distance
- Steam - pour jouer
- Jellyfin - pour l’archive de vidéos familiales
Je vais me concentrer uniquement sur Ollama, parce que l’expérience était intéressante et qu’elle m’a fait me demander pourquoi les choses ne sont pas plus évidentes.
La machine contient 2 GPU :
- GTX 1070 - 8 Go
- GTX 970 - 4 Go
Je voulais faire tourner Ollama dessus, pour jouer avec des modèles locaux et voir comment je pourrais l’intégrer dans certains projets. Par exemple : anonymiser des données en local, monter une implémentation non destructive d’OpenClaw adaptée à mes cas d’usage, faire de l’OCR local pour les documents que je scanne avec mon téléphone, automatiser certaines tâches de la gestion quotidienne d’une maison.
Alors naturellement, j’ai installé ollama et ollama-cuda, puisque j’ai 2 GPU Nvidia là-dedans, en m’attendant à ce que ça marche sans souci, vu que ça fonctionnait sous Windows quelques minutes plus tôt.
J’ai lancé Ollama, chargé qwen3:8b pour un test rapide et… ça tournait sur le CPU 🤔
Les GPU étaient parfaitement capables de le garder en VRAM, mais pour une raison quelconque Ollama choisissait de le faire tourner sur le CPU.
Après avoir essayé de comprendre à partir des logs, j’ai demandé un coup de main à Claude, qui est arrivé à cette conclusion plutôt décourageante :
The logs tell the story clearly. Both your GPUs are detected but then filtered out because they fail CUDA initialization:
"filtering device which didn't fully initialize" id=GPU-eb132a13-b9f4-40e3-d85d-60f211dfd21e ... library=CUDA
"filtering device which didn't fully initialize" id=GPU-550263c8-37e2-2a25-c0b6-10cc7511ed20 ... library=CUDA
The reason is the CUDA library bundled with Ollama 0.17.4 was compiled for these architectures only:
CUDA.0.ARCHS=750,800,860,870,880,890,900,1000,1030,1100,1200,1210
The minimum supported compute capability is 7.5 (Turing / RTX 20xx series). Your GPUs are older than that:
┌──────────┬────────────────────┬──────────────┐
│ GPU │ Compute Capability │ Architecture │
├──────────┼────────────────────┼──────────────┤
│ GTX 1070 │ 6.1 │ Pascal │
├──────────┼────────────────────┼──────────────┤
│ GTX 970 │ 5.2 │ Maxwell │
└──────────┴────────────────────┴──────────────┘
Neither is in the supported list, so CUDA initialization fails for both, and Ollama falls back to CPU-only inference.
Your options:
1. Downgrade Ollama to an older version that still included Pascal/Maxwell support (pre-0.6.x era had broader arch coverage, but check release notes for specifics).
2. Build Ollama from source with CUDA_ARCHITECTURES="52;61;75;80;86" to include your GPU architectures.
3. Upgrade GPUs to at least an RTX 2060 or newer (compute 7.5+).Franchement, ça m’a un peu douché, parce que je veux exploiter ces GPU au maximum avant de passer à un nouveau.
Je n’avais pas envie de recompiler Ollama depuis les sources, vu que ça devrait fonctionner out of the box, et j’étais très perplexe de voir que ce n’était pas le cas, alors que sous Windows ces architectures étaient bien supportées.
Ces cartes étaient même indiquées comme supportées sur le site d’Ollama !
Pour résumer des heures de recherches Google :
Il se trouve que ollama-cuda ne vient qu’avec les prérequis listés plus haut… et la suggestion était d’installer ollama-vulkan.
Après ça, tout s’est mis à fonctionner très bien !