Ollama 0.32.14 inaondoa uwezo wa GPU kwa kadi za mfululizo wa RTX 30 kwa kuacha kernel za CUDA za sm_86, hivyo mfumo unahamia kwenye CPU bila kutoa taarifa na uundaji wa modeli unakuwa wa polepole sana.

Nini kimebadilika katika 0.32.14

Binary mpya imeundwa kwa ajili ya usanifu wa kompyuta (compute architectures) 7.5, 8.9, 10.0 na 12.0 pekee. Usanifu wa 8.6 – jina la msimbo kwa mfululizo wa NVIDIA RTX 30, A40 na A6000 – haupo. Wakati programu ya uzinduzi (launcher) inapotafuta kernel inayolingana, haipati yoyote, inaripoti "split" ya GPU kwenye ollama ps, na kisha inaendelea bila kuongeza kasi (acceleration).

Kwa nini mfumo wa zamani wa mbadala (fallback) haufanyi kazi tena

Matoleo ya awali yalikuwa na njia ya pili ambayo, ikiwa kernel za msingi zitashindwa, ingepakia maktaba (library) ya CUDA 12. Maktaba hiyo bado ilikuwa na kodi kwa ajili ya sm_86, ikiruhusu kifaa hicho hicho kuendesha modeli. Katika 0.32.14, kodi ya mbadala iliondolewa bila kukusudia, hivyo programu ya uzinduzi inapuuza GPU kabisa na kuendesha kwenye kichakataji (processor) kikuu.

Nani anahisi athari hii

Mtu yeyote anayetumia RTX 3080, 3080 Ti, 3090, 3090 Ti, A40, A6000 au kadi nyingine yoyote inayotegemea uwezo wa kompyuta (compute capability) 8.6 ataona kupungua kwa kasi. Mabadiliko haya hayataonekani – hakuna ujumbe wa hitilafu, hakuna programu inayozima (crash) – ni kupungua tu kwa kasi ya utendaji (throughput) inayoweza kuonekana.

Jinsi ya kuthibitisha kuwa unatumia CPU

  1. Anza uundaji (generation) na, katika terminal nyingine, endesha nvidia-smi. Ikiwa safu ya “Memory-Used” inabaki kwenye 0 MiB, kazi inafanywa na CPU.
  2. Angalia logi za Ollama kwa mstari wenye library=CUDA compute=8.6. Kutokuwepo kwake kunathibitisha kuwa mfumo wa mbadala haukufanya kazi.
  3. Linganisha idadi ya tokeni kwa sekunde (token-per-second) dhidi ya kiwango cha GPU kinachojulikana; modeli kubwa inayochukua dakika chache kwenye matoleo ya awali sasa itachukua dakika nyingi.

Kuweka vigezo vya mazingira (environment variables) kama vile CUDA_VISIBLE_DEVICES hakurekebishi tatizo kwa sababu kernel zilizokosekana ni kutokuwepo wakati wa kuunda (compile-time omission), si alama ya wakati wa utendaji (runtime flag).

Suluhisho la haraka: tumia 0.32.13

Windows

  • Ondoa (uninstall) toleo la sasa la Ollama.
  • Pakua programu ya kusakinisha (installer) ya 0.32.13 kutoka ukurasa wa matoleo wa GitHub wa mradi huo.
  • Endesha programu ya kusakinisha na uanzishe upya huduma ya Ollama.

Linux

sudo systemctl stop ollama
# replace <package> with the 0.32.13 .deb or .rpm you downloaded
sudo dpkg -i <package>   # for Debian-based
# or sudo rpm -Uvh <package>   # for RPM-based
sudo systemctl start ollama

Baada ya kurudisha toleo la zamani (downgrade), rudia ukaguzi wa nvidia-smi; unapaswa kuona matumizi ya VRAM yasiyo sifuri na ongezeko la kasi ya uundaji.

Nini cha kufuatilia katika matoleo ya baadaye

Kutokuwepo kwa sm_86 kunaonekana kuwa ni kosa katika skripti ya ujenzi (build script) badala ya kuondolewa kwa makusudi. Mpaka watunzaji (maintainers) watakaporejesha kernel zilizokosekana au kuwasha tena mfumo wa mbadala wa CUDA 12, kila sasisho linalozidi 0.32.13 lina hatari hiyo hiyo. Fuatilia sehemu ya kurekebisha matatizo (issue tracker) ya mradi huo kwa ajili ya marekebisho (patch) yanayorudisha kernel za 8.6, na ujaribu matumizi ya GPU mara tu baada ya kila sasisho.

Hitimisho: toleo la 0.32.14 linaondoa kwa bahati mbaya kasi ya mfululizo wa RTX 30. Thibitisha shughuli ya GPU kwa kutumia nvidia-smi, na ikiwa unategemea kadi hizo, rudi kwenye 0.32.13 mpaka kernel zilizokosekana zirudishwe.