TL;DR;
ollama-cuda en CachyOS viene (a día de hoy) con soporte únicamente para compute >= 7.5.
Si tienen GPUs antiguas con un compute menor, TIENEN QUE hacer una de estas 2 cosas:
- Compilar
ollama-cudadesde el código fuente, con soporte para los targets de compute más antiguos - Instalar
ollama-vulkan
Yo elegí ollama-vulkan y funciona perfectamente.
Hora de la historia
Hoy me llegó la inspiración para apagar por fin mi VM de Windows 11 y migrarla a Linux.
Los requisitos eran poder ejecutar:
- Ollama - para la magia de los modelos locales
- Docker - para desarrollo remoto
- Steam - para jugar
- Jellyfin - para el archivo de videos caseros
Ahora me voy a centrar solo en Ollama, porque fue una experiencia interesante y me dejó preguntándome por qué las cosas no son más obvias.
La máquina tiene 2 GPUs:
- GTX 1070 - 8GB
- GTX 970 - 4GB
Quería ejecutar Ollama en ellas para jugar con modelos locales y ver cómo podría integrarlos en algunos proyectos. Por ejemplo: anonimizar datos de forma local, hacer una implementación no destructiva de OpenClaw que se ajuste a mis casos de uso, OCR local para los documentos que escaneo con el teléfono, o automatizar algunas cosas de la gestión cotidiana de una casa.
Así que, naturalmente, instalé ollama y ollama-cuda, ya que tengo 2 GPUs Nvidia, esperando que funcionara sin problemas, pues en Windows funcionaba perfectamente apenas unos minutos antes.
Arranqué Ollama, cargué qwen3:8b para un experimento rápido y… se estaba ejecutando en la CPU 🤔
Las GPUs eran perfectamente capaces de mantenerlo en la VRAM, pero por alguna razón Ollama prefería ejecutarlo en la CPU.
Después de intentar descifrarlo a partir de los logs, le pedí ayuda a Claude y llegó a una conclusión bastante desalentadora:
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+).Esto fue un poco decepcionante para mí, porque quiero aprovechar las GPUs al máximo antes de pasar a una nueva.
No quería compilar Ollama desde el código fuente, ya que debería funcionar directamente y me confundía mucho que no lo hiciera, cuando en la instalación de Windows sí soportaba esas arquitecturas.
¡Además, esas tarjetas aparecían como compatibles en el sitio web de Ollama!
Para resumir una larga historia de búsquedas en Google:
Resulta que ollama-cuda viene solo con los requisitos mencionados arriba… y la sugerencia era instalar ollama-vulkan.
¡Después de hacerlo, todo empezó a funcionar sin ningún problema!