问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

Ollama开启GPU加速与NVIDIA驱动安装配置指南

创作时间:
作者:
@小白创作中心

Ollama开启GPU加速与NVIDIA驱动安装配置指南

引用
CSDN
1.
https://blog.csdn.net/m0_74158049/article/details/146127236

Ollama是一款基于大语言模型的应用程序,通过开启GPU加速功能,可以显著提升其运行效率和性能。本文将详细介绍如何检查和配置Ollama的GPU加速功能,包括NVIDIA驱动的安装和CUDA库的配置,帮助用户充分利用GPU的并行计算能力,实现数倍至数十倍的推理速度提升。

一、检查 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
    含义:显存总量为 4095 MB(即 4GB)。
  • [GPU-cbb00053-655d-c435-004e-241491c5a80c] CUDA freeMem 3304 mb
    含义:可用显存 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 驱动程序

选择对应自己电脑的 GPU 型号和操作系统版本,点击开始搜索。这里最后一项的下载类型中最好选择Studio 驱动,它专为创作和开发优化,通常包含完整的 WSL 支持。

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

三、安装驱动

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

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

选择自定义

记得勾选执行清洁程序

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

四,开始进行相关配置

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

运行结果要包括:

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

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

五、配置 CUDA 库路径

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

确认存在
libcuda.so

libcuda.so.1
等关键桥接库文件。

  1. 配置环境变量 ,在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 放弃保存并退

  1. 验证环境变量,在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/
  1. 修改环境变量文件
    在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加速。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号