CMake构建llama.cpp时,加快编译速度跳过测试

问题

在使用 CMake 构建 llama.cpp 时,想要加快编译速度并跳过测试(Tests)以及基准测试(Benchmarks),你需要在生成构建配置时传递相应的关闭参数。

解决

编译命令

1
2
3
4
5
6
7
8
# 1. 解压并进入目录
tar zxf llama.cpp-b9484.tar.gz && cd llama.cpp-b9484/

# 2. 配置 CMake:开启 CUDA,同时关闭测试和基准测试
cmake -B build -DGGML_CUDA=ON -DLLAMA_BUILD_TESTS=OFF -DLLAMA_BUILD_BENCHMARKS=OFF

# 3. 执行编译(直接使用 -j 开启多核加速,无需重复执行不带 -j 的命令)
cmake --build build --config Release -j$(nproc)

关键改动说明

  • **-DLLAMA_BUILD_TESTS=OFF**:这是跳过测试的核心参数。它会告诉 CMake 不要编译 tests 目录下的测试用例,从而节省大量的编译时间和磁盘空间。
  • **-DLLAMA_BUILD_BENCHMARKS=OFF**:顺便关闭基准测试程序的编译,进一步减少不必要的编译目标。
  • 合并编译命令:原本你写了两次 cmake --build,第二行没有加 -j 参数会单核慢速编译,第三行才加 -j。其实直接执行最后一行带 -j$(nproc) 的命令即可,它会自动利用你 CPU 的所有核心进行多线程并行编译。

配置LD_LIBRARY_PATH

tee >/etc/ld.so.conf.d/llama.cpp.conf <<'EOF'
/data/llamap.cpp/bin
EOF

ldconfig

# or基于terminal
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.