llama.cpp b10814 リリースは、9つの新しい要素ごとの単項演算を追加し、データ移動カーネルを改善することで、OpenCL バックエンドのサポートを拡大します。

  • CPUへのフォールバックを防ぐため、sgn、step、elu、hardswish、hardsigmoid、floor、ceil、round、trunc を含む拡張された要素ごとの単項演算を追加しました。
  • 線形移動のためにデバイス全体にディスパッチする連続した f32 コピーカーネルを実装し、長い行が少数のテンソルのパフォーマンスを最適化しました。
  • カーネルを特定の型ではなく要素サイズに基づいてキー付けすることで、CONCAT サポートをすべてのコピーしやすい型(f16、bf16、i8、i16、i32、i64)に拡張しました。

これらの変更により、macOS、Linux、Windows、Android における非CPUバックエンドの OpenCL カバレッジと効率が向上します。