Nvidia
Ollama поддерживает GPU Nvidia с вычислительной возможностью 5.0 и выше и версией драйвера 550 и новее. GPU Nvidia с вычислительной возможностью от 5.0 до 6.2 требуют версию драйвера 570 или новее.
Проверьте совместимость по вычислительной возможности, чтобы убедиться, что ваша карта поддерживается: https://developer.nvidia.com/cuda-gpus
| Вычислительная возможность | Семейство | Карты |
|---|---|---|
| 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 |
Для локальной сборки с поддержкой старых GPU см. раздел для разработчиков
Выбор GPU
Если в вашей системе установлено несколько GPU Nvidia и вы хотите ограничить использование Ollama только частью из них, вы можете задать для переменной CUDA_VISIBLE_DEVICES список GPU через запятую. Можно использовать числовые идентификаторы, однако их порядок может меняться, поэтому UUID являются более надёжными. Узнать UUID ваших GPU можно, выполнив команду nvidia-smi -L. Если вы хотите игнорировать GPU и принудительно использовать процессор, укажите недействительный идентификатор GPU (например, «-1»)
Возобновление работы после сна в Linux
В Linux после цикла перехода в режим сна/возобновления работы иногда Ollama не может обнаружить вашу GPU Nvidia и переключается на работу на процессоре. Вы можете обойти эту ошибку драйвера, перезагрузив драйвер NVIDIA UVM с помощью команды sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm
AMD Radeon
Ollama поддерживает следующие GPU AMD через библиотеку ROCm:
ПРИМЕЧАНИЕ: Дополнительная поддержка GPU AMD обеспечивается библиотекой Vulkan — см. ниже.
Поддержка в Linux
Для работы в Linux Ollama требуется драйвер AMD ROCm версии 7. Установить или обновить его можно с помощью утилиты amdgpu-install из документации AMD по ROCm.
| Семейство | Карты и акселераторы |
|---|---|
| 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 |
Поддержка в Windows
Для работы в Windows Ollama требуется стек драйверов AMD ROCm версии 7 с поддержкой HIP7.
| Семейство | Карты и акселераторы |
|---|---|
| AMD Radeon RX | 7900 XTX 7900 XT 7900 GRE 7800 XT 7700 XT 7600 XT 7600 |
| AMD Radeon PRO | W7900 W7800 W7700 W7600 W7500 |
Переопределения в Linux
Ollama использует библиотеку AMD ROCm, которая не поддерживает все GPU AMD. В некоторых случаях вы можете заставить систему попробовать использовать похожий целевой профиль LLVM, который близок к нужному. Например, для Radeon RX 5400 это gfx1034 (также известный как 10.3.4), однако ROCm в настоящее время не поддерживает этот профиль. Ближайшая поддерживаемая версия — gfx1030. Вы можете использовать переменную окружения HSA_OVERRIDE_GFX_VERSION с синтаксисом x.y.z. Например, чтобы заставить систему работать на RX 5400, задайте для сервера переменную окружения HSA_OVERRIDE_GFX_VERSION="10.3.0". Если у вас есть неподдерживаемая GPU AMD, вы можете поэкспериментировать, используя список поддерживаемых типов ниже.
Если у вас несколько GPU с разными версиями GFX, добавьте числовой номер устройства к имени переменной окружения, чтобы задать их индивидуально. Например, HSA_OVERRIDE_GFX_VERSION_0=10.3.0 и HSA_OVERRIDE_GFX_VERSION_1=11.0.0
В настоящее время известные поддерживаемые типы GPU в Linux соответствуют следующим целевым профилям LLVM. В этой таблице приведены примеры GPU, которые соответствуют этим целевым профилям LLVM:
| Целевой профиль LLVM | Пример GPU |
|---|---|
| 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 |
Для получения дополнительной помощи обратитесь на Discord или создайте issue.
Выбор GPU
Если в вашей системе установлено несколько GPU AMD и вы хотите ограничить использование Ollama только частью из них, вы можете задать для переменной ROCR_VISIBLE_DEVICES список GPU через запятую. Список устройств можно посмотреть с помощью команды rocminfo. Если вы хотите игнорировать GPU и принудительно использовать процессор, укажите недействительный идентификатор GPU (например, «-1»). Если это возможно, используйте Uuid для уникальной идентификации устройства вместо числового значения.
Разрешения для контейнеров
В некоторых дистрибутивах Linux SELinux может запрещать контейнерам доступ к устройствам GPU AMD. На хостовой системе вы можете выполнить команду sudo setsebool container_use_devices=1, чтобы разрешить контейнерам использовать устройства.
Metal (GPU от Apple)
Ollama поддерживает ускорение с помощью GPU на устройствах Apple через API Metal.
Поддержка GPU через Vulkan
Дополнительная поддержка GPU в Windows и Linux обеспечивается через Vulkan. Vulkan включён по умолчанию после установки соответствующего бэкенда. В Windows драйверы большинства производителей GPU поставляются с поддержкой Vulkan и не требуют дополнительных шагов настройки. В большинстве дистрибутивов Linux требуется установка дополнительных компонентов, и у вас может быть несколько вариантов драйверов Vulkan: из пакетов Mesa или проприетарных пакетов производителей GPU
- Инструкции для GPU Intel в Linux — https://dgpu-docs.intel.com/driver/client/overview.html
- Инструкции для GPU AMD в Linux — https://amdgpu-install.readthedocs.io/en/latest/install-script.html#specifying-a-vulkan-implementation
Для GPU AMD в некоторых дистрибутивах Linux может потребоваться добавить пользователя ollama в группу render.
Планировщик Ollama использует данные о доступной VRAM, предоставляемые библиотеками GPU, для принятия оптимальных решений о распределении задач. Vulkan требует дополнительных возможностей или запуска от имени root для предоставления этих данных о доступной VRAM. Если ни доступ от имени root, ни эти возможности не предоставлены, Ollama будет использовать приблизительные размеры моделей для принятия решений о распределении задач с наилучшими усилиями.
bash
sudo setcap cap_perfmon+ep /usr/local/bin/ollamaВыбор GPU
Для выбора определённых GPU Vulkan вы можете задать для переменной окружения GGML_VK_VISIBLE_DEVICES один или несколько числовых идентификаторов на сервере Ollama, как описано в FAQ. Если у вас возникнут проблемы с GPU на базе Vulkan, вы можете отключить все такие GPU, задав OLLAMA_VULKAN=0 или GGML_VK_VISIBLE_DEVICES=-1.
В смешанных системах с iGPU/dGPU, где Vulkan iGPU нестабильна, оставьте Vulkan включённым и задайте для GGML_VK_VISIBLE_DEVICES индекс дискретной GPU. Например, используйте GGML_VK_VISIBLE_DEVICES=1, если дискретной GPU соответствует Vulkan1.