自行编译基于 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 芯片GP104PascalCompute CapabilitySM 6.16.1 / cc6.1​显存8GB GDDR5X架构代际2016 年 Pascal无 Tensor Core​类比近似 GTX 1070 Ti / 1080但挖矿特化 BIOS关键点P104‑100 Pascal sm_612️⃣ 为什么主流教程不支持新版 CUDA12.8 / 13.x RC官方支持矩阵常止于 VS 2022 17.12你用的 VS 202217.14 → 超支持矩阵 → cudafe 崩溃主流博客默认写-DCMAKE_CUDA_ARCHITECTURESnative❌ 对新手不友好老卡容易编出 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​宿主 OS23H2②Visual Studio 2022 Build Tools​C/C 编译器(cl.exe) Ninja17.14MSVC 19.44​③CUDA Toolkit 12.4 Update 1​nvcc cuBLAS Runtime12.4.1551.78​④CMake ≥ 3.25推荐 3.28​构建系统CMake 3.31.x Win64​⑤Ninja​增量构建1.11.x官方 Win64 binary⑥Git for Windows​拉 llama.cpp 源码最新⑦llama.cppmaster / 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 1NVIDIA RN 明确支持 VS 2022 17.10–17.14sm_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_ARCHITECTURES61不是 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 断点续传下载命令。