llama.cpp|实战系列(1)——资源需求、架构背景与版本匹配表

📅 2026/7/6 8:15:00 👁️ 阅读次数 📝 编程学习
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 断点续传下载命令