Ollama开启GPU加速与NVIDIA驱动安装

    Ollama 开启 GPU 加速可显著提升大语言模型运行效率与性能,通过利用 NVIDIA CUDA 等 GPU 并行计算能力优化矩阵运算,推理速度可实现数倍至数十倍的提升,有效降低用户交互延迟。可以按照以下步骤检查配置CPU加速。

一、检查 Ollama 是否开启 GPU 加速

 启动Ollama服务并检查日志,在WSL命令行中执行以下命令:

OLLAMA_DEBUG=1 ollama serve

 预期会输出一段较长日志,检查日志,是否像我的日志一样包含以下关键信息:

library=cuda、compute=8.6、variant=v12、driver=12.8

日志解读:

time=2025-03-09T10:30:00.176+08:00 level=DEBUG source=gpu.go:125 msg="detected GPUs" count=1 library=/usr/lib/wsl/lib/libcuda.so

含义:在路径 /usr/lib/wsl/lib/libcuda.so,检测到 1 块 NVIDIA GPU,并加载了 WSL 自带的 CUDA 12.8 库。

[GPU-cbb00053-655d-c435-004e-241491c5a80c] CUDA totalMem 4095 mb
[GPU-cbb00053-655d-c435-004e-241491c5a80c] CUDA freeMem 3304 mb

含义:显存总量为 4095 MB(即 4GB),可用显存 3304 MB,表明 Ollama 已为 GPU 分配显存。


[GPU-cbb00053-655d-c435-004e-241491c5a80c] Compute Capability 8.6

含义:Compute Capability 8.6对应的是NVIDIA RTX 30系列显卡,这说明Ollama正确识别了GPU的计算能力,并且支持CUDA 12.x版本。

library=cuda含义: GPU 加速已生效。

compute=8.6含义:对应 NVIDIA RTX 3050 显卡的计算能力(支持 CUDA 12)。

variant=v12、driver=12.8含义:Ollama 使用的 CUDA 版本为 12.8,与驱动版本 12.8 完全兼容。

如果,这些信息跟我的类似,那么恭喜你,你已经开启了GPU加速,不用继续往下看了。否则,需要按照下面步骤进行配置。

二、下载最新版本 的NVIDIA驱动

  前往NVIDIA官网  

NVIDIA GeForce 驱动程序 - N 卡驱动 | NVIDIAhttps://www.nvidia.cn/geforce/drivers/ 选择对应自己电脑的 GPU 型号和操作系统版本,点击开始搜索。这里最后一项的下载类型中最好选择Studio 驱动,它专为创作和开发优化,通常包含完整的 WSL 支持。

搜索结果中,选择最新的版本,点击获取下载。 

进入详情页面后,点击立即下载即可。

三、安装驱动

 以管理员权限运行驱动安装程序 ,即刚刚下载好的.exe 文件(文件名形如 536.99-desktop-win10-win11-64bit-international-dch-whql.exe)。点击OK,等待完成即可。

之后,在这里要选择 第二个 图形驱动程序

选择自定义 

记得勾选执行清洁程序

 然后继续下一步,按照提示安装即可。

四,开始进行相关配置

1.在Windows终端中检查WSL版本,以管理员身份启动 PowerShell,执行以下命令:

wsl --list --verbose

 运行结果要包括:

2. 在WSL的Linux终端中验证CUDA支持,在WSL中输入以下代码检查NVIDIA驱动是否可见:

nvidia-smi

正常情况下,运行结果如下图:

五、配置 CUDA 库路径 

1.确认 WSL 自带 CUDA 库位置,在WSL中执行以下命令:

ls /usr/lib/wsl/lib

确认存在 libcuda.solibcuda.so.1 等关键桥接库文件。

2. 配置环境变量 ,在WSL中执行以下命令,

命令含义:打开环境变量文件

nano ~/.bashrc

下拉,在文件最后,查看是否包含以下代码,若未包含,则复制过去。

#该命令的含义:优先使用 WSL 自带的 CUDA 库

export LD_LIBRARY_PATH=/usr/lib/wsl/lib:$LD_LIBRARY_PATH  

之后,因为这里使用的是 nano 编辑器,所以按以下方式退出:

保存并退出:编辑完成后

(1)按 Ctrl + O(写入更改)。

(2)按 Enter 确认文件名。

(3)再按 Ctrl + X 退出编辑器。

直接退出(不保存):

(1)按 Ctrl + X。

(2)如果已修改文件,会提示是否保存,按 N 放弃保存并退

3.验证环境变量,在WSL中执行以下命令

echo $LD_LIBRARY_PATH

 预期会输出如下图一样,包含 /usr/lib/wsl/lib 或 /usr/local/lib/ollama/cuda_v12。

 

六、配置 Ollama 的 GPU 支持

1.复制并移动CUDA 库文件,Ollama 的 CUDA 库通常位于 lib/ollama/cuda_v12 或类似目录中。在WSL中执行以下命令

# 创建Ollama库目录
sudo mkdir -p /usr/local/lib/ollama
# 复制CUDA v12库(假设你使用CUDA 12)
sudo cp -r ~/lib/ollama/cuda_v12 /usr/local/lib/ollama/

 

2.修改环境变量文件

 在WSL中执行以下命令

命令含义:打开环境变量文件

nano ~/.bashrc

 

 

下拉,在文件最后,查看是否包含以下代码,若未包含,则复制过去。

export LD_LIBRARY_PATH=/usr/local/lib/ollama/cuda_v12:$LD_LIBRARY_PATH

之后,因为这里使用的是 nano 编辑器,所以按以下方式退出:

保存并退出:编辑完成后

(1)按 Ctrl + O(写入更改)。

(2)按 Enter 确认文件名。

(3)再按 Ctrl + X 退出编辑器。

直接退出(不保存):

(1)按 Ctrl + X。

(2)如果已修改文件,会提示是否保存,按 N 放弃保存并退

七、重启 WSL 和 Ollama 服务并验证GPU加速

最后,再次按照文章开篇部分的检查方法检查一遍。

  启动Ollama服务并检查日志,在WSL命令行中执行以下命令:

OLLAMA_DEBUG=1 ollama serve

 预期会输出一段较长日志,检查日志,是否像我的日志一样包含以下关键信息:

library=cuda、compute=8.6、variant=v12、driver=12.8

日志解读:

time=2025-03-09T10:30:00.176+08:00 level=DEBUG source=gpu.go:125 msg="detected GPUs" count=1 library=/usr/lib/wsl/lib/libcuda.so

含义:在路径 /usr/lib/wsl/lib/libcuda.so,检测到 1 块 NVIDIA GPU,并加载了 WSL 自带的 CUDA 12.8 库。

[GPU-cbb00053-655d-c435-004e-241491c5a80c] CUDA totalMem 4095 mb
[GPU-cbb00053-655d-c435-004e-241491c5a80c] CUDA freeMem 3304 mb

含义:显存总量为 4095 MB(即 4GB),可用显存 3304 MB,表明 Ollama 已为 GPU 分配显存。


[GPU-cbb00053-655d-c435-004e-241491c5a80c] Compute Capability 8.6

含义:Compute Capability 8.6对应的是NVIDIA RTX 30系列显卡,这说明Ollama正确识别了GPU的计算能力,并且支持CUDA 12.x版本。

library=cuda含义: GPU 加速已生效。

compute=8.6含义:对应 NVIDIA RTX 3050 显卡的计算能力(支持 CUDA 12)。

variant=v12、driver=12.8含义:Ollama 使用的 CUDA 版本为 12.8,与驱动版本 12.8 完全兼容。

如果可以在日志中找到上述关键内容,恭喜你,已经成功开启Ollama的GPU加速。

文章属于记录个人学习过程,本人水平有限。如果文章中哪些地方有错误,真诚地欢迎各位大佬指出呀!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

早点睡啊Y

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值