llama.cppプロジェクトは、Metalバックエンドの演算融合パターンを単一のテーブルに統合し、グラフオプティマイザと演算エンコーダの両方で共有しています。この変更により、トークン生成速度が約5%低下させていた絶対出力インデックスのバグも修正されました。

  • すべての融合可能な演算パターンはggml-metal-fuse.cppで一度宣言され、最適化フェーズと計算フェーズの一貫性が確保されました。
  • グラフノードの絶対インデックスに関する修正により、融合パターンの最後のノードが使用カウントチェックの対象となる誤りが防止され、norm/MULの融合が復元されました。
  • 新しいサポートにより、gating_delta_netカーネルがキャッシュコピー演算と融合し、スナップショットをKVキャッシュバッファに直接書き込めるようになりました。
  • 'raw'融合フラグは'unsafe'に改名され、パターン固有のコールバックが唯一の安全性検証役であることが明確になりました。
  • 新しいアドホックAPIにより、バックエンド非依存の融合統計情報がテスト用に提供され、NMSEを用いて融合済みと未融合のロジットを比較する回帰テストスイートが含まれています。

これらの更新は、融合ロジックを統一してコードの保守性を向上させ、以前のバージョンで静かに発生した融合失敗による性能低下を回復させました。