Nvidia
Ollama mendukung GPU Nvidia dengan compute capability 5.0+ dan versi driver 550 atau lebih baru. GPU Nvidia dengan compute capability 5.0 sampai 6.2 memerlukan versi driver 570 atau lebih baru.
Periksa kompatibilitas compute capability kartu Anda untuk melihat apakah kartu Anda didukung: https://developer.nvidia.com/cuda-gpus
| Compute Capability | Keluarga | Kartu |
|---|---|---|
| 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 |
Untuk membangun secara lokal guna mendukung GPU lama, lihat pengembang
Pemilihan GPU
Jika Anda memiliki beberapa GPU NVIDIA di sistem dan ingin membatasi Ollama hanya menggunakan sebagian, Anda dapat mengatur CUDA_VISIBLE_DEVICES ke daftar GPU yang dipisahkan koma. ID numerik dapat digunakan, namun urutan dapat bervariasi, sehingga UUID lebih dapat diandalkan. Anda dapat menemukan UUID GPU Anda dengan menjalankan nvidia-smi -L. Jika Anda ingin mengabaikan GPU dan memaksa penggunaan CPU, gunakan ID GPU yang tidak valid (misalnya, "-1")
Jeda/Lanjutkan Linux
Di Linux, setelah siklus jeda/lanjutkan, terkadang Ollama gagal mendeteksi GPU NVIDIA Anda, dan beralih ke penggunaan CPU. Anda dapat menggunakan solusi perantara untuk bug driver ini dengan memuat ulang driver NVIDIA UVM menggunakan perintah sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm
AMD Radeon
Ollama mendukung GPU AMD berikut melalui library ROCm:
CATATAN: Dukungan GPU AMD tambahan disediakan oleh Library Vulkan - lihat di bawah.
Dukungan Linux
Ollama memerlukan driver AMD ROCm v7 di Linux. Anda dapat menginstal atau meningkatkan versi driver menggunakan utilitas amdgpu-install dari dokumentasi ROCm AMD.
| Keluarga | Kartu dan akselerator |
|---|---|
| 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 |
Dukungan Windows
Ollama memerlukan tumpukan driver yang kompatibel dengan AMD ROCm v7 / HIP7 di Windows.
| Keluarga | Kartu dan akselerator |
|---|---|
| AMD Radeon RX | 7900 XTX 7900 XT 7900 GRE 7800 XT 7700 XT 7600 XT 7600 |
| AMD Radeon PRO | W7900 W7800 W7700 W7600 W7500 |
Penimpaan di Linux
Ollama memanfaatkan library AMD ROCm, yang tidak mendukung semua GPU AMD. Dalam beberapa kasus, Anda dapat memaksa sistem untuk mencoba menggunakan target LLVM yang serupa dan mendekati. Misalnya, Radeon RX 5400 menggunakan gfx1034 (juga dikenal sebagai 10.3.4), namun ROCm saat ini tidak mendukung target ini. Dukungan terdekat adalah gfx1030. Anda dapat menggunakan variabel lingkungan HSA_OVERRIDE_GFX_VERSION dengan sintaks x.y.z. Sebagai contoh, untuk memaksa sistem berjalan di RX 5400, atur HSA_OVERRIDE_GFX_VERSION="10.3.0" sebagai variabel lingkungan untuk server. Jika Anda memiliki GPU AMD yang tidak didukung, Anda dapat melakukan percobaan menggunakan daftar jenis yang didukung di bawah.
Jika Anda memiliki beberapa GPU dengan versi GFX yang berbeda, tambahkan nomor perangkat numerik ke variabel lingkungan untuk mengaturnya secara individual. Sebagai contoh, HSA_OVERRIDE_GFX_VERSION_0=10.3.0 dan HSA_OVERRIDE_GFX_VERSION_1=11.0.0
Saat ini, jenis GPU yang didukung yang diketahui di Linux adalah LLVM Targets berikut. Tabel ini menunjukkan beberapa contoh GPU yang sesuai dengan target LLVM ini:
| Target LLVM | Contoh 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 |
Hubungi kami di Discord atau buat issue untuk mendapatkan bantuan lebih lanjut.
Pemilihan GPU
Jika Anda memiliki beberapa GPU AMD di sistem dan ingin membatasi Ollama hanya menggunakan sebagian, Anda dapat mengatur ROCR_VISIBLE_DEVICES ke daftar GPU yang dipisahkan koma. Anda dapat melihat daftar perangkat dengan perintah rocminfo. Jika Anda ingin mengabaikan GPU dan memaksa penggunaan CPU, gunakan ID GPU yang tidak valid (misalnya, "-1"). Jika tersedia, gunakan Uuid untuk mengidentifikasi perangkat secara unik alih-alih nilai numerik.
Izin Kontainer
Di beberapa distribusi Linux, SELinux dapat mencegah kontainer mengakses perangkat GPU AMD. Di sistem host, Anda dapat menjalankan perintah sudo setsebool container_use_devices=1 untuk mengizinkan kontainer menggunakan perangkat.
Metal (GPU Apple)
Ollama mendukung akselerasi GPU di perangkat Apple melalui API Metal.
Dukungan GPU Vulkan
Dukungan GPU tambahan di Windows dan Linux disediakan melalui Vulkan. Vulkan diaktifkan secara default ketika backend terinstal. Di Windows, sebagian besar driver vendor GPU sudah dilengkapi dengan dukungan Vulkan dan tidak memerlukan langkah pengaturan tambahan. Sebagian besar distribusi Linux memerlukan penginstalan komponen tambahan, dan Anda mungkin memiliki beberapa opsi untuk driver Vulkan antara paket Mesa dan paket khusus vendor GPU
- Instruksi GPU Intel untuk Linux - https://dgpu-docs.intel.com/driver/client/overview.html
- Instruksi GPU AMD untuk Linux - https://amdgpu-install.readthedocs.io/en/latest/install-script.html#specifying-a-vulkan-implementation
Untuk GPU AMD di beberapa distribusi Linux, Anda mungkin perlu menambahkan pengguna ollama ke grup render.
Penjadwal Ollama memanfaatkan data VRAM yang tersedia yang dilaporkan oleh library GPU untuk membuat keputusan penjadwalan optimal. Vulkan memerlukan kapabilitas tambahan atau menjalankan sebagai root untuk mengekspos data VRAM yang tersedia ini. Jika tidak ada akses root atau kapabilitas ini yang diberikan, Ollama akan menggunakan ukuran perkiraan model untuk membuat keputusan penjadwalan dengan usaha terbaik.
bash
sudo setcap cap_perfmon+ep /usr/local/bin/ollamaPemilihan GPU
Untuk memilih GPU Vulkan tertentu, Anda dapat mengatur variabel lingkungan GGML_VK_VISIBLE_DEVICES ke satu atau lebih ID numerik di server Ollama seperti yang dijelaskan di FAQ. Jika Anda mengalami masalah dengan GPU berbasis Vulkan, Anda dapat menonaktifkan semua GPU Vulkan dengan mengatur OLLAMA_VULKAN=0 atau GGML_VK_VISIBLE_DEVICES=-1.
Pada sistem campuran iGPU/dGPU di mana iGPU Vulkan tidak stabil, biarkan Vulkan diaktifkan dan atur GGML_VK_VISIBLE_DEVICES ke indeks GPU diskrit. Sebagai contoh, gunakan GGML_VK_VISIBLE_DEVICES=1 ketika Vulkan1 adalah GPU diskrit.