使用的电脑没有nvidia显卡,但是可以编译llama.cpp的CUDA版。
安装cuda12
C盘没有空间了,把cuda安装在D:\cuda12,我的显卡是2080ti 11G, turing架构。

也会在C盘安装少量文件(C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4\extras\visual_studio_integration\MSBuildExtensions)

在path变量中设置路径

安装visual studio 2022

安装ninja
bash
pip install ninja

要将D:\Python312\Scripts也加入路径。
编译
CPU是6核,所以使用j6参数,加快编译速度。但是编译ggml-cuda.dll超级慢,需要耐心等待,只要不报错一定会成功。
bash
rem 1. 打开 VS 2022 开发者命令行
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvars64.bat"
rem 2. 配置 CMake(仅首次,或改 CMakeLists.txt 后重跑)
cd /d d:/llama-2080ti
cmake -S . -B build -G Ninja ^
-DCMAKE_CUDA_DEPENDENCY_FORMAT=flat ^
-DCMAKE_CUDA_ARCHITECTURES="75" ^
-DCMAKE_BUILD_TYPE=Release ^
-DLLAMA_BUILD_TOOLS=ON ^
-DCMAKE_CUDA_COMPILER=D:/cuda12/bin/nvcc.exe ^
-DCUDA_TOOLKIT_ROOT_DIR=D:/cuda12
rem 3. 编译
ninja -C build -j 6

如果要编译CPU版本:
bash
call vcvars64.bat
rmdir /s /q D:\llama-2080ti\build-cpu
cmake -S D:\llama-2080ti -B D:\llama-2080ti\build-cpu -G Ninja ^
-DCMAKE_BUILD_TYPE=Release ^
-DGGML_CUDA=OFF ^
-DLLAMA_BUILD_TOOLS=ON
ninja -C D:\llama-2080ti\build-cpu llama-server -j6
注意 -j6和-j 6好像没区别。
运行
bash
llama-server.exe ^
-m D:\llm\Gemma-4-12B-it-heretic-Q4_K_M.gguf ^
-ngl 99 -fa -ctk turbo4 -ctv turbo4 -c 14000
总结
在llama.cpp基础上精简,并适配rtx 2080ti显卡,加了 各种所谓先进技术,如VBR --- 可变比特率 KV 缓存
EasySteer也没发现有什么好处。
Gemma4-12B Q4\Q5量化版,14000上下文,11G显存占用到9.8G 。提示词速度开始1000tps然后降到600tps左右,解码输出37tps左右。
因为Dense 模型(稠密模型)在解码(生成)每个新token时,需要执行一次完整的前向传播计算,显卡带宽成为限制因素。
16G显存也只是增加了上下文,先进 的架构处理提示词速度会快而已,但是也只能使用12B以下模型,而无法使用27B大的模型。