llama.cpp b9857 リリースは、Hexagon Flash Attention 実装の包括的な再構築を導入し、最適化と精度の向上に重点を置いています。このアップデートには、hex-mm および hex-fa モジュールへの変更が含まれており、例えば量子化タスクをメインの行列乗算スレッドに統合したり、ADD 操作と融合させたり、マスク処理を最適化したりしています。

  • Hexagon Flash Attention (hex-fa) の最適化には、ukernels の因数分解、カーネルパラメータ計算をホストへ移動すること、および FA_SELECT と Sinks のサポート追加が含まれます。
  • パフォーマンスの向上には、スループット回帰を回復するために Hvx フォールバック閾値を更新すること、マスク DMA キャッシュの最適化、整列されたロードと uint32_t インデックスの使用が含まれます。
  • 数値精度の改善には、softmax アキュムレータを fp32 で保持すること、vec_exp_f32 を vec_exp2_f16 に置き換えること、およびマスク初期化に -inf を使用しないことで変換オーバーフローを回避することが含まれます。
  • このリリースでは、macOS (Apple Silicon および Intel)、Linux (CPU、Vulkan、ROCm、OpenVINO、SYCL)、Android、Windows (CPU、CUDA 12/13、Vulkan、OpenCL、HIP、OpenVINO、SYCL)、および openEuler のバイナリが提供されます。

このアップデートは、Hexagon DSP における推論パフォーマンスを向上させ、llama.cpp ユーザー向けに複数のプラットフォームとアクセラレータ間でハードウェアサポートを拡大します。