Win7编译GPU版llama.cpp部署deepseek-r1等大模型记录

概述

本文是一个测试记录,供参考。

目标是在Windows7系统下,实现llama.cpp的CPU编译、GPU编译,实现大模型的单机部署。

GPU编译运行成功,但运行时没有调用GPU。

感谢"一只喜欢摄影的程序猿"的评论,在Windows7确实可以安装 cuda 11.6,我的情况是安装过程没报错,但是cuda11.6无效。

参考链接

Win7本地化部署deepseek-r1等大模型详解

测试环境:

复制代码
显卡:NVIDIA Geforce GTX 970
CPU: i7-4790K 
内存:32GB DDR3
系统:Windows7 旗舰版 X64 SP1

准备工作:

复制代码
下载Win7镜像,U盘安装操作系统
下载geek uninstaller,删除乱七八糟软件
安装火绒杀毒,查杀系统,安装火绒商店
从火绒商店安装7zip、notepad--、手心输入法、CPU-Z、Everything、GPU-Z

从 https://developer.nvidia.com/cuda-10.2-download-archive 下载 cuda_10.2.89_441.22_windows.exe
从 https://developer.nvidia.com/cuda-11-6-0-download-archive 下载 cuda_11.6.0_511.23_windows.exe

安装:

复制代码
w64devkit-x64-2.1.0.exe,自解压到 D:\dev\dev-tools\w64devkit\w64devkit.exe
cmake-3.31.5-windows-x86_64.msi,默认位置,C:\Program Files\CMake\
Git-2.45.2-64-bit.exe,默认位置,C:\Program Files\Git
Firefox 18.5.0.0.exe,默认位置,C:\Program Files\Mozilla Firefox

CPU版,MinGW64编译配置:

复制代码
创建临时目录
    D:\dev\dev-tools\llama.cpp.win7.cpu
找到源码,llama.cpp.2025-02-08.4d3465c5aeca8be29cac77f1535c35f4fb274eca.zip,解压到上面的目录,解压后路径如下
    D:\dev\dev-tools\llama.cpp.win7.cpu\README.md
修改源码 
    D:\dev\dev-tools\llama.cpp.win7.cpu\examples\server\httplib.h
双击运行 D:\dev\dev-tools\w64devkit\w64devkit.exe
bash 复制代码
cd d:/dev/dev-tools/llama.cpp.win7.cpu/
cmake . -G "MinGW Makefiles"
cmake --build . --config Release -j 8

说明,由于测试机有8个CPU核心,所以可以用 -j 8 并行编译,快一些。

CPU版编译完成,程序在 D:\dev\dev-tools\llama.cpp.win7.cpu\bin 目录

测试

任意位置启动CMD.exe,输入 llama-server --model model_path, 打开火狐浏览器,输入 http://127.0.0.1:8080,可以问答

复制代码
`D:\dev\dev-tools\llama.cpp.win7.cpu\bin\llama-server.exe --model D:\dev\deepseek-r1_1.5b.gguf --threads 8`
14token/s, deepseek-r1:1.5B

`D:\dev\dev-tools\llama.cpp.win7.cpu\bin\llama-server.exe --model D:\BaiduNetdiskDownload\sha256-6e9f90f02bb3b39b59e81916e8cfce9deb45aeaeb9a54a5be4414486b907dc1e --threads 8`
 2.4token/s deepseek-r1:14B 

`D:\dev\dev-tools\llama.cpp.win7.cpu\bin\llama-server.exe --model D:\BaiduNetdiskDownload\sha256-6150cb382311b69f09cc0f9a1b69fc029cbd742b66bb8ec531aa5ecf5c613e93 --threads 8`
1.1 token/s  deepseek-r1:30B

CPU版,VS2015编译配置

安装VS2019,用Visual Studio 2019 完整离线安装包,需要勾选C++桌面开发的推荐内容,另外勾选2015兼容工具

启动VS2019中的VS2015兼容性工具

shell 复制代码
VS2015 X64 X86兼容工具
set path=C:\Program Files\CMake\bin;C:\Program Files\Git\cmd;%path%
cd /d D:\dev\dev-tools\llama.cpp.win7.vs2015.cpu
cmake -B build
cmake --build build --config Release      大量警告

cd D:\dev\dev-tools\llama.cpp.win7.vs2015.cpu\build\bin\Release

llama-server --model D:\dev\deepseek-r1_1.5b.gguf
1.5B, 你好,18token/s

llama-server --model D:\BaiduNetdiskDownload\sha256-6e9f90f02bb3b39b59e81916e8cfce9deb45aeaeb9a54a5be4414486b907dc1e
14B, 你好, 2.6 token/s

CPU版,VS2019编译配置

启动VS2019中的VS2019兼容性工具

python 复制代码
VS2019 X64 X86兼容工具
set path=C:\Program Files\CMake\bin;C:\Program Files\Git\cmd;%path%
cd /d D:\dev\dev-tools\llama.cpp.win7.vs2019.cpu
cmake -B build
cmake --build build --config Release      大量警告
cd D:\dev\dev-tools\llama.cpp.win7.vs2019.cpu\build\bin\Release

llama-server --model D:\dev\deepseek-r1_1.5b.gguf
1.5B, 你好,18.8token/s

GPU版,VS2019编译配置,成功一半

安装CUDA 10.2,Win7安装,可使用,支持Win7的最高CUDA版本

安装CUDA 11.6,Win7可安装,我的测试机是Win7无法使用cuda11.6的

启动VS2019中的VS2019兼容性工具

shell 复制代码
REM VS2019 X64 X86兼容工具 "Open Visual Studio 2019 Tools Command Prompt for targeting x86 with x64-hosted tools"

set path=C:\Program Files\CMake\bin;C:\Program Files\Git\cmd;%path%
cd /d D:\dev\dev-tools\llama.cpp.win7.vs2019.gpu
cmake -B build -DGGML_CUDA=ON
cmake --build build --config Release      
cd D:\dev\dev-tools\llama.cpp.win7.vs2019.gpu\build\bin\Release

llama-server --model D:\dev\deepseek-r1_1.5b.gguf -ngl 99
1.5B, 你好,19.2 token/s

可编译,可运行,但是Win7环境下,用GPU-Z监测显存用量,未见显存占用增加。 也就是说,编译出来的 llama-server,并未使用GPU。

GPU版,失败的尝试

安装:

复制代码
visual studio 2015 professionnal,自定义安装,注意选C++语言
cuda_10.2.89_441.22_windows.exe,默认位置,C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2

配置:

复制代码
创建临时目录
    D:\dev\dev-tools\llama.cpp.win7.gpu
找到源码,llama.cpp.2025-02-08.4d3465c5aeca8be29cac77f1535c35f4fb274eca.zip,解压到上面的目录,解压后路径如下
    D:\dev\dev-tools\llama.cpp.win7.gpu\README.md
修改源码 
    D:\dev\dev-tools\llama.cpp.win7.gpu\examples\server\httplib.h

启动CMD

bash 复制代码
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64
cd /d D:\dev\dev-tools\llama.cpp.win7.gpu

cmake -B build -DGGML_CUDA=ON           fail, CUDA 10.2, VS2015不行
cmake --build build --config Release
bash 复制代码
"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86_amd64
D:\dev\dev-tools\w64devkit\w64devkit.exe
cd  D:/dev/dev-tools/llama.cpp.win7.gpu
cmake . -G "MinGW Makefiles" -DGGML_CUDA=ON   fail,消息多些
cmake --build . --config Release -j 8
相关推荐
张较瘦_14 小时前
[论文阅读] 人工智能 + 软件工程 | 从“人工扒日志”到“AI自动诊断”:LogCoT框架的3大核心创新
论文阅读·人工智能·软件工程
lisw0515 小时前
连接蓝牙时“无媒体信号”怎么办?
人工智能·机器学习·微服务
扫地的小何尚15 小时前
深度解析 CUDA-QX 0.4 加速 QEC 与求解器库
人工智能·语言模型·llm·gpu·量子计算·nvidia·cuda
张较瘦_15 小时前
[论文阅读] 人工智能 + 软件工程 | 35篇文献拆解!LLM如何重塑软件配置的生成、验证与运维
论文阅读·人工智能·软件工程
jie*15 小时前
小杰机器学习(nine)——支持向量机
人工智能·python·机器学习·支持向量机·回归·聚类·sklearn
山烛15 小时前
OpenCV:人脸检测,Haar 级联分类器原理
人工智能·opencv·计算机视觉·人脸检测·harr级联分类器
飞哥数智坊15 小时前
打造我的 AI 开发团队(二):bmad,开箱即用的敏捷开发智能体
人工智能·ai编程
nju_spy15 小时前
南京大学 - 复杂结构数据挖掘(一)
大数据·人工智能·机器学习·数据挖掘·数据清洗·南京大学·相似性分析
charieli-fh16 小时前
指令微调数据评估与影响:构建高质量大语言模型的关键
人工智能·深度学习·语言模型
Coovally AI模型快速验证16 小时前
从避障到实时建图:机器学习如何让无人机更智能、更安全、更实用(附微型机载演示示例)
人工智能·深度学习·神经网络·学习·安全·机器学习·无人机