llama.cpp 在 AMD 显卡上部署完整指南:兼容性自查、首次运行与推理提速

发布时间:2026/8/31 9:14:01
llama.cpp 在 AMD 显卡上部署完整指南:兼容性自查、首次运行与推理提速 llama.cpp 在 AMD 显卡上部署完整指南兼容性自查、首次运行与推理提速【免费下载链接】llama.cppLLM inference in C/C项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cppllama.cpp 是基于 C/C 的 LLM 推理框架在 AMD 显卡上有 ROCmHIP与 Vulkan 两条主流加速路线。编译时报找不到设备、启动后 GPU 不出现、推理比 CPU 还慢——只要按下面四步走这些问题都能在本地解决动手前自查、第一次运行验证、按症状排障、性能调优。动手前的环境自查清单先确认四件事再动手编译能省掉后面八成的弯路。✅显卡驱动与后端依赖AMD 独显装最新版图形驱动走 ROCm 路线需额外安装 ROCm发行版包管理器一般都有走 Vulkan 路线则需对应 Vulkan 驱动。✅Vulkan 支持情况Linux 下直接跑vulkaninfo能列出你的 Radeon 设备就说明 Vulkan 路线可用。✅显存大小显存决定能卸载多少层。7B 级 Q4 量化模型约需 5-6GB 显存上下文拉长后按 1.5 倍预估。✅显卡架构编号ROCm 路线用rocminfo | grep gfx | head -1查 gfx 编号它是编译参数GPU_TARGETS的取值依据如gfx1100对应 RX 7900 系列。第一次运行从克隆源码到出第一条推理结果按顺序走完四步第一次就能跑通。克隆源码git clone https://gitcode.com/GitHub_Trending/ll/llama.cpp选后端编译。Vulkan 路线Windows/Linux 通用兼容性最广cmake -B build -DGGML_VULKANON cmake --build build --config ReleaseROCm 路线Linux官方支持的显卡性能更好先装好 ROCm 再执行HIPCXX$(hipconfig -l)/clang HIP_PATH$(hipconfig -R) cmake -S . -B build -DGGML_HIPON -DGPU_TARGETSgfx1030 -DCMAKE_BUILD_TYPERelease cmake --build build --config Release -- -j 16其中gfx1030换成你的架构编号不想编译的话conda-forge 的预编译包已含 Vulkan 支持conda install -c conda-forge llama.cpp。验证 GPU 被识别./build/bin/llama-cli --list-devices应列出你的 Radeon 设备与显存。出第一条推理结果./build/bin/llama-cli -m model.gguf -p Hi -ngl 99-ngl 99会把尽可能多的层卸载到 GPU。启动日志中出现显卡型号与后端 Using ... 字样即表示运行成功。出错时按症状对号入座排障从现象开始先定位属于下面哪一种再动手。编译失败cannot find ROCm device library现象ROCm 路线编译时 clang 报--rocm-device-lib-path找不到。 可能原因ROCm 版本与设备库路径不匹配编译器定位不到device library。 修复动作在HIP_PATH下找到包含oclc_abi_version_400.bc的目录把HIP_DEVICE_LIB_PATH该目录加到编译命令最前面重新编译。启动时 GPU 未列出或 Vulkan 初始化失败现象--list-devices只有 CPU或启动直接报设备错误。 可能原因编译时没启用对应后端或 Vulkan 驱动未加载。 修复动作确认编译带过-DGGML_VULKANON或-DGGML_HIPON重跑vulkaninfo看驱动是否在线仍不行就升级 AMD 显卡驱动——⚠️ 驱动是 AMD 卡片的第一排查项多数初始化失败升级驱动后消失。模型加载卡在 0%现象进度长期停在llm_load_tensors阶段。 可能原因大 GGUF 文件首次从磁盘读入以 IO 等待为主并非卡死也可能是显存不足导致反复分配。 修复动作先观察磁盘 IO 是否在走模型明显超出显存时调低-ngl或换更低量化的模型版本。推理速度异常缓慢现象GPU 已识别但速度接近纯 CPU。 可能原因-ngl过低大部分层回落到 CPU 执行。 修复动作提高到-ngl 99并观察提速仍不理想就换后端对比——编译方式见上一节同一模型两种后端各跑一次看打印的 token/s。性能调优分层加载、后端选择与关键参数提速空间最大的一环是让尽可能多的层留在 GPU 上。分层加载-ngl控制进显存的层数--fit默认开启会把上下文自动适配到显存--list-devices可随时查各设备剩余显存。后端选择ROCm 官方支持的 RDNA2/RDNA3 等卡通常性能最好ROCm 不覆盖的卡与 Windows 环境选 Vulkan。关键参数-fa on开启 Flash Attention 加速注意力-ctk q8_0 -ctv q8_0量化 KV 缓存省显存--ctx-size控制上下文长度多卡默认--split-mode layer用-ts 3,1指定显存比例。非官方支持显卡ROCm 不认的卡Linux 下可试HSA_OVERRIDE_GFX_VERSION11.0.0RDNA3或10.3.0RDNA2该变量在 Windows 无效改走 Vulkan 路线。多 GPU 拆分模式的完整参数见 docs/multi-gpu.md各后端编译细节见 docs/build.md。验证与排障速查AMD 显卡 llama.cpp 常见报错处理表修完后用下表逐项核对结果也方便日后快速定位新报错。症状可能原因处理办法--list-devices只显示 CPU编译未启用 GPU 后端加-DGGML_VULKANON或-DGGML_HIPON重新构建启动 OOM 或崩溃显存不足先降--ctx-size再降-ngl已识别 GPU 但速度接近 CPU卸载层数不足提高到-ngl 99编译报 cannot find ROCm device library设备库路径缺失设置HIP_DEVICE_LIB_PATH见上文提示 gfx 架构不受支持ROCm 未官方支持该卡HSA_OVERRIDE_GFX_VERSION或改用 Vulkan 后端首次运行慢、之后正常运行时管线一次性预热属正常现象无需处理兼容性问题大多出在驱动与编译参数两处把开头的自查清单做完剩下的工作就是对着症状找答案。下次再遇到报错先查上面的速查表再动手。【免费下载链接】llama.cppLLM inference in C/C项目地址: https://gitcode.com/GitHub_Trending/ll/llama.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考