Ollama GPU 加速配置:CUDA、ROCm 与 Metal 全平台实战
我第一次在本地跑 7B 模型的时候,用的是纯 CPU。那种体验怎么说呢…每秒蹦出不到两个字,等它说完一句话我都能喝完半杯咖啡了。后来换了块 RTX 3080,同样的模型,同样的参数,速度直接飙到 40 多 tokens/秒——差距大概有 50 倍。
这还没完。更大的模型、更长的上下文、多轮对话,CPU 基本就别想了。GPU 加速不是锦上添花,是能不能用的区别。
如果你的电脑里有块显卡——不管是 NVIDIA、AMD 还是 Apple Silicon——大概率都能给 Ollama 加速。但怎么配?每个平台的坑不一样。NVIDIA 用户最省心,装好驱动就行;AMD 用户得折腾 ROCm,Windows 还得用 Vulkan;Mac 用户最幸福,啥都不用管。
这篇就把三大平台的配置方法、常见坑和排查思路一次性讲清楚。
GPU 加速为何重要
先说数据。根据实测,7B 模型在不同硬件上的推理速度差异相当大:
| 加速方案 | 典型性能(7B模型) | 适合场景 |
|---|---|---|
| CPU 纯推理 | 0.5-2 tokens/秒 | 测试、调试 |
| NVIDIA CUDA | 30-80 tokens/秒 | 日常使用、生产 |
| Apple Metal | 20-50 tokens/秒 | Mac 用户 |
| AMD ROCm | 25-60 tokens/秒 | Linux AMD 用户 |
为什么差距这么大?简单说,GPU 擅长干”重复劳动”。大模型推理本质上就是矩阵乘法——几千亿次矩阵乘法。CPU 想干这事,就像让一个博士生挨个算数学题,算得准但慢。GPU 呢?几千个小工一起干,每个人只算一小块,虽然单个没那么聪明,但人多力量大。
再说内存带宽。推理速度快不快,很大程度取决于数据能多快送进计算单元。GPU 的内存带宽一般是 CPU 的好几倍——RTX 3080 有 912 GB/s,普通 DDR4 内存才 50 GB/s 左右。数据堵在路上,算得再快也没用。
所以啥时候需要 GPU?基本上跑大于 7B 的模型就刚需了。聊天、写代码、长文本生成,没 GPU 体验会非常糟糕。如果你只是偶尔玩玩、调试个小模型,CPU 还凑合。
NVIDIA CUDA 配置实战
NVIDIA 是最省心的选择。生态成熟、文档完善、社区经验多——踩坑的人都帮你踩过了。
硬件和驱动要求
不是所有 NVIDIA 显卡都能用。Ollama 要求 Compute Capability 5.0 以上。啥意思?简单看表:
| Compute Capability | 代表显卡 | 能用吗 |
|---|---|---|
| 8.9 | RTX 4090/4080/4070 | 完美 |
| 8.6 | RTX 3090/3080/3070 | 完美 |
| 7.5 | RTX 2080 Ti/2080 | 完美 |
| 6.1 | GTX 1080 Ti/1080 | 能用 |
| 5.2 | GTX 980 Ti/980 | 能用 |
| 5.0 以下 | GTX 7xx 及更老 | 不支持 |
驱动版本也有门槛。官方要求 531 以上(Windows)或 535 以上(Linux)。版本太低,CUDA 跑不起来。
验证和安装步骤
先确认你的显卡被系统识别了。终端跑一下:
nvidia-smi
能看到显卡信息、驱动版本、CUDA 版本就对了。如果报错”command not found”,说明驱动没装或者路径不对。
Ollama 安装后会自动检测 CUDA。不需要额外配置,只要驱动正常就行。跑个模型看看:
ollama run llama3.2
ollama ps
ollama ps 输出里能看到 GPU 信息,比如:
ID MODEL SIZE PROCESSOR UNTIL
abc123 llama3.2:7b 4.7 GB 100% GPU 2 minutes from now
如果显示的是 CPU 而不是 GPU,那就有问题。
常见坑
驱动版本不对。去 NVIDIA 官网下载最新驱动,Linux 用户注意别装错版本——有些发行版的默认驱动太老。
CUDA Toolkit 缺失。其实 Ollama 不需要完整 CUDA Toolkit,它自带精简版。但有些系统配置特殊,可能需要手动安装 CUDA runtime。Linux 下可以这样:
# Ubuntu/Debian
sudo apt install nvidia-cuda-toolkit
容器里跑 Ollama。Docker 用户需要加 --gpus all 参数让容器访问 GPU:
docker run --gpus all ollama/ollama
AMD ROCm 配置实战
AMD 用户就比较折腾了。ROCm(AMD 的 CUDA 替代品)成熟度不如 CUDA,但近两年进步很大。Linux 配置相对顺利,Windows 还得绕点路。
哪些 AMD 显卡能用?
ROCm 对 RDNA 架构支持最好:
| 架构 | 系列 | 支持程度 |
|---|---|---|
| RDNA3 | RX 7900 XTX/XT、RX 7800/7700 | 最佳 |
| RDNA2 | RX 6800/6700/6600 | 良好 |
| RDNA1 | RX 5700/5600/5500 | 基本可用 |
| GCN | RX Vega、RX 500/400 | 官方不保证 |
说白了,RX 7000 和 6000 系列没问题,5000 系列凑合能用,更老的显卡就别指望了。
Linux ROCm 安装
Ubuntu/Debian 用户按这几步来:
# 先确认系统支持
sudo apt update
# 安装 ROCm 核心
sudo apt install rocm-dkms rocm-dev rocm-libs
# 安装 HIP runtime
sudo apt install hip-runtime-amd
# 验证安装
rocminfo
rocminfo 能看到显卡信息就装对了。然后重启一次,让内核模块加载生效。
Ollama 安装后会自动检测 ROCm。跟 CUDA 一样,不需要额外配置。
Windows 用户怎么办?
ROCm 的 Windows 支持还在开发中。但有个替代方案——Vulkan。设置环境变量就行:
# Windows PowerShell
$env:OLLAMA_VULKAN = "1"
ollama run llama3.2
Vulkan 性能不如 ROCm,但能用。实测大概能达到 ROCm 70-80% 的速度。
多 GPU 选择
如果你有多块 AMD GPU,可以指定用哪块:
# 只用第一块 GPU
export ROCR_VISIBLE_DEVICES=0
# 用第一和第三块
export ROCR_VISIBLE_DEVICES=0,2
性能对比
AMD 官方和社区测了一些数据。RX 7900 XTX(AMD 旗舰)跑 7B 模型大概 35-45 tokens/秒,RTX 4090(NVIDIA 旗舰)能到 50-70 tokens/秒。差距有,但价格差更多——7900 XTX 便宜大概 40%。
性价比角度,AMD 用户值得折腾 ROCm。
Apple Metal 零配置体验
Mac 用户最幸福。Ollama 对 Apple Silicon 的支持是零配置——装好 Ollama,直接跑,GPU 加速自动生效。
哪些 Mac 能用?
所有 Apple Silicon Mac 都支持:
- M1 / M1 Pro / M1 Max / M1 Ultra
- M2 / M2 Pro / M2 Max / M2 Ultra
- M3 / M3 Pro / M3 Max
- M4 系列
Intel Mac 不支持 Metal 加速,只能用 CPU。但 Intel Mac 现在也差不多该退役了。
自动检测机制
Ollama 启动时会自动检测 Metal。不需要任何配置文件、环境变量、驱动安装——Apple 已经把 Metal 深度集成在系统里了。
验证一下:
ollama run llama3.2
ollama ps
输出应该显示 GPU,比如:
PROCESSOR: 100% GPU
如果看到 CPU,说明有问题。但说实话,Mac 上这问题很少见。
性能大致怎样?
M2 基础版跑 7B 模型大概 25-35 tokens/秒。Pro/Max 版会更快,因为 GPU 核心多。实测 M2 Max 能到 45 tokens/秒左右,跟中端 NVIDIA 卡差不多。
有个细节:Apple Silicon 的内存是统一架构——GPU 和 CPU 共用系统内存。好处是 VRAM 不受限,坏处是跑大模型会吃掉大量内存。M2 8GB 内存版跑 7B 模型还行,14B 就勉强了,70B 别想了。
常见误区
很多人以为 Mac 需要配置 Metal——完全不需要。Ollama 官方代码里已经写了 Metal 检测逻辑,安装完自动启用。
还有人问要不要装什么 ROCm 或 CUDA——Mac 上压根不用这些,Metal 是 Apple 自家的技术,系统自带。
多 GPU 与 VRAM 管理
如果你有多块 GPU,或者显存不够大,这部分内容就比较关键了。
层分布机制
大模型不是整个都在 GPU 上跑。它分成很多”层”,GPU 跑一部分,剩下的给 CPU。这个比例是动态计算的——Ollama 会根据可用 VRAM 自动决定多少层放 GPU。
举个例子:7B 模型大约 80 层。如果你的 GPU 有 8GB VRAM,可能 60 层在 GPU,20 层在 CPU。如果显存不够,更多层会溢出到系统内存。
Pack vs Spread 模式
多 GPU 环境有两种策略:
- Pack 模式(默认):尽量把模型塞进一块 GPU,塞不下的部分给另一块。适合两块 GPU 性能差异大的情况。
- Spread 模式:均匀分布在所有 GPU 上。适合两块 GPU 性能相近的情况。
启用 Spread 模式:
export OLLAMA_SCHED_SPREAD=1
说实话,大多数人用默认 Pack 模式就行。Spread 主要在显存利用率上有优势,但配置复杂,调优需要经验。
VRAM 不够怎么办?
跑大模型最头疼的就是显存不够。几个解决方案:
1. 用量化模型。Q4_K_M 量化能把 7B 模型的显存占用从 14GB 压到 4GB 左右,性能损失大概 5-10%。非常划算。
# 拉取量化版本
ollama pull llama3.2:7b-q4_K_M
2. 减少上下文长度。长对话、大文档会占用大量显存。如果只是简单问答,上下文短点没问题。
3. 多 GPU 分摊。两块 8GB 卡加起来,比一块 16GB 卡还能用——因为每块卡都有自己的计算单元。
动态分配逻辑
Ollama 会自动管理这些,不需要手动指定层数。但如果你想强制调整,可以修改模型参数(高级用法,一般人不需要)。
故障排除指南
配置 GPU 加速时总会遇到些问题。这里整理了常见的排查思路。
GPU 未检测问题排查清单
按顺序检查:
-
确认驱动安装
# NVIDIA nvidia-smi # AMD rocminfo如果报错,先装驱动。
-
确认 Ollama 版本
ollama --version太老的版本可能不支持某些 GPU。更新一下:
# Linux/macOS curl -fsSL https://ollama.com/install.sh | sh # Windows # 去官网下载最新安装包 -
检查 CUDA/ROCm 版本
# NVIDIA CUDA 版本 nvcc --version # ROCm 版本 rocm-smiOllama 要求 CUDA 12.3+ 或 ROCm 6.0+。版本不对就升级。
-
重启服务
# Linux sudo systemctl restart ollama # macOS/Windows # 杀掉进程重新启动有些配置改动需要重启才能生效。
睡眠后 GPU 消失
Mac 和 Windows 都有这个问题——电脑睡眠后唤醒,GPU 加速失效。
解决方法:
- Mac:重启 Ollama 服务,或者直接重启电脑
- Windows:检查驱动是否正常,必要时重新加载
- Linux:一般没这个问题,但有时需要手动唤醒 GPU
容器内 GPU 权限问题
Linux 用户在 Docker 里跑 Ollama,可能会遇到 SELinux 权限问题。
解决方法:
# 临时关闭 SELinux(不推荐长期使用)
sudo setenforce 0
# 或者正确配置 Docker GPU 访问
docker run --gpus all --security-opt seccomp=unconfined ollama/ollama
其他常见问题
“out of memory”错误:模型太大,显存不够。用量化版本或者换小模型。
推理速度没提升:确认 ollama ps 显示的是 GPU。如果显示 CPU,排查上面的问题。
AMD GPU 不工作:先确认 ROCm 安装正确。Windows 用户试试 Vulkan 模式。
总结
说了这么多,怎么选?
| 你的硬件 | 建议方案 | 配置难度 |
|---|---|---|
| NVIDIA GPU | CUDA 自动启用 | 低,装好驱动就行 |
| AMD GPU + Linux | ROCm | 中,需要手动安装 |
| AMD GPU + Windows | Vulkan | 低,设置环境变量 |
| Apple Silicon | Metal 自动启用 | 极低,零配置 |
| Intel Mac 或无 GPU | 纯 CPU | 无需配置,但很慢 |
简单说:NVIDIA 用户最省心,Mac 用户最幸福,AMD 用户 Linux 挺好但 Windows 得绕路,没 GPU 的…还是想办法弄一块吧。
GPU 加速不是可选优化,是本地跑 LLM 的基础条件。配置好之后,体验差距是质的飞跃。
NVIDIA CUDA GPU 加速配置
在 NVIDIA 显卡上配置 Ollama GPU 加速,实现大模型高速推理
⏱️ 预计耗时: 10 分钟
- 1
步骤1: 验证显卡和驱动
运行 `nvidia-smi` 命令查看显卡信息、驱动版本和 CUDA 版本。如果报错,说明驱动未安装或路径配置有问题。 - 2
步骤2: 安装或更新驱动
访问 NVIDIA 官网下载最新驱动,Linux 用户注意发行版默认驱动可能过旧。Windows 需要驱动 531 以上,Linux 需要 535 以上。 - 3
步骤3: 启动 Ollama 并测试
运行 `ollama run llama3.2` 启动模型,然后执行 `ollama ps` 查看处理器状态。如果显示 GPU 百分比,说明加速已生效。 - 4
步骤4: 排查问题(如需要)
如果显示 CPU,检查 CUDA Toolkit 是否缺失(Linux 可安装 nvidia-cuda-toolkit)、Docker 用户需加 --gpus all 参数、或重启 Ollama 服务。
常见问题
Ollama 支持 AMD 显卡吗?
如何确认 GPU 加速已启用?
显存不够跑大模型怎么办?
Mac 需要配置 Metal 吗?
NVIDIA 显卡要求什么版本?
9 分钟阅读 · 发布于: 2026年5月16日 · 修改于: 2026年5月17日
评论
使用 GitHub 账号登录后即可评论