llama.cppプロジェクトはバージョンb10675をリリースし、Vulkanバックエンドの重要な更新を含んでいます。このリリースでは、シェーダーコード内での行IDとエキスパート数のホイスティングサポートが追加されました。
- 実装ではcoopmat2内でホイスティングされた行IDを使用しています。
- count_expertsに関するレビューフィードバックに対応し、生のuintベクトルの代わりにvk_op_count_experts_push_constantsを使用しています。
- fastdivトリックがcount_experts内のne00 div/mod操作に適用されています。
- エキスパートごとのオフセットはサポートされている場合subgroupExclusiveAddで計算され、フォールバックとしてシリアルパスを維持しています。
この更新により、CUDA、ROCm、OpenCLを含むさまざまなハードウェアバックエンド上で、macOS、Linux、Windows、Android向けの最適化されたVulkanビルドが提供されます。