多彩编程 多彩编程MZPH · CODE BLOG
ARTICLE DETAIL

文章详情

深耕前端与后端开发技术的一线实战笔记与踩坑复盘。

llama.cpp在AMD显卡上加速:3步快速上手GPU推理完整避坑指南

llama.cpp在AMD显卡上加速:3步快速上手GPU推理完整避坑指南 llama.cpp在AMD显卡上加速3步快速上手GPU推理完整避坑指南【免费下载链接】llama.cppLLM inference in C/C项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp你在 AMD 显卡上跑 llama.cpp 这个 LLM 推理引擎日志却固执地显示走 CPU 推理或者 Vulkan 初始化直接失败。AMD 有两条官方加速路线ROCm HIP 与 Vulkan配好编译参数就能把整个模型卸载到显卡上。llama.cpp AMD显卡加速为什么你的卡总跑在CPU上最常见的场景默认构建后运行llama-cli模型能加载但计算全压在 CPU 上速度毫无优势。想手动开启后端又不知道加哪个开关结果报设备找不到的错误。根源通常不是 AMD 显卡不兼容而是构建时没有启用对应的 GPU 后端。原理速览GPU加速到底加速了什么llama.cpp 的推理本质是大量矩阵乘法和注意力运算这些算子在构建期被编译进不同硬件后端NVIDIA 走 CUDAAMD 走 HIPVulkan 则是跨厂商通用标准。对 AMD 来说有两条路HIP 路线经 ROCm 直达 GPU性能最好但需要装 ROCm 工具链Vulkan 路线是跨厂商开放标准Windows / Linux 都能跑性能略逊。你选哪条路决定了构建时要传哪些 CMake 参数。llama.cpp AMD卡第1步选路线并检查环境git clone https://gitcode.com/GitHub_Trending/ll/llama.cpp然后按路线验证环境# Vulkan 路线确认驱动暴露了 Vulkan 设备 vulkaninfo --summary # HIP 路线查看 GPU 架构gfx 值是关键 rocminfo | grep gfx | head -1预期结果vulkaninfo列出你的 AMD 显卡rocminfo输出gfx1100这类架构串。这个gfx编号决定下一步的编译参数。显卡系列架构编号架构名RX 6000gfx1030RDNA2RX 7000gfx1100RDNA3llama.cpp AMD显卡构建第2步启用正确的后端️Vulkan 路线Windows 或未装 ROCm 时推荐sudo apt-get install libvulkan-dev glslc spirv-headers cmake -B build -DGGML_VULKANON cmake --build build --config ReleaseHIP 路线Linux 已装 ROCm性能最优cmake -S . -B build -DGGML_HIPON -DGPU_TARGETSgfx1030 -DCMAKE_BUILD_TYPERelease cmake --build build --config Release -j 16GPU_TARGETS填第 1 步查到的架构编号。两个后端也可以同时启用运行时用--device指定用哪块卡。llama.cpp AMD显卡推理第3步层卸载与后端确认./build/bin/llama-cli -m model.gguf -ngl 99 -cnv-ngl 99表示把全部层卸载到 GPU。看日志里是否出现Vulkan0/HIP0设备行以及offloaded N/N layers的卸载信息——数字小于总层数说明部分层退回 CPU 了。llama.cpp AMD显卡关键配置参数表参数推荐值注意事项-DGGML_VULKANON/-DGGML_HIPON二选一构建期开关启用 AMD 后端-DGPU_TARGETS与卡匹配的gfx编号不填则构建针对系统内所有 GPU显式指定更快、产物更小HSA_OVERRIDE_GFX_VERSION如10.3.0仅不支持架构时用gfx1035 可映射 10.3.0Windows 不支持-ngl99卸载层数显存不够就调低-c4096上下文长度越大越吃显存--list-devices—确认当前构建实际识别到的设备与后端名效果验证用 llama-bench 测出数字./build/bin/llama-bench -m model.gguf看两项指标pp提示词处理tokens/s与tgtoken 生成tokens/s。与纯 CPU 基线对比换到 GPU 后端后 pp 通常有明显跳升。 输出质量方面丢一个已知答案的问题给模型核对回答稳定合理即可。结果突然乱码时优先怀疑显存溢出或驱动问题别急着归咎于模型本身。进阶混合部署与替代后端策略部分卸载混合模式模型装不进显存时把-ngl调低如-ngl 20装不下的层自动退回 CPU慢但能跑。Docker 路线项目提供预装依赖的 Vulkan 构建镜像挂载模型文件即可运行见 Docker 文档。多卡部署双 AMD 卡可用--split-mode layer按层切分细节见 多 GPU 文档。OpenCL 兜底Vulkan 驱动翻车时可换 OpenCL 后端见 OpenCL 文档。llama.cpp AMD显卡踩坑备忘首次运行特别慢之后变快→ 着色器首次运行时 JIT 编译并缓存属正常现象不是卡死。日志显示CPU、找不到 GPU 设备→ 驱动过旧或GPU_TARGETS不匹配用vulkaninfo/rocminfo确认显卡可见。显存报错或推理中断→ 上下文过大或量化太高调小-c、调低-ngl或换更低量化。兼容性问题的本质多数是构建没启用对的后端、没指定对架构。卡在哪一步翻 构建文档 里有各系统的完整细节Vulkan 后端实现可以看 ggml/src/ggml-vulkan/。参数配好之后挂机就行——本地模型嘛头十分钟最磨人跑起来就顺了。【免费下载链接】llama.cppLLM inference in C/C项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表