Nvidia
Ollama obsługuje karty graficzne Nvidia z możliwością obliczeniową 5.0+ i wersją sterownika 550 lub nowszą. Karty graficzne Nvidia z możliwością obliczeniową od 5.0 do 6.2 wymagają wersji sterownika 570 lub nowszej.
Sprawdź zgodność możliwości obliczeniowej, aby sprawdzić, czy Twoja karta jest obsługiwana: https://developer.nvidia.com/cuda-gpus
| Możliwość obliczeniowa | Rodzina | Karty |
|---|---|---|
| 12.1 | NVIDIA | GB10 (DGX Spark) |
| 12.0 | GeForce RTX 50xx | RTX 5060 RTX 5060 Ti RTX 5070 RTX 5070 Ti RTX 5080 RTX 5090 |
| NVIDIA Professional | RTX PRO 4000 Blackwell RTX PRO 4500 Blackwell RTX PRO 5000 Blackwell RTX PRO 6000 Blackwell | |
| 9.0 | NVIDIA | H200 H100 |
| 8.9 | GeForce RTX 40xx | RTX 4090 RTX 4080 SUPER RTX 4080 RTX 4070 Ti SUPER RTX 4070 Ti RTX 4070 SUPER RTX 4070 RTX 4060 Ti RTX 4060 |
| NVIDIA Professional | L4 L40 RTX 6000 | |
| 8.6 | GeForce RTX 30xx | RTX 3090 Ti RTX 3090 RTX 3080 Ti RTX 3080 RTX 3070 Ti RTX 3070 RTX 3060 Ti RTX 3060 RTX 3050 Ti RTX 3050 |
| NVIDIA Professional | A40 RTX A6000 RTX A5000 RTX A4000 RTX A3000 RTX A2000 A10 A16 A2 | |
| 8.0 | NVIDIA | A100 A30 |
| 7.5 | GeForce GTX/RTX | GTX 1650 Ti TITAN RTX RTX 2080 Ti RTX 2080 RTX 2070 RTX 2060 |
| NVIDIA Professional | T4 RTX 5000 RTX 4000 RTX 3000 T2000 T1200 T1000 T600 T500 | |
| Quadro | RTX 8000 RTX 6000 RTX 5000 RTX 4000 | |
| 7.0 | NVIDIA | TITAN V V100 Quadro GV100 |
| 6.1 | NVIDIA TITAN | TITAN Xp TITAN X |
| GeForce GTX | GTX 1080 Ti GTX 1080 GTX 1070 Ti GTX 1070 GTX 1060 GTX 1050 Ti GTX 1050 | |
| Quadro | P6000 P5200 P4200 P3200 P5000 P4000 P3000 P2200 P2000 P1000 P620 P600 P500 P520 | |
| Tesla | P40 P4 | |
| 6.0 | NVIDIA | Tesla P100 Quadro GP100 |
| 5.2 | GeForce GTX | GTX TITAN X GTX 980 Ti GTX 980 GTX 970 GTX 960 GTX 950 |
| Quadro | M6000 24GB M6000 M5000 M5500M M4000 M2200 M2000 M620 | |
| Tesla | M60 M40 | |
| 5.0 | GeForce GTX | GTX 750 Ti GTX 750 NVS 810 |
| Quadro | K2200 K1200 K620 M1200 M520 M5000M M4000M M3000M M2000M M1000M K620M M600M M500M |
Aby zbudować lokalnie obsługę starszych kart graficznych, zobacz deweloper
Wybór karty graficznej
Jeśli masz w systemie wiele kart graficznych NVIDIA i chcesz ograniczyć Ollama do użycia ich podzbioru, możesz ustawić CUDA_VISIBLE_DEVICES na listę kart oddzielonych przecinkami. Można używać numerycznych identyfikatorów, jednak ich kolejność może się różnić, więc UUID-y są bardziej niezawodne. UUID-y swoich kart graficznych możesz sprawdzić uruchamiając polecenie nvidia-smi -L. Jeśli chcesz zignorować karty graficzne i wymusić użycie procesora, użyj nieprawidłowego identyfikatora karty (np. „-1”).
Wznawianie po uśpieniu w systemie Linux
W systemie Linux po cyklu uśpienia/wznowienia czasami Ollama nie jest w stanie wykryć karty graficznej NVIDIA i przełącza się na działanie na procesorze. Możesz obejść ten błąd sterownika, ponownie ładując sterownik NVIDIA UVM za pomocą polecenia sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm
AMD Radeon
Ollama obsługuje poniższe karty graficzne AMD za pośrednictwem biblioteki ROCm:
UWAGA: Dodatkowa obsługa kart graficznych AMD jest zapewniana przez bibliotekę Vulkan – zobacz poniżej.
Obsługa w systemie Linux
Ollama wymaga sterownika AMD ROCm w wersji 7 w systemie Linux. Możesz go zainstalować lub zaktualizować za pomocą narzędzia amdgpu-install z dokumentacji ROCm firmy AMD.
| Rodzina | Karty i akceleratory |
|---|---|
| AMD Radeon RX | 9070 XT 9070 GRE 9070 9060 XT 9060 XT LP 9060 7900 XTX 7900 XT 7900 GRE 7800 XT 7700 XT 7700 7600 XT 7600 6950 XT 6900 XTX 6900XT 6800 XT 6800 |
| AMD Radeon AI PRO | R9700 R9600D |
| AMD Radeon PRO | W7900 W7800 W7700 W7600 W7500 W6900X W6800X Duo W6800X W6800 V620 |
| AMD Ryzen AI | Ryzen AI Max+ 395 Ryzen AI Max 390 Ryzen AI Max 385 Ryzen AI 9 HX 475 Ryzen AI 9 HX 470 Ryzen AI 9 465 Ryzen AI 9 HX 375 Ryzen AI 9 HX 370 Ryzen AI 9 365 |
| AMD Instinct | MI350X MI300X MI300A MI250X MI250 MI210 MI100 |
Obsługa w systemie Windows
Ollama wymaga stosu sterowników obsługujących AMD ROCm v7 / HIP7 w systemie Windows.
| Rodzina | Karty i akceleratory |
|---|---|
| AMD Radeon RX | 7900 XTX 7900 XT 7900 GRE 7800 XT 7700 XT 7600 XT 7600 |
| AMD Radeon PRO | W7900 W7800 W7700 W7600 W7500 |
Nadpisania w systemie Linux
Ollama korzysta z biblioteki AMD ROCm, która nie obsługuje wszystkich kart graficznych AMD. W niektórych przypadkach możesz wymusić na systemie próbę użycia podobnego, bliskiego celu LLVM. Na przykład Radeon RX 5400 ma cel gfx1034 (znany również jako 10.3.4), jednak ROCm obecnie nie obsługuje tego celu. Najbliższa obsługiwana wartość to gfx1030. Możesz użyć zmiennej środowiskowej HSA_OVERRIDE_GFX_VERSION z składnią x.y.z. Na przykład, aby wymusić działanie systemu na RX 5400, ustawisz zmienną środowiskową HSA_OVERRIDE_GFX_VERSION="10.3.0" dla serwera. Jeśli masz nieobsługiwaną kartę graficzną AMD, możesz eksperymentować, używając listy obsługiwanych typów podanej poniżej.
Jeśli masz wiele kart graficznych z różnymi wersjami GFX, dodaj numeryczny identyfikator urządzenia do nazwy zmiennej środowiskowej, aby ustawić je indywidualnie. Na przykład HSA_OVERRIDE_GFX_VERSION_0=10.3.0 i HSA_OVERRIDE_GFX_VERSION_1=11.0.0
Obecnie znane obsługiwane typy kart graficznych w systemie Linux to następujące cele LLVM. Ta tabela przedstawia przykładowe karty graficzne, które odpowiadają tym celom LLVM:
| Cel LLVM | Przykładowa karta graficzna |
|---|---|
| gfx908 | Radeon Instinct MI100 |
| gfx90a | Radeon Instinct MI210/MI250 |
| gfx942 | Radeon Instinct MI300X/MI300A |
| gfx950 | Radeon Instinct MI350X |
| gfx1030 | Radeon PRO V620 |
| gfx1100 | Radeon PRO W7900 |
| gfx1101 | Radeon PRO W7700 |
| gfx1102 | Radeon RX 7600 |
| gfx1150 | Ryzen AI 9 HX 375 |
| gfx1151 | Ryzen AI Max+ 395 |
| gfx1200 | Radeon RX 9070 |
| gfx1201 | Radeon RX 9070 XT |
Skontaktuj się z nami na Discord lub złóż zgłoszenie, aby uzyskać dodatkową pomoc.
Wybór karty graficznej
Jeśli masz w systemie wiele kart graficznych AMD i chcesz ograniczyć Ollama do użycia ich podzbioru, możesz ustawić zmienną ROCR_VISIBLE_DEVICES na listę kart oddzielonych przecinkami. Listę urządzeń możesz sprawdzić za pomocą polecenia rocminfo. Jeśli chcesz zignorować karty graficzne i wymusić użycie procesora, użyj nieprawidłowego identyfikatora karty (np. „-1”). Jeśli jest to możliwe, użyj Uuid, aby unikalnie zidentyfikować urządzenie zamiast wartości numerycznej.
Uprawnienia kontenera
W niektórych dystrybucjach systemu Linux SELinux może uniemożliwiać kontenerom dostęp do urządzeń kart graficznych AMD. W systemie gospodarza możesz uruchomić polecenie sudo setsebool container_use_devices=1, aby zezwolić kontenerom na korzystanie z urządzeń.
Metal (karty graficzne Apple)
Ollama obsługuje akcelerację GPU na urządzeniach Apple za pośrednictwem interfejsu API Metal.
Obsługa kart graficznych Vulkan
Dodatkowa obsługa kart graficznych w systemach Windows i Linux jest zapewniana za pośrednictwem Vulkan. Obsługa Vulkan jest domyślnie włączona po zainstalowaniu backendu. W systemie Windows większość sterowników producentów kart graficznych jest dostarczana z wbudowaną obsługą Vulkan i nie wymaga dodatkowych kroków konfiguracji. Większość dystrybucji systemu Linux wymaga zainstalowania dodatkowych komponentów, a możesz mieć wiele opcji sterowników Vulkan do wyboru między Mesa a pakietami specyficznymi dla producenta karty graficznej
- Linux Intel GPU Instructions - https://dgpu-docs.intel.com/driver/client/overview.html
- Linux AMD GPU Instructions - https://amdgpu-install.readthedocs.io/en/latest/install-script.html#specifying-a-vulkan-implementation
W przypadku kart graficznych AMD w niektórych dystrybucjach systemu Linux może być konieczne dodanie użytkownika ollama do grupy render.
Scheduler Ollama wykorzystuje dane o dostępnej pamięci VRAM zgłaszane przez biblioteki kart graficznych, aby podejmować optymalne decyzje dotyczące planowania. Vulkan wymaga dodatkowych uprawnień lub uruchomienia jako root, aby udostępnić te dane o dostępnej pamięci VRAM. Jeśli nie zostaną przyznane ani dostęp jako root, ani te uprawnienia, Ollama użyje przybliżonych rozmiarów modeli, aby podejmować decyzje dotyczące planowania w ramach najlepszego możliwego wysiłku.
bash
sudo setcap cap_perfmon+ep /usr/local/bin/ollamaWybór karty graficznej
Aby wybrać konkretne karty graficzne Vulkan, możesz ustawić zmienną środowiskową GGML_VK_VISIBLE_DEVICES na jeden lub więcej numerycznych identyfikatorów na serwerze Ollama, jak opisano w FAQ. Jeśli napotkasz jakiekolwiek problemy z kartami graficznymi opartymi na Vulkan, możesz wyłączyć wszystkie karty graficzne Vulkan, ustawiając OLLAMA_VULKAN=0 lub GGML_VK_VISIBLE_DEVICES=-1.
W systemach mieszanych iGPU/dGPU, gdzie Vulkan iGPU jest niestabilny, pozostaw obsługę Vulkan włączoną i ustaw GGML_VK_VISIBLE_DEVICES na indeks dyskretnej karty graficznej. Na przykład użyj GGML_VK_VISIBLE_DEVICES=1, gdy Vulkan1 jest dyskretną kartą graficzną.