llama.cpp|实战系列(1)——资源需求、架构背景与版本匹配表
自行编译基于 SM_6.1(Pascal) P104‑100 的 CUDA 推理版 llama.cpp|实战系列(1)
——资源需求、架构背景与版本匹配表
系列导航
(1) 资源需求、背景知识与版本匹配 ←你在这里
(2) 资源下载链接与 aria2c 断点续传指令
(3) CUDA / VS / CMake 安装步骤、选项与坑验证
(4) llama.cpp CMake + Ninja 编译实操与日志解读
(5) P104‑100 推理测试:CUDA vs Vulkan 对比分析
(6) 制作绿色发行包(含 CUDA Runtime Redist)
(7) 总结与进阶路线
一、为什么 P104‑100 不能直接"拿来就用"?
1️⃣ P104‑100 是什么卡?
项目 | 参数 |
|---|---|
GPU 芯片 | GP104(Pascal) |
Compute Capability | SM 6.1(6.1 / cc6.1) |
显存 | 8GB GDDR5X |
架构代际 | 2016 年 Pascal,无 Tensor Core |
类比 | 近似 GTX 1070 Ti / 1080(但挖矿特化 BIOS) |
👉关键点:P104‑100 = Pascal = sm_61
2️⃣ 为什么"主流教程不支持"?
新版 CUDA(12.8 / 13.x RC)官方支持矩阵常止于 VS 2022 17.12
你用的 VS 202217.14 → 超支持矩阵 → cudafe++ 崩溃
主流博客默认写:
-DCMAKE_CUDA_ARCHITECTURES=native❌ 对新手不友好,老卡容易编出 PTX‑only 或失败
Docker / Linux 教程多,Windows + 老 Pascal 极少覆盖
✅ 本系列目的:
用 Windows 11 + VS 2022 17.14 + CUDA 12.4U1 + sm_61 稳定编译 llama.cpp CUDA 推理版
二、我们需要哪些资源?(完整清单)
✅ 必需资源表(Windows 11 x64)
# | 组件 | 用途 | 推荐版本(验证通过) |
|---|---|---|---|
① | Windows 11 x64 | 宿主 OS | 23H2+ |
② | Visual Studio 2022 Build Tools | C/C++ 编译器(cl.exe) + Ninja | 17.14(MSVC 19.44) |
③ | CUDA Toolkit 12.4 Update 1 | nvcc + cuBLAS + Runtime | 12.4.1(551.78) |
④ | CMake ≥ 3.25(推荐 3.28+) | 构建系统 | CMake 3.31.x Win64 |
⑤ | Ninja | 增量构建 | 1.11.x(官方 Win64 binary) |
⑥ | Git for Windows | 拉 llama.cpp 源码 | 最新 |
⑦ | llama.cpp(master / bXXXX) | 推理框架 | 2025‑06‑late master |
⚠️不推荐版本(踩坑结论)
❌ CUDA 12.8 / 12.6 + VS 17.14 → cudafe++ ACCESS_VIOLATION
❌ CUDA 12.4 + VS 17.10 以下 → 不必要降级
✅CUDA 12.4U1 + VS 2022 17.14 = 官方声明支持 + 实测通过
三、为什么选这些版本?(决策依据)
✅ CUDA 12.4 Update 1
NVIDIA RN 明确支持 VS 2022 17.10–17.14
sm_61 全支持
比 12.6/12.8 在 MSVC 新版本上稳定
✅ VS 2022 Build Tools(非完整 IDE)
含
cl.exe / link.exe体积小
命令行友好(配合 Ninja)
✅ Ninja
比 MSBuild 快
增量编译友好
llama.cpp 官方 CI 用 Ninja
✅ CMake ≥ 3.25
支持
CUDAToolkit_ROOT支持
enable_language(CUDA)探测修复
四、P104‑100 专用编译参数(先预告)
-DCMAKE_CUDA_ARCHITECTURES=61👉不是 60、不是 70、不是 native,就是 61
这是 P104‑100 / GTX 1070 / 1080 Ti 的唯一正确值。
五、本章小结(博文结尾用)
P104‑100 属 Pascal 架构(Compute Capability6.1),主流教程往往忽略老卡 CUDA 编译细节。
本系列选用Windows 11 + VS 2022 17.14 + CUDA Toolkit 12.4U1 + CMake + Ninja,在保持工具链最新的前提下,确保 sm_61 编译一次通过、cudafe++ 不崩、P104‑100 可跑 Qwen / Gemma MoE 推理。
下一篇给出所有资源的官方直链 + aria2c 断点续传下载命令。
