llama.cpp b10858リリースでは、隣接するUNARY活性化(GELU、SIGMOID、SILU、SOFTPLUS)とMUL演算に対するVulkanカーネルの融合が導入されました。この最適化により、冗長なメモリアクセスやランタイム分岐を排除することで、プロンプト処理速度の10-18%の低下が回復します。
- 融合パイプラインはGELU、SIGMOID、SILU、SOFTPLUSとMULを扱い、f32およびf16用に特殊化されたSPIR-Vシェーダーを使用します。
- グラフ最適化子は、VIEWやRESHAPEのようなゼロ計算ノードで分離されていても融合ペアをスケジューリングするようになり、Gemma4などのモデルで見られるパターンへの対応が拡大しました。
- OP-on-B融合のサポートにより、より小さいMUL演算子上の活性化が可能になり、共有エキスパートアーキテクチャにおける効率的なゲート処理を実現します。
- バックエンドテストには'gate'や'view_mid'などの新しいレイアウトが含まれており、さまざまなテンソル形状にわたる正確性が検証されています。
この変更により、アクティベーションゲートメカニズムを強く依存するモデルの推論レイテンシが、Vulkanバックエンドでの計算オーバーヘッドの削減によって大幅に改善されます。