llama.cpp プロジェクトはバージョン b10216 をリリースし、Vulkan バックエンドに対して GGML_OP_POOL_1D の完全なサポートを導入しました。このアップデートには既存の pool2d 実装を反映した新しい計算シェーダーが含まれ、テンソル次元が負の終了境界をもたらす際に発生するクラッシュを修正しました。
- 1D プーリング操作用の vk_op_pool1d_push_constants 構造体と pipeline_pool1d_f32 フィールドを追加。
- Vulkan 上で 1D プーリングロジックを処理するための pool1d.compute シェーダーを実装。
- pool1d_f32 を登録し、テンソル次元インデックスと平均プーリングスケールを修正してシェーダーロジックを修正。
- k0 < p0 の際の境界クラッシュ問題を解決し、修正のテストカバレッジを拡張。
このリリースにより、Vulkan でアクセラレートされたモデル内で 1D プーリングレイヤーを利用できるようになり、macOS、Linux、Windows、Android、openEuler 用のバイナリが CPU、CUDA、ROCm、その他のバックエンドで利用可能です。