图形处理器
本文内容均由Ollama官方文档翻译,仅供个人学习,如有差异请以官网文档为准(https://ollama.com)
NVIDIA
Ollama 支持计算能力为 5.0+ 的 Nvidia GPU。
检查您的计算兼容性,看看您的卡是否受支持:https://developer.nvidia.com/cuda-gpus
| 计算能力 | 家庭 | 卡 | 
|---|---|---|
| 9.0 | NVIDIA | H200H100 | 
| 8.9 | GeForce RTX 40xx 显卡 | RTX 4090RTX 4080 SUPERRTX 4080RTX 4070 Ti SUPERRTX 4070 TiRTX 4070 SUPERRTX 4070RTX 4060 TiRTX 4060 | 
| NVIDIA 专业 | L4L40RTX 6000 | |
| 8.6 | GeForce RTX 30xx 系列 | RTX 3090 TiRTX 3090RTX 3080 TiRTX 3080RTX 3070 TiRTX 3070RTX 3060 TiRTX 3060RTX 3050 TiRTX 3050 | 
| NVIDIA 专业 | A40RTX A6000RTX A5000RTX A4000RTX A3000RTX A2000A10A16A2 | |
| 8.0 | NVIDIA | A100A30 | 
| 7.5 | GeForce GTX/RTX | GTX 1650 TiTITAN RTXRTX 2080 TiRTX 2080RTX 2070RTX 2060 | 
| NVIDIA 专业 | T4RTX 5000RTX 4000RTX 3000T2000T1200T1000T600T500 | |
| Quadro | RTX 8000RTX 6000RTX 5000RTX 4000 | |
| 7.0 | NVIDIA | TITAN VV100Quadro GV100 | 
| 6.1 | NVIDIA TITAN | TITAN XpTITAN X | 
| GeForce GTX | GTX 1080 TiGTX 1080GTX 1070 TiGTX 1070GTX 1060GTX 1050 TiGTX 1050 | |
| Quadro | P6000P5200P4200P3200P5000P4000P3000P2200P2000P1000P620P600P500P520 | |
| Tesla | P40P4 | |
| 6.0 | NVIDIA | Tesla P100Quadro GP100 | 
| 5.2 | GeForce GTX | GTX TITAN XGTX 980 TiGTX 980GTX 970GTX 960GTX 950 | 
| Quadro | M6000 24GBM6000M5000M5500MM4000M2200M2000M620 | |
| Tesla | M60M40 | |
| 5.0 | GeForce GTX | GTX 750 TiGTX 750NVS 810 | 
| Quadro | K2200K1200K620M1200M520M5000MM4000MM3000MM2000MM1000MK620MM600MM500M | 
有关在本地构建以支持较旧的 GPU 的信息,请参阅 developer.md
GPU 选择
如果您的系统中有多个 NVIDIA GPU,并且希望限制 Ollama 使用
一个子集,您可以将CUDA_VISIBLE_DEVICES转换为以逗号分隔的 GPU 列表。
可以使用数字 ID,但顺序可能会有所不同,因此 UUID 更可靠。
您可以通过运行nvidia-smi -L如果您想
忽略 GPU 并强制使用 CPU,使用无效的 GPU ID(例如,“-1”)
Linux 挂起恢复
在 linux 上,在暂停/恢复周期后,有时 Ollama 将无法发现
您的 NVIDIA GPU,并回退到在 CPU 上运行。您可以解决此问题
驱动程序错误sudo rmmod nvidia_uvm &&
sudo modprobe nvidia_uvm
AMD Radeon
Ollama 支持以下 AMD GPU:
Linux 支持
| 家庭 | 卡和加速器 | 
|---|---|
| AMD Radeon RX | 7900 XTX7900 XT7900 GRE7800 XT7700 XT7600 XT76006950 XT6900 XTX6900XT6800 XT6800Vega 64Vega 56 | 
| AMD Radeon PRO | W7900W7800W7700W7600W7500W6900XW6800X DuoW6800XW6800V620V420V340V320Vega II DuoVega IIVIISSG | 
| AMD Instinct | MI300XMI300AMI300MI250XMI250MI210MI200MI100MI60MI50 | 
Windows 支持
在 ROCm v6.1 中,Windows 支持以下 GPU。
| 家庭 | 卡和加速器 | 
|---|---|
| AMD Radeon RX | 7900 XTX7900 XT7900 GRE7800 XT7700 XT7600 XT76006950 XT6900 XTX6900XT6800 XT6800 | 
| AMD Radeon PRO | W7900W7800W7700W7600W7500W6900XW6800X DuoW6800XW6800V620 | 
Linux 上的覆盖
Ollama 利用 AMD ROCm 库,该库并不支持所有 AMD GPU。在
在某些情况下,您可以强制系统尝试使用类似的 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"作为
服务器。如果您有不受支持的 AMD GPU,则可以使用
支持的类型如下。
如果您有多个具有不同 GFX 版本的 GPU,请附加数字设备
number 添加到环境变量中以单独设置它们。例如HSA_OVERRIDE_GFX_VERSION_0=10.3.0和HSA_OVERRIDE_GFX_VERSION_1=11.0.0
目前,Linux 上已知支持的 GPU 类型是以下 LLVM 目标。 下表显示了映射到这些 LLVM 目标的一些示例 GPU: |LLVM 目标 |GPU 示例 | |-----------------|---------------------| |GFX900 系列 |Radeon RX 维加 56 | |GFX906 |Radeon Instinct MI50 显卡 | |GFX908 |Radeon Instinct MI100 显卡 | |GFX90A |Radeon 本能 MI210 | |GFX940 |Radeon Instinct MI300 显卡 | |GFX941 | | |GFX942 | | |GFX1030 系列 |Radeon PRO V620 显卡 | |GFX1100 |Radeon PRO W7900 显卡 | |GFX1101 |Radeon PRO W7700 显卡 | |GFX1102 |Radeon RX 7600 显卡 |
AMD 正在努力增强 ROCm v6,以扩大对 GPU 系列的支持 未来的版本,这应该会增加对更多 GPU 的支持。
GPU 选择
如果您的系统中有多个 AMD GPU,并且希望限制 Ollama 使用
subset,您可以将ROCR_VISIBLE_DEVICES转换为以逗号分隔的 GPU 列表。
您可以查看设备列表rocminfo.如果要忽略 GPU
并强制使用 CPU 时,请使用无效的 GPU ID(例如,“-1”)。如果可用,请使用Uuid来唯一标识设备,而不是数值。
容器权限
在某些 Linux 发行版中,SELinux 可以防止容器
访问 AMD GPU 设备。在主机系统上,您可以运行sudo setsebool container_use_devices=1以允许容器使用设备。
Metal (Apple GPU)
Ollama 通过 Metal API 在 Apple 设备上支持 GPU 加速。