TL;DR;

ollama-cuda на CachyOS идва (към момента) с поддръжка само за compute >= 7.5.

Ако имате по-стари видеокарти с по-ранен compute, ТРЯБВА да направите едно от 2 неща:

  • Да компилирате ollama-cuda от сорс кода, с поддръжка за по-старите compute цели
  • Да инсталирате ollama-vulkan

Аз избрах ollama-vulkan и работи чудесно!

Време за история

Днес ме споходи вдъхновението най-накрая да изключа Windows 11 виртуалната си машина и да я мигрирам към Linux.

Изискванията бяха да мога да пускам:

  • Ollama - за магия с локални модели
  • Docker - за отдалечена разработка
  • Steam - за игра на игри
  • Jellyfin - за архива с домашни видеа

Сега ще се фокусирам само върху Ollama, защото беше интересно преживяване и ме накара да се замисля защо нещата не са по-очевидни.

В машината има 2 видеокарти:

  • GTX 1070 - 8GB
  • GTX 970 - 4GB

Исках да пусна Ollama на тях, за да си поиграя с локални модели и да видя как мога да го интегрирам в някои проекти. Например - анонимизиране на данни локално, неразрушителна имплементация на OpenClaw, която пасва на моите случаи на употреба, локален OCR за документи, които сканирам с телефона си, автоматизиране на някои неща в ежедневното управление на дома.

Така че естествено инсталирах ollama и ollama-cuda, тъй като имам 2 Nvidia видеокарти, очаквайки, че ще работи без проблем, защото само преди няколко минути работеше на Windows.

Стартирах Ollama, заредих qwen3:8b за бърз експеримент и… работеше на процесора 🤔

Видеокартите бяха напълно способни да го удържат във VRAM, но по някаква причина Ollama избираше да го върти на процесора.

След като се опитах да разбера от логовете, помолих Claude да ми помогне малко и той стигна до доста обезкуражаващото откритие:

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+).

Това малко ме разочарова, защото искам да използвам видеокартите максимално, преди да мина на нова.

Не исках наистина да компилирам Ollama от сорс кода, тъй като трябва да поддържа нещата от кутията, и бях много объркан защо не го прави, при положение че на Windows инсталацията поддържаше тези архитектури.

Тези карти дори бяха показани като поддържани на сайта на Ollama!

За да скъся дългата история с ровене в Google:

Оказва се, че ollama-cuda идва точно с изискванията, изброени по-горе… а съветът беше да се инсталира ollama-vulkan.

След като го направих, всичко заработи много гладко!