Windows 11安装Ollama优先使用GPU运行

作者:Administrator 发布时间: 2025-02-08 阅读量:9 评论数:0

Windows 11安装Ollama优先使用GPU运行

最近deepseek大火,但是官网因为请求人数过多,想必大家经常遇到:“抱歉,服务繁忙,请稍后再试吧”的尴尬局面,因此本地部署可以完美解决这个问题,实现随时可以使用。

常规安装ollama操作我就不讲了,可以参考ollama官网。

作者安装完ollama之后,使用时会话卡顿,cpu占用超过90%,查看任务管理器和ollama日志,发现未成功调用GPU
我这边使用的显卡型号是RTX2060,显存6G,使用的是deepseek-r1:8b模型

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

步骤 1:确认 GPU 兼容性

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

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

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

步骤 2:安装必要组件

NVIDIA 用户:

CUDA和CUDNN的安装(解决显存不足的办法)
CUDA Unified Memory: CUDA 提供了统一内存(Unified Memory),允许 GPU 和 CPU 共享内存空间。这可以使得内存需求超出 GPU 显存时,数据可以存储在主机内存中并在需要时传输到 GPU。

安装最新 NVIDIA 驱动。
安装 CUDA Toolkit(版本需与 Ollama 兼容)。以windows11为例:

https://developer.nvidia.com/cuda-downloads?target_os=Windows&target_arch=x86_64&target_version=11&target_type=exe_local

安装 cuDNN(可选,但推荐)。以windows11为例:

https://developer.nvidia.com/cudnn-downloads?target_os=Windows&target_arch=x86_64&target_version=10&target_type=exe_local

验证:cmd输入

1.最高版本:nvidia-smi

nvidia-smi
Sat Feb  8 16:14:06 2025
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 571.96                 Driver Version: 571.96         CUDA Version: 12.8     |
|-----------------------------------------+------------------------+----------------------+
| GPU  Name                  Driver-Model | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 2060      WDDM  |   00000000:01:00.0  On |                  N/A |
| 44%   35C    P2             44W /  160W |    5595MiB /   6144MiB |      5%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

2.当前版本:nvcc --version

nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2025 NVIDIA Corporation
Built on Wed_Jan_15_19:38:46_Pacific_Standard_Time_2025
Cuda compilation tools, release 12.8, V12.8.61
Build cuda_12.8.r12.8/compiler.35404655_0

AMD/Intel 用户:
安装最新 GPU 驱动。
确认 Ollama 是否支持 DirectML(Windows 默认支持的 GPU 加速框架)。

步骤 3:设置环境变量

打开环境变量设置:
右键点击 开始菜单 → 系统 → 高级系统设置 → 环境变量。
新建系统变量:
变量名: 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)。
  2. 测试性能:
    对比 GPU/CPU 模式下模型的推理速度差异。

常见问题

  1. 环境变量未生效:
    确保以管理员权限运行 Ollama。
    检查变量名是否拼写错误。
  2. CUDA 版本不兼容:
    升级 Ollama 到最新版本。
    参考 Ollama 官方文档的 GPU 支持说明。
  3. DirectML 支持:
    部分 Ollama 版本可能需要手动启用 DirectML,例如添加 --use-directml 参数。

总结

通过设置 OLLAMA_GPU_LAYER=cuda 或 OLLAMA_GPU_LAYER=directml 环境变量,可以让 Ollama 优先使用 GPU。作者按照这个设置完并重启电脑之后,运行deepseek-r1:8b模型非常流畅。

附录:常见NVIDIA GPU计算能力表格

Compute CapabilityFamilyCards
9.0NVIDIAH100
8.9GeForce RTX 40xxRTX 4090 RTX 4080 RTX 4070 Ti RTX 4060 Ti
NVIDIA ProfessionalL4 L40 RTX 6000
8.6GeForce RTX 30xxRTX 3090 Ti RTX 3090 RTX 3080 Ti RTX 3080 RTX 3070 Ti RTX 3070 RTX 3060 Ti RTX 3060
NVIDIA ProfessionalA40 RTX A6000 RTX A5000 RTX A4000 RTX A3000 RTX A2000 A10 A16 A2
8.0NVIDIAA100 A30
7.5GeForce GTX/RTXGTX 1650 Ti TITAN RTX RTX 2080 Ti RTX 2080 RTX 2070 RTX 2060
NVIDIA ProfessionalT4 RTX 5000 RTX 4000 RTX 3000 T2000 T1200 T1000 T600 T500
QuadroRTX 8000 RTX 6000 RTX 5000 RTX 4000
7.0NVIDIATITAN V V100 Quadro GV100
6.1NVIDIA TITANTITAN Xp TITAN X
GeForce GTXGTX 1080 Ti GTX 1080 GTX 1070 Ti GTX 1070 GTX 1060 GTX 1050
QuadroP6000 P5200 P4200 P3200 P5000 P4000 P3000 P2200 P2000 P1000 P620 P600 P500 P520
TeslaP40 P4
6.0NVIDIATesla P100 Quadro GP100
5.2GeForce GTXGTX TITAN X GTX 980 Ti GTX 980 GTX 970 GTX 960 GTX 950
QuadroM6000 24GB M6000 M5000 M5500M M4000 M2200 M2000 M620
TeslaM60 M40
5.0GeForce GTXGTX 750 Ti GTX 750 NVS 810
QuadroK2200 K1200 K620 M1200 M520 M5000M M4000M M3000M M2000M M1000M K620M M600M M500M

欢迎关注我的公众号 辣个男人Devin ,新鲜技术文章第一时间推送。

参考链接:
1.https://github.com/qianniuspace/ollama-doc/blob/main/ollama/docs/Ollama%20%E5%AF%B9GPU%20%E6%94%AF%E6%8C%81%E4%BF%A1%E6%81%AF.md
2.https://blog.csdn.net/m0_67228616/article/details/140854218

评论