通过 Vulkan® 加快 LLaMA.cpp 的推理速度

无意间发现其有一块 AMD Radeon PRO W6800 专业显卡,就想着是不是能利用一下的说!

事情起因也是在写前面文章时二次确认在线源的软件包的过程中,发现 llama.cpp 有一个llama-cpp-backend-opencl的后端可供选择,为此就在研究如何使其能通过 OpenCL™ 后端加速推理。

先安装pkg install pciutils后,通过lspci | grep VGA发现其有着一块名唤AMD Radeon PRO W6800 专业显卡的显卡在列,为此更加使我有动力去研究下去。由于在 Termux 里面的系统没有 Vulkan® 的相关驱动包,只好先行研究 OpenCL™ 的后端支持。折腾几番发现貌似即使是有llama-cpp-backend-opencl这一软件包但也无法调用,突然想到竟然 Termux 的系统没有驱动包那么在 Debian 里面就应该有驱动包了吧!

安装 Vulkan® 驱动

如此想着遂进入 Proot-Distro 运行的 Debian 系统,再次执行lspci | grep "VGA/3D/Display"终于发现预想中的显卡型号,于是乎就可在这里安装驱动试试。

  • 更新系统:
    apt update && apt upgrade -y
    
  • 安装Vulkan相关组件:
    apt install mesa-vulkan-drivers vulkan-tools libvulkan1
    
    • mesa-vulkan-drivers:Vulkan开源驱动实现
    • vulkan-tools:包含vulkaninfo等调试工具
    • libvulkan1:Vulkan核心库
  • 验证安装:
    vulkaninfo --summary
    

    输出中若显示AMD RADV NAVI21相关信息,说明Vulkan驱动已成功加载

至此就已经安装了 Vulkan® 的相关驱动并可以使用。

让 LLaMA.cpp 支持 Vulkan® 后端

其实也很简单,因为其 Github 发布页面就有着已经编译好的二进制而执行安装包。

  • 下载:
    curl -LO https://github.com/ggml-org/llama.cpp/releases/download/b9311/llama-b9311-bin-ubuntu-vulkan-arm64.tar.gz
    
  • 解压:
    tar -zxvf llama-b9311-bin-ubuntu-vulkan-arm64.tar.gz
    
  • 下载模型:
    还是选择Qwen/Qwen2.5-1.5B-Instruct-GGUF:q4_k_m作为本次的测试模型。
  • 启动:
    ./llama-b9311/llama-server -m qwen2.5-1.5b-instruct-q4_k_m.gguf
    
  • API接口:
    通过默认的8080端口在浏览器中访问:http://127.0.0.1:8080即可打开自带的 Web Gui 界面,在里面可以简单的就使用其 API 接口。

体验

果然就是不可同日而语,刚运行起来简单的“你好”都有83 t/s,切换回纯 CPU 推理时“你好”就只有0.5 t/s左右了,再次用回带 Vulkan® 后端支持的版本,同样执行“你好”就有100 t/s往上的输出速度。甚至是用其来写一个简单的 Shell 脚本也哐哐的就完成,而且其的输出速度也有150 t/s往上。

可惜的是洗个澡的功夫再回来时就已经看不到 Vulkan® 的显卡信息了,这进而导致我无法深究 Ollama 的 Vulkan® 该如何启用。睡个觉的功夫又有显卡信息了,可惜的是又是才启动 LLaMA.cpp 验证的功夫又没有了……

ChiuYut

2026年05月26日

发布者

ChiuYut

咦?我是谁?这是什么地方? Ya ha!我是ChiuYut!这里是我的小破站!