先ほど、手元のStrix HaloシステムでROCmとVulkanのバックエンドを llama-bench で比較してみました。Vulkanのほうが上回っていて、正直驚きました。
ハードウェア:
- AMD Radeon 8060S(gfx1151 / Strix Halo)
- 64GB ユニファイドVRAM
- Arch Linux、pacman経由で ROCm 7.2.2
- Mesa RADV Vulkanドライバ
モデル: Qwen3.6-35B-A3B(MoE、Q6_K 量子化、~30GB)
llama.cpp: commit 27aef3dd9
フラグ: -ngl 99 -p 512 -n 128 -t 8 -fa 1 -b 2048 -ub 512
結果(tokens/sec):
| Backend | pp512 | tg128 | Std Dev |
|---------|-------|-------|---------|
| ROCm0 | 841 | 42.3 | ±1.8 |
| Vulkan0 | 867 | 51.2 | ±0.5 |
Vulkanはトークン生成で約21%高速で、さらにより安定していました(分散が小さい)。プロンプト処理はだいたい同等です。
私は両方のバックエンドを同じバイナリに組み込みました(`-DGGML_HIP=ON -DGGML_VULKAN=ON`)。このワークロードでは `-dev Vulkan0` のほうがROCmより良い結果になります。
Strix Haloや、ほかのRDNA3.5チップでも同じようなことが起きた人はいないでしょうか。ROCmは、このGPU上の特定の演算(op)で、より遅いコードパスにフォールバックしているように見えます。
[link] [comments]




