RDNA2 闪存注意力在官方版本中未启用,我通过这个构建启用了它,速度翻倍
摘要
自定义二进制解决方案为 llama.cpp 在 AMD RDNA2 GPU 上启用了闪存注意力,推理速度翻倍(70-80 tok/s,而官方版本崩溃)。仅确认与 Qwen3.6 35B/27B 配合使用。
大家好,我可能拥有这些 AMD Radeon RDNA2 GPU 上最快设置,原因只有一个:一个自定义二进制文件,它绕过了当前官方版本中导致崩溃的某个断言语句。这个二进制文件绕过了该断言并启用了闪存注意力。适用于带有 qwen3.6 35B 的 rocm llama.cpp 构建。简单来说:vulkan tok/s 30。官方 rocm tok/s:无法运行。这个构建:70-80 tok/s,自己试试吧。https://github.com/Minerest/llama.cpp\_RDNA2\_FlashAttnEnabled/releases/tag/mtp-fa-workaround 如果你们尝试使用官方 llama.cpp 构建在此硬件上运行 rocm 的闪存注意力,将会碰壁。GGMLFlash Attention Crash (gfx1030/gfx1031) GGML\_ASSERT(max\_blocks\_per\_sm > 0) failed ggml/src/ggml-cuda/fattn-common.cuh:1054 基本上,HIP 报告 hipOccupancyMaxActiveBlocksPerMultiprocessor = 0,这是错误的。这证明了我们确实有内存。我打了一个补丁,在原本会崩溃的地方输出工作日志。GitHub 上有一些技术发现,但对于其他只想获得更快构建的人来说,这就是你们要的。注意:rocm 上的本地 AI 经常崩溃。Gemma 在使用更大上下文时会崩溃。Deepseek 运行得非常非常慢。我只确认 qwen3.6 35B 和 27B 可以正常工作。对于那些想要 llama 服务器标志的人:exec "$REPO/mtp-build/bin/llama-server" \\ \-m "$MODEL" \\ \--spec-type draft-mtp \\ \--spec-draft-n-max 2 \\ \-fa on \\ \--no-mmproj \\ \-ngl 50 \\ \-ts 16,10 \\ \-c 64192 \\ \--parallel 1 \\ \--host 127.0.0.1 --port 8080 \\ 最后,打补丁后的 llama cpp 构建命令:cmake -S . -B build-instrumented \\ \-DCMAKE\_BUILD\_TYPE=Release \\ \-DGGML\_HIP=ON \\ \-DGPU\_TARGETS="gfx1030;gfx1031" \\ \-DROCM\_PATH=/usr \\ \-DBUILD\_SHARED\_LIBS=ON \\ \-DCMAKE\_HIP\_FLAGS="-DGGML\_FATTN\_TRACE" cmake --build build-instrumented --target llama-bench -j6
相似文章
llama.cpp b9158 刚刚发布了 RDNA3 Flash Attention 修复
llama.cpp b9158 已发布,修复了 RDNA3 GPU 上的 Flash Attention 问题,提升了 AMD 用户的性能。
@pupposandro:在 Strix Halo 上比 llama.cpp 快 2.5 倍。我们刚刚为 AMD Ryzen AI MAX+ 395 iGPU(gfx1151,……)发布了 DFlash + PFlash
一套新工具集(DFlash + PFlash)在 AMD Ryzen AI MAX+ 395 iGPU 上实现了比 llama.cpp 快 2.5 倍的推理速度,展示了 Qwen3.6-27B 在 128 GiB 统一内存下的显著加速效果。
AMD Strix Halo 上的 Luce DFlash + PFlash:Qwen3.6-27B 解码速度提升 2.23 倍,预填充速度提升 3.05 倍(相较于 llama.cpp HIP)
Luce 为 AMD Strix Halo APU 发布了 DFlash 和 PFlash 支持,在 Qwen3.6-27B 模型上,其解码和预填充速度相比 llama.cpp HIP 分别提升了 2.23 倍和 3.05 倍。
BeeLlama v0.2.0 – DFlash 重大更新。单张 RTX 3090:Qwen 3.6 27B 最高 164 tps(4.40 倍),Gemma 4 31B 最高 177.8 tps(4.93 倍)。提示处理速度接近基线。
BeeLlama v0.2.0 引入了 DFlash 投机解码的重大改进,在单张 RTX 3090 上,Gemma 4 31B 加速最高达 4.93 倍,Qwen 3.6 27B 加速最高达 4.40 倍,且提示处理速度接近基线。
@pupposandro: https://x.com/pupposandro/status/2054241934164492328
该文章宣布了 llama.cpp 对 AMD Strix Halo 集成 GPU (iGPU) 上的 DFlash 和 PFlash 投机解码的支持,并展示了使用 ROCm 时推理性能的显著提升。