llama.cppプロジェクトはバージョンb9928をリリースし、Hexagonバックエンド向けの新しいVTCMレイアウトと改善されたパイプラインを導入しました。これらの変更は、MUL_MAT、MUL_MAT_ID、FLASH_ATTN_EXTの演算に対するパフォーマンス向上を特に目的としています。
- 共通のレイアウトビルダーを使用するようにカーネルパラメータ計算をリファクタリングしました。
- hmx関数をより堅牢にするために明示的なコンパイラーバリアを追加しました。
- 行列乗算およびflash-attnカーネル用のより汎用的なVTCMレイアウトビルダーを実装しました。
- 内部カーネルを展開し、コンパイラーの問題を回避するためにインストリンシック関数をインラインアセンブリに置き換えました。
- DMAパイプライン、プリフェッチ、および同期フォールバックパスを最適化しました。
- ワークプールにハイブリッドポーリングを追加し、キューのウェイクアップメカニズムを改善しました。
本リリースでは、CPU、CUDA、ROCm、Vulkan、OpenVINO、SYCL、HIPを含む様々なハードウェアバックエンド向けに、macOS(Apple SiliconおよびIntel)、iOS、Linux(Ubuntu x64、arm64、s390x)、Android、Windows、openEuler向けのバイナリが提供されています。