在 Windows 系统中设置环境变量强制让 Ollama 使用 GPU 运行
天书神笔
2025年02月06日 23:21

在 Windows 系统中设置环境变量强制让 Ollama 使用 GPU 运行,可以按照以下步骤操作:

步骤 1:确认 GPU 兼容性

Ollama 的 GPU 加速依赖以下条件:

  • NVIDIA GPU:需要安装 CUDA 工具包(推荐 CUDA 11+)和对应驱动。

  • AMD/Intel GPU:可能需要 ROCm 或 DirectML 支持(取决于 Ollama 版本)。

步骤 2:安装必要组件

  1. NVIDIA 用户

    • 安装最新 NVIDIA 驱动。

    • 安装 CUDA Toolkit(版本需与 Ollama 兼容)。

    • 安装 cuDNN(可选,但推荐)。

  1. AMD/Intel 用户

    • 安装最新 GPU 驱动。

    • 确认 Ollama 是否支持 DirectML(Windows 默认支持的 GPU 加速框架)。

步骤 3:设置环境变量

  1. 打开环境变量设置

    • 右键点击 开始菜单系统高级系统设置环境变量

  1. 新建系统变量

  • 变量名: OLLAMA_GPU_LAYER

    • 变量值: cuda(NVIDIA)或 directml(AMD/Intel)

  • (可选)强制指定 GPU 设备(多 GPU 时):

  • 变量名: CUDA_VISIBLE_DEVICES

    • 变量值: 0(使用第一个 GPU)

  • 确认设置

    • 打开 PowerShell,运行 echo $env:OLLAMA_GPU_LAYER 检查变量是否生效。

步骤 4:重启 Ollama 服务

  • 在 PowerShell 中运行:

  • ollama serve stop

  • ollama serve

  • 或直接重启计算机。

步骤 5:验证 GPU 使用

  1. 查看日志

    • 启动 Ollama 时,日志中应显示类似 Using GPU 的提示。

    • 运行 ollama run <模型名> 时观察 GPU 占用(通过任务管理器或 nvidia-smi)。

  1. 测试性能

    • 对比 GPU/CPU 模式下模型的推理速度差异。

常见问题

  1. 环境变量未生效

    • 确保以管理员权限运行 Ollama。

    • 检查变量名是否拼写错误。

  1. CUDA 版本不兼容

    • 升级 Ollama 到最新版本。

    • 参考 Ollama 官方文档的 GPU 支持说明。

  1. DirectML 支持

    • 部分 Ollama 版本可能需要手动启用 DirectML,例如添加 --use-directml 参数。

总结

通过设置 OLLAMA_GPU_LAYER=cuda 或 OLLAMA_GPU_LAYER=directml 环境变量,可以让 Ollama 优先使用 GPU。如果遇到问题,建议检查 GPU 驱动、CUDA/DirectML 的安装状态,并查阅 Ollama 官方文档获取最新支持信息。