llama.cpp プロジェクトはバージョン b9893 をリリースし、OpenCL フラッシュアテンションのデコーディングに対する一般的なパフォーマンス最適化を導入しました。このアップデートでは、f16、q8_0、q4_0 の KV キャッシュ形式向けのベクトル化されたフラッシュアテンション・デコードカーネルが追加され、非フラッシュアテンションの KQ 行列乗算カーネルも改善されました。
- DK=512 のデコード操作は帯域幅制約があり、GPU よりも CPU の方が高速であるため、CPU にオフロードされます。これは深さが増すほど顕著です。
- Adreno コンパイラがより大きな次元でメモリ不足にならないようにするために、マルチクエリ・フラッシュアテンションカーネルは最小限のプログラムとしてコンパイルされます。
- 単一クエリのワークロードにおいて GPU リソースをより効果的に活用するため、f16-KV デコードのデフォルト分割サイズが 2048 から 512 に削減されました。
- DK=512 のデコードシナリオで block_n が未設定の場合に発生する範囲外読み込みに対するクラッシュ修正が含まれています。
このリリースには、CPU、CUDA、Vulkan、ROCm、その他のバックエンドに対応した macOS、Linux、Android、Windows、openEuler 用のバイナリが含まれています。