Appearance
GPU 支持指南
Ollama 支持多种 GPU 加速,可以显著提升模型推理性能。本指南将帮助您配置和优化 GPU 支持。
支持的 GPU
NVIDIA GPU
Ollama 支持具有 计算能力 5.0 或更高 的 NVIDIA GPU: 支持的架构:
- Maxwell (GTX 900 系列及更高)
- Pascal (GTX 10 系列)
- Volta (Tesla V100)
- Turing (RTX 20 系列)
- Ampere (RTX 30 系列)
- Ada Lovelace (RTX 40 系列)
- Hopper (H100) 最低要求:
- CUDA 11.2 或更高版本
- NVIDIA 驱动 470.57.02 或更高版本
AMD GPU
Ollama 在 Linux 上支持 AMD GPU(通过 ROCm): 支持的架构:
- RDNA1 (RX 5000 系列)
- RDNA2 (RX 6000 系列)
- RDNA3 (RX 7000 系列)
- CDNA (MI 系列) 最低要求:
- ROCm 5.7 或更高版本
- Linux 内核 5.4 或更高版本
Apple Silicon
Ollama 原生支持 Apple Silicon: 支持的芯片:
- M1, M1 Pro, M1 Max, M1 Ultra
- M2, M2 Pro, M2 Max, M2 Ultra
- M3, M3 Pro, M3 Max 特性:
- 统一内存架构
- Metal Performance Shaders 加速
- 自动内存管理
NVIDIA GPU 设置
1. 安装 NVIDIA 驱动
Ubuntu/Debian:
bash
# 添加 NVIDIA 仓库
sudo apt update
sudo apt install software-properties-common
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update
# 安装推荐驱动
sudo ubuntu-drivers autoinstall
# 或手动安装特定版本
sudo apt install nvidia-driver-535CentOS/RHEL/Fedora:
bash
# 启用 EPEL 仓库
sudo dnf install epel-release
# 安装 NVIDIA 仓库
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel8/x86_64/cuda-rhel8.repo
# 安装驱动
sudo dnf install nvidia-driver nvidia-settingsWindows: 从 NVIDIA 官网 下载并安装最新驱动。
2. 安装 CUDA Toolkit
Linux:
bash
# Ubuntu/Debian
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2204/x86_64/cuda-keyring_1.0-1_all.deb
sudo dpkg -i cuda-keyring_1.0-1_all.deb
sudo apt-get update
sudo apt-get install cuda-toolkit-12-3
# CentOS/RHEL/Fedora
sudo dnf install cuda-toolkit-12-3Windows: 从 NVIDIA 开发者网站 下载 CUDA Toolkit。
3. 验证安装
bash
# 检查驱动
nvidia-smi
# 检查 CUDA
nvcc --version
# 检查 GPU 计算能力
nvidia-smi --query-gpu=compute_cap --format=csv4. 配置环境变量
bash
# 添加到 ~/.bashrc 或 ~/.zshrc
export PATH=/usr/local/cuda/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATHAMD GPU 设置 (Linux)
1. 安装 ROCm
Ubuntu:
bash
# 添加 ROCm 仓库
wget -q -O - https://repo.radeon.com/rocm/rocm.gpg.key | sudo apt-key add -
echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/5.7/ ubuntu main' | sudo tee /etc/apt/sources.list.d/rocm.list
# 安装 ROCm
sudo apt update
sudo apt install rocm-dev rocm-libs rocm-utilsCentOS/RHEL:
bash
# 添加 ROCm 仓库
sudo tee /etc/yum.repos.d/rocm.repo <<EOF
[rocm]
name=ROCm
baseurl=https://repo.radeon.com/rocm/rhel8/5.7/main
enabled=1
priority=50
gpgcheck=1
gpgkey=https://repo.radeon.com/rocm/rocm.gpg.key
EOF
# 安装 ROCm
sudo dnf install rocm-dev rocm-libs rocm-utils2. 配置用户权限
bash
# 添加用户到 render 和 video 组
sudo usermod -a -G render,video $USER
# 重新登录或重启以使更改生效3. 验证安装
bash
# 检查 ROCm 安装
rocm-smi
# 检查 GPU 信息
rocminfo
# 测试 GPU 计算
/opt/rocm/bin/rocm-bandwidth-test4. 配置环境变量
bash
# 添加到 ~/.bashrc 或 ~/.zshrc
export PATH=/opt/rocm/bin:$PATH
export LD_LIBRARY_PATH=/opt/rocm/lib:$LD_LIBRARY_PATH
export HSA_OVERRIDE_GFX_VERSION=10.3.0 # 根据您的 GPU 调整Apple Silicon 设置
Apple Silicon 支持是内置的,无需额外配置。确保您运行的是:
- macOS 12.0 (Monterey) 或更高版本
- 最新版本的 Ollama 验证 Metal 支持:
bash
# 检查系统信息
system_profiler SPDisplaysDataType
# 运行模型时会自动使用 GPU 加速
ollama run gemma3GPU 配置和优化
环境变量配置
| 变量名 | 描述 | 默认值 | 示例 |
|---|---|---|---|
OLLAMA_NUM_GPU | 使用的 GPU 数量 | 自动检测 | 1, 2, 0 (CPU) |
OLLAMA_GPU_MEMORY_FRACTION | GPU 内存使用比例 | 0.9 | 0.8, 0.5 |
OLLAMA_GPU_LAYERS | 在 GPU 上运行的层数 | 自动 | 32, 16 |
CUDA_VISIBLE_DEVICES | 可见的 CUDA 设备 | 全部 | 0, 1,2 |
HIP_VISIBLE_DEVICES | 可见的 AMD GPU 设备 | 全部 | 0, 1,2 |
多 GPU 配置
使用所有 GPU:
bash
export OLLAMA_NUM_GPU=4 # 使用 4 个 GPU
ollama run gemma3使用特定 GPU:
bash
# NVIDIA
export CUDA_VISIBLE_DEVICES=0,2 # 只使用 GPU 0 和 2
# AMD
export HIP_VISIBLE_DEVICES=0,1 # 只使用 GPU 0 和 1负载均衡:
bash
# 自动在多个 GPU 间分配层
export OLLAMA_NUM_GPU=2
export OLLAMA_GPU_LAYERS=auto内存优化
限制 GPU 内存使用:
bash
# 使用 80% 的 GPU 内存
export OLLAMA_GPU_MEMORY_FRACTION=0.8混合 CPU/GPU 推理:
bash
# 在 GPU 上运行 20 层,其余在 CPU
export OLLAMA_GPU_LAYERS=20动态内存管理:
bash
# 启用动态内存分配
export OLLAMA_DYNAMIC_GPU_MEMORY=1性能调优
模型选择建议
根据您的 GPU 内存选择合适的模型:
| GPU 内存 | 推荐模型 | 备注 |
|---|---|---|
| 4-6 GB | 7B 模型 (Q4) | 基础使用 |
| 8-12 GB | 7B 模型 (Q8), 13B 模型 (Q4) | 平衡性能 |
| 16-24 GB | 13B 模型 (Q8), 30B 模型 (Q4) | 高质量输出 |
| 32+ GB | 70B 模型 (Q4+) | 最佳性能 |
批处理优化
bash
# 增加批处理大小
export OLLAMA_BATCH_SIZE=512
# 调整并发请求数
export OLLAMA_MAX_CONCURRENT_REQUESTS=4精度优化
bash
# 使用混合精度
export OLLAMA_MIXED_PRECISION=1
# 启用 TensorRT 优化 (NVIDIA)
export OLLAMA_TENSORRT=1监控和诊断
GPU 使用监控
NVIDIA:
bash
# 实时监控
watch -n 1 nvidia-smi
# 详细信息
nvidia-smi -q -d MEMORY,UTILIZATION
# 持续日志
nvidia-smi --query-gpu=timestamp,name,utilization.gpu,memory.used,memory.total --format=csv -l 1AMD:
bash
# 实时监控
watch -n 1 rocm-smi
# 详细信息
rocm-smi -a
# 温度和功耗
rocm-smi --showtemp --showpowerApple Silicon:
bash
# 使用 Activity Monitor 或
sudo powermetrics -n 1 -i 1000 --samplers gpu_power性能基准测试
bash
# 测试推理速度
time ollama run gemma3 "写一首关于春天的诗"
# 测试吞吐量
for i in {1..10}; do
echo "测试 $i" | ollama run gemma3 &
done
wait内存使用分析
bash
# 检查模型内存使用
ollama ps
# 详细内存信息
ollama show gemma3 --verbose故障排除
常见问题
问题: GPU 未被检测到
No CUDA-capable device is detected解决方案:
- 检查驱动安装:
nvidia-smi - 检查 CUDA 安装:
nvcc --version - 重启系统
- 检查 GPU 兼容性 问题: 内存不足
CUDA out of memory解决方案:
- 减少 GPU 内存使用:
export OLLAMA_GPU_MEMORY_FRACTION=0.7 - 使用更小的模型
- 减少 GPU 层数:
export OLLAMA_GPU_LAYERS=20问题: AMD GPU 不工作
No HIP-capable device found解决方案:
- 检查 ROCm 安装:
rocm-smi - 检查用户权限:
groups $USER - 设置正确的 GFX 版本:
export HSA_OVERRIDE_GFX_VERSION=10.3.0
性能问题诊断
推理速度慢:
- 检查 GPU 利用率
- 确认模型完全加载到 GPU
- 调整批处理大小
- 检查内存带宽 内存泄漏:
- 监控 GPU 内存使用
- 重启 Ollama 服务
- 检查模型缓存设置 多 GPU 不平衡:
- 检查 GPU 拓扑:
nvidia-smi topo -m - 调整负载分配
- 使用 NCCL 优化通信
调试工具
bash
# 启用详细日志
export OLLAMA_DEBUG=1
export CUDA_LAUNCH_BLOCKING=1 # NVIDIA
export HIP_LAUNCH_BLOCKING=1 # AMD
# 运行诊断
ollama run gemma3 --verbose
# 检查系统兼容性
ollama --versionDocker 中的 GPU 支持
NVIDIA Docker
bash
# 安装 NVIDIA Container Toolkit
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker
# 运行容器
docker run -d --gpus=all -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollamaAMD Docker
bash
# 运行 ROCm 容器
docker run -d --device /dev/kfd --device /dev/dri -v ollama:/root/.ollama -p 11434:11434 --name ollama ollama/ollama:rocm最佳实践
1. 硬件选择
NVIDIA GPU 推荐:
- 入门级: RTX 4060 (8GB) - 适合 7B 模型
- 中端: RTX 4070 Ti (12GB) - 适合 13B 模型
- 高端: RTX 4090 (24GB) - 适合 30B+ 模型
- 专业级: A100 (40/80GB) - 适合大型模型 AMD GPU 推荐:
- 入门级: RX 7600 XT (16GB)
- 中端: RX 7800 XT (20GB)
- 高端: RX 7900 XTX (24GB)
2. 系统配置
bash
# 优化系统设置
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
# 设置 GPU 性能模式
sudo nvidia-smi -pm 1 # NVIDIA
sudo rocm-smi --setperflevel high # AMD3. 模型管理
bash
# 预加载常用模型
ollama pull gemma3
ollama pull qwen3
ollama pull deepseek-r1
# 设置模型缓存
export OLLAMA_KEEP_ALIVE=24h4. 监控和维护
bash
# 定期清理
ollama prune
# 监控脚本
#!/bin/bash
while true; do
nvidia-smi --query-gpu=utilization.gpu,memory.used --format=csv,noheader,nounits
sleep 5
done下一步
GPU 配置完成后,您可以:
现在您已经成功配置了 GPU 支持!享受 GPU 加速带来的性能提升。