Nvidia
Ollama hỗ trợ GPU Nvidia có khả năng tính toán từ 5.0 trở lên và phiên bản trình điều khiển 550 trở lên. GPU Nvidia có khả năng tính toán từ 5.0 đến 6.2 yêu cầu phiên bản trình điều khiển 570 trở lên.
Kiểm tra khả năng tương thích tính toán của bạn để xem card của bạn có được hỗ trợ không: https://developer.nvidia.com/cuda-gpus
| Khả năng tính toán | Dòng | Card |
|---|---|---|
| 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 |
Để xây dựng cục bộ hỗ trợ GPU cũ hơn, xem nhà phát triển
Lựa chọn GPU
Nếu bạn có nhiều GPU NVIDIA trong hệ thống và muốn giới hạn Ollama chỉ sử dụng một tập hợp con, bạn có thể đặt CUDA_VISIBLE_DEVICES thành danh sách GPU được phân tách bằng dấu phẩy. Có thể sử dụng ID số, tuy nhiên thứ tự có thể thay đổi, vì vậy UUID đáng tin cậy hơn. Bạn có thể tìm UUID của GPU bằng cách chạy nvidia-smi -L. Nếu bạn muốn bỏ qua GPU và buộc sử dụng CPU, hãy sử dụng ID GPU không hợp lệ (ví dụ: "-1")
Tạm dừng/Tiếp tục Linux
Trên Linux, sau một chu kỳ tạm dừng/tiếp tục, đôi khi Ollama sẽ không thể phát hiện GPU NVIDIA của bạn và sẽ quay lại chạy trên CPU. Bạn có thể khắc phục lỗi trình điều khiển này bằng cách tải lại trình điều khiển NVIDIA UVM với sudo rmmod nvidia_uvm && sudo modprobe nvidia_uvm
AMD Radeon
Ollama hỗ trợ các GPU AMD sau thông qua thư viện ROCm:
LƯU Ý: Hỗ trợ GPU AMD bổ sung được cung cấp bởi Thư viện Vulkan - xem bên dưới.
Hỗ trợ Linux
Ollama yêu cầu trình điều khiển AMD ROCm v7 trên Linux. Bạn có thể cài đặt hoặc nâng cấp bằng tiện ích amdgpu-install từ tài liệu ROCm của AMD.
| Dòng | Card và bộ tăng tốc |
|---|---|
| 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 |
Hỗ trợ Windows
Ollama yêu cầu ngăn xếp trình điều khiển hỗ trợ AMD ROCm v7 / HIP7 trên Windows.
| Dòng | Card và bộ tăng tốc |
|---|---|
| AMD Radeon RX | 7900 XTX 7900 XT 7900 GRE 7800 XT 7700 XT 7600 XT 7600 |
| AMD Radeon PRO | W7900 W7800 W7700 W7600 W7500 |
Ghi đè trên Linux
Ollama tận dụng thư viện AMD ROCm, thư viện này không hỗ trợ tất cả GPU AMD. Trong một số trường hợp, bạn có thể buộc hệ thống thử sử dụng mục tiêu LLVM tương tự gần gũi. Ví dụ: Radeon RX 5400 là gfx1034 (còn được gọi là 10.3.4), tuy nhiên ROCm hiện tại không hỗ trợ mục tiêu này. Hỗ trợ gần nhất là gfx1030. Bạn có thể sử dụng biến môi trường HSA_OVERRIDE_GFX_VERSION với cú pháp x.y.z. Vì vậy, ví dụ để buộc hệ thống chạy trên RX 5400, bạn sẽ đặt HSA_OVERRIDE_GFX_VERSION="10.3.0" làm biến môi trường cho máy chủ. Nếu bạn có GPU AMD không được hỗ trợ, bạn có thể thử nghiệm bằng danh sách các loại được hỗ trợ bên dưới.
Nếu bạn có nhiều GPU với các phiên bản GFX khác nhau, hãy thêm số thiết bị vào biến môi trường để đặt riêng từng cái. Ví dụ, HSA_OVERRIDE_GFX_VERSION_0=10.3.0 và HSA_OVERRIDE_GFX_VERSION_1=11.0.0
Tại thời điểm này, các loại GPU được hỗ trợ đã biết trên Linux là các Mục tiêu LLVM sau. Bảng này hiển thị một số ví dụ GPU ánh xạ đến các mục tiêu LLVM này:
| Mục tiêu LLVM | Ví dụ 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 |
Liên hệ qua Discord hoặc gửi vấn đề để được hỗ trợ thêm.
Lựa chọn GPU
Nếu bạn có nhiều GPU AMD trong hệ thống và muốn giới hạn Ollama chỉ sử dụng một tập hợp con, bạn có thể đặt ROCR_VISIBLE_DEVICES thành danh sách GPU được phân tách bằng dấu phẩy. Bạn có thể xem danh sách thiết bị với rocminfo. Nếu bạn muốn bỏ qua GPU và buộc sử dụng CPU, hãy sử dụng ID GPU không hợp lệ (ví dụ: "-1"). Khi có sẵn, hãy sử dụng Uuid để xác định duy nhất thiết bị thay vì giá trị số.
Quyền Container
Trong một số bản phân phối Linux, SELinux có thể ngăn chặn container truy cập thiết bị GPU AMD. Trên hệ thống máy chủ, bạn có thể chạy sudo setsebool container_use_devices=1 để cho phép container sử dụng thiết bị.
Metal (GPU Apple)
Ollama hỗ trợ tăng tốc GPU trên thiết bị Apple thông qua API Metal.
Hỗ trợ GPU Vulkan
Hỗ trợ GPU bổ sung trên Windows và Linux được cung cấp thông qua Vulkan. Vulkan được bật theo mặc định khi backend được cài đặt. Trên Windows, hầu hết trình điều khiển của các nhà cung cấp GPU đều đi kèm hỗ trợ Vulkan và không yêu cầu các bước cài đặt bổ sung. Hầu hết các bản phân phối Linux yêu cầu cài đặt các thành phần bổ sung, và bạn có thể có nhiều tùy chọn cho trình điều khiển Vulkan giữa Mesa và các gói cụ thể của nhà cung cấp GPU.
- Hướng dẫn GPU Intel Linux - https://dgpu-docs.intel.com/driver/client/overview.html
- Hướng dẫn GPU AMD Linux - https://amdgpu-install.readthedocs.io/en/latest/install-script.html#specifying-a-vulkan-implementation
Đối với GPU AMD trên một số bản phân phối Linux, bạn có thể cần thêm người dùng ollama vào nhóm render.
Trình lập lịch Ollama tận dụng dữ liệu VRAM có sẵn được báo cáo bởi các thư viện GPU để đưa ra quyết định lập lịch tối ưu. Vulkan yêu cầu các khả năng bổ sung hoặc chạy với quyền root để tiết lộ dữ liệu VRAM có sẵn này. Nếu không được cấp quyền truy cập root hoặc khả năng này, Ollama sẽ sử dụng kích thước xấp xỉ của các mô hình để đưa ra quyết định lập lịch tốt nhất có thể.
bash
sudo setcap cap_perfmon+ep /usr/local/bin/ollamaLựa chọn GPU
Để chọn GPU Vulkan cụ thể, bạn có thể đặt biến môi trường GGML_VK_VISIBLE_DEVICES thành một hoặc nhiều ID số trên máy chủ Ollama như được mô tả trong FAQ. Nếu bạn gặp bất kỳ vấn đề nào với GPU dựa trên Vulkan, bạn có thể tắt tất cả GPU Vulkan bằng cách đặt OLLAMA_VULKAN=0 hoặc GGML_VK_VISIBLE_DEVICES=-1.
Trên hệ thống iGPU/dGPU hỗn hợp nơi iGPU Vulkan không ổn định, hãy giữ Vulkan được bật và đặt GGML_VK_VISIBLE_DEVICES thành chỉ số GPU rời. Ví dụ, sử dụng GGML_VK_VISIBLE_DEVICES=1 khi Vulkan1 là GPU rời.