切换语言
切换主题

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 CUDA30-80 tokens/秒日常使用、生产
Apple Metal20-50 tokens/秒Mac 用户
AMD ROCm25-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.9RTX 4090/4080/4070完美
8.6RTX 3090/3080/3070完美
7.5RTX 2080 Ti/2080完美
6.1GTX 1080 Ti/1080能用
5.2GTX 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 架构支持最好:

架构系列支持程度
RDNA3RX 7900 XTX/XT、RX 7800/7700最佳
RDNA2RX 6800/6700/6600良好
RDNA1RX 5700/5600/5500基本可用
GCNRX 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 未检测问题排查清单

按顺序检查:

  1. 确认驱动安装

    # NVIDIA
    nvidia-smi
    
    # AMD
    rocminfo

    如果报错,先装驱动。

  2. 确认 Ollama 版本

    ollama --version

    太老的版本可能不支持某些 GPU。更新一下:

    # Linux/macOS
    curl -fsSL https://ollama.com/install.sh | sh
    
    # Windows
    # 去官网下载最新安装包
  3. 检查 CUDA/ROCm 版本

    # NVIDIA CUDA 版本
    nvcc --version
    
    # ROCm 版本
    rocm-smi

    Ollama 要求 CUDA 12.3+ 或 ROCm 6.0+。版本不对就升级。

  4. 重启服务

    # 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 GPUCUDA 自动启用低,装好驱动就行
AMD GPU + LinuxROCm中,需要手动安装
AMD GPU + WindowsVulkan低,设置环境变量
Apple SiliconMetal 自动启用极低,零配置
Intel Mac 或无 GPU纯 CPU无需配置,但很慢

简单说:NVIDIA 用户最省心,Mac 用户最幸福,AMD 用户 Linux 挺好但 Windows 得绕路,没 GPU 的…还是想办法弄一块吧。

GPU 加速不是可选优化,是本地跑 LLM 的基础条件。配置好之后,体验差距是质的飞跃。

NVIDIA CUDA GPU 加速配置

在 NVIDIA 显卡上配置 Ollama GPU 加速,实现大模型高速推理

⏱️ 预计耗时: 10 分钟

  1. 1

    步骤1: 验证显卡和驱动

    运行 `nvidia-smi` 命令查看显卡信息、驱动版本和 CUDA 版本。如果报错,说明驱动未安装或路径配置有问题。
  2. 2

    步骤2: 安装或更新驱动

    访问 NVIDIA 官网下载最新驱动,Linux 用户注意发行版默认驱动可能过旧。Windows 需要驱动 531 以上,Linux 需要 535 以上。
  3. 3

    步骤3: 启动 Ollama 并测试

    运行 `ollama run llama3.2` 启动模型,然后执行 `ollama ps` 查看处理器状态。如果显示 GPU 百分比,说明加速已生效。
  4. 4

    步骤4: 排查问题(如需要)

    如果显示 CPU,检查 CUDA Toolkit 是否缺失(Linux 可安装 nvidia-cuda-toolkit)、Docker 用户需加 --gpus all 参数、或重启 Ollama 服务。

常见问题

Ollama 支持 AMD 显卡吗?
支持。Linux 用户使用 ROCm,Windows 用户需要设置 OLLAMA_VULKAN=1 环境变量启用 Vulkan 模式。RDNA2 和 RDNA3 架构支持最佳。
如何确认 GPU 加速已启用?
运行 `ollama run 模型名` 后执行 `ollama ps`,查看 PROCESSOR 列显示 GPU 百分比。如果显示 100% GPU 说明加速已生效。
显存不够跑大模型怎么办?
三个方案:使用量化模型(如 Q4_K_M 可将 7B 模型显存占用从 14GB 降到 4GB)、减少上下文长度、或使用多 GPU 分摊。
Mac 需要配置 Metal 吗?
不需要。Apple Silicon Mac 安装 Ollama 后自动启用 Metal 加速,零配置。只需确保是 M1/M2/M3/M4 系列,Intel Mac 只能用 CPU。
NVIDIA 显卡要求什么版本?
Compute Capability 5.0 以上(GTX 960 及更新显卡),驱动版本 Windows 需要 531+、Linux 需要 535+。安装后 Ollama 自动检测 CUDA。

9 分钟阅读 · 发布于: 2026年5月16日 · 修改于: 2026年5月17日

当前属于系列阅读 第 16 / 16 篇

Ollama 本地 LLM 实战指南

如果你是从搜索进入这篇文章,建议顺手补上上一篇或继续下一篇,这样更容易把同一主题读完整。

查看系列总览

相关文章

BetterLink

想持续收到这个主题的更新?

你可以直接关注作者更新、订阅 RSS,或者继续沿着系列入口往下读,避免下次又回到搜索结果重新找。

关注公众号

评论

使用 GitHub 账号登录后即可评论