252 条记录
从GitHub克隆项目仓库并进入目录
直接下载:
https://github.com/ggml-org/llama.cpp/releases
git clone https://github.com/ggerganov/llama.cpp.git
cd llama.cpp
如果需要,可以拉取子模块(通常用于ggml等依赖):
git submodule update --init --recursive
安装依赖
sudo apt update
sudo apt install -y build-essential cmake git
编译命令
编译主要分为CPU基础版和GPU加速版。为了加速编译,可以使用 -j 参数指定并行任务数,例如 -j 8 表示用8个任务并行编译。
CPU 基础编译 (所有平台通用)
这是最基本的编译方式,生成仅使用CPU的程序。
cmake -B build
cmake --build build --config Release -j $(nproc) # Linux/macOS用 $(nproc),Windows可替换为具体数字如8
-B build: 在build文件夹中生成构建文件。
--config Release: 指定编译为发布版本,以获得最佳性能。
编译完成后,所有可执行文件(如llama-cli, llama-server)会位于 build/bin/ 目录下
启用硬件加速 (可选)
如需启用GPU加速,需要在CMake配置时添加相应参数
NVIDIA GPU (CUDA)
需提前安装好NVIDIA CUDA Toolkit
cmake -B build -DLLAMA_CUBLAS=ON
cmake --build build --config Release -j $(nproc)
AMD GPU (ROCm)
cmake -B build -DLLAMA_HIPBLAS=ON
cmake --build build --config Release -j $(nproc)
Apple Silicon (Metal)
cmake -B build -DLLAMA_METAL=ON
cmake --build build --config Release -j $(nproc)
其他常用编译选项
调试版本 (Debug): 如需调试,可将 Release 替换为 Debug。
静态库: 如需构建静态库而非动态库,可添加 -DBUILD_SHARED_LIBS=OFF。
使用Ninja: Ninja 是一个更快的构建工具,可用 -GNinja 指定。
编译验证
编译成功后,可以进入 build/bin/ 目录,运行一个测试命令来验证:
cd build/bin
./llama-cli -m /path/to/your/model.gguf -p "Hello, world!" -n 64
如果想了解更详细的编译选项(如OpenBLAS、Vulkan等后端),建议查阅项目文档 docs/build.md