尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

llama.cpp CUDA 编译排错手册:4 步跑通 GPU 推理并完成调优

llama.cpp CUDA 编译排错手册:4 步跑通 GPU 推理并完成调优 llama.cpp CUDA 编译排错手册4 步跑通 GPU 推理并完成调优【免费下载链接】llama.cppLLM inference in C/C项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp当终端抛出nvcc: No such file or directory时先别急着重装环境。llama.cppC/C 语言编写的 LLM 推理引擎的 CUDA 后端问题九成出在工具链路径、计算能力Compute Capability与编译参数这三处。本手册面向拥有 NVIDIA 显卡的 Linux/Windows 用户按步骤走完即可让 llama.cpp CUDA 编译一次通过并顺手完成多卡与量化推理的性能调优。01 环境与依赖清单开始 llama.cpp CUDA 编译前确认以下组件齐备组件最低要求推荐版本NVIDIA 驱动能识别 GPU与 CUDA 12.x 配套的最新驱动CUDA Toolkit11.8RTX 40 系需此版本12.xCMake3.24native 架构检测需要3.31编译器GCC 11 / MSVC 19与 CUDA 版本匹配的最新版本GPU 架构RTX 30 系8.6RTX 40 系8.9H1009.0按 docs/build.md 中 Compute Capability 对照表确认02 验证基础组件执行只读检查命令nvcc --version # 应打印 release 12.x 版本行 nvidia-smi --query-gpuname,driver_version --formatcsv判定标准nvcc输出版本号、nvidia-smi打印显卡名与驱动版本即为正常。若nvcc报command not found跳到「环境变量配置」一节若nvidia-smi报错说明驱动未装好先解决驱动再回来。03 环境变量配置最小可用配置是把 CUDA 工具链加入当前 shell 的搜索路径export PATH/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH/usr/local/cuda/lib64:$LD_LIBRARY_PATH # 运行期也要带上发行版差异处理Fedora AtomicSilverblue/Kinoite等不可变系统无法直接装 CUDA 包改用 toolbox 容器编译官方指南见 docs/backend/CUDA-FEDORA.md。04 执行构建与报错速查最简构建命令只有两条cmake -B build -DGGML_CUDAON cmake --build build --config Release高频报错按「症状 → 原因 → 修复」处理症状原因修复命令nvcc: No such file or directoryCUDA Toolkit 不在 PATHexport PATH/usr/local/cuda/bin:$PATHnvcc warning : Cannot find valid GPU for -archnativenvcc 探测不到 GPU无头服务器/虚拟机常见手动指定架构cmake -B build -DGGML_CUDAON -DCMAKE_CUDA_ARCHITECTURES86;89多卡混合按分号追加配置阶段Could NOT find CUDAToolkit装了多份 CUDACMake 找错目录cmake -B build -DGGML_CUDAON -DCMAKE_CUDA_COMPILER/opt/cuda-12.4/bin/nvccGGML_NATIVE构建的二进制换机运行失败native 模式只编译当前机器 GPU 架构cmake -B build -DGGML_CUDAON -DGGML_NATIVEOFF出通用二进制架构选择逻辑real/virtual 后缀含义完整记录在 ggml/src/ggml-cuda/CMakeLists.txt需要定制编译矩阵时先读它。05 运行与一键验证 GPU加载模型时强制把层放到 GPU./build/bin/llama-cli -m model.gguf -ngl 99 -p hello成功标志日志中出现CUDA0: XXX MiB的显存分配行与llama_new_context_with_model: ... CUDA0设备信息。没生效时先查这两处build/CMakeCache.txt中GGML_CUDA:BOOLON、CMAKE_CUDA_ARCHITECTURES是否包含你的 GPU 计算能力进程运行时执行nvidia-smi确认有 llama-cli 进程占着显存。 性能调优四个 CMake 选项覆盖绝大多数调优场景参数作用默认值适用场景GGML_CUDA_FORCE_MMQ强制自定义量化 matmul 内核替代 cuBLASOFFINT4/INT8 量化模型小批量推理吞吐更高GGML_CUDA_FORCE_CUBLAS强制走 cuBLASOFF高精度 FP16/BF16 负载追求稳定GGML_CUDA_PEER_MAX_BATCH_SIZE多 GPU peer 访问的最大批次大小128NVLink 双卡/四卡系统调大减少 P2P 拷贝GGML_CUDA_GRAPHSCUDA Graphs 减少 kernel 启动开销ON低延迟对话场景异常时可关显存不足时运行期设置GGML_CUDA_ENABLE_UNIFIED_MEMORY环境变量让权重在 VRAM 与系统内存间自动换页。跨平台差异Linux多 CUDA 版本共存时用CMAKE_CUDA_COMPILER钉住 nvcc 路径CI 的标准构建流程可参考 ci/run.sh 中GG_BUILD_CUDA分支。Windows必须用 VS 2022 的 x64 Native Tools Command Prompt 执行cmake -B build -DGGML_CUDAON -G Visual Studio 17 2022 -A x64VS 与 CUDA 版本不匹配是 Windows 下最常见的失败原因。构建细节与完整选项说明以 docs/build.md 为准。若仍卡住提 issue 时附上nvcc --version、nvidia-smi输出与完整 CMake 配置日志社区才能快速定位。【免费下载链接】llama.cppLLM inference in C/C项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表