llama.cpp b9820 リリースは、分割計算中に同期回数を減らすことでパフォーマンスを改善しました。特に CUDA バックエンドを対象としています。このアップデートでは、CPU、GPU、および特殊なハードウェアアクセラレータ向けに、macOS、Linux、Windows、Android、openEuler 用のビルド済みバイナリも提供されます。
- トークン間の同期を減らすことで CUDA のパフォーマンスを向上させました。
- ggml_backend_cuda_cpy_tensor_async() に CPU から CUDA へのコピー機能を追加しました。
- CUDA などのサポートされたバックエンド間で、入力コピーの間の同期要件を緩和しました。
- 同期コピーを非同期コピー関数に置き換え、CUDA 以外のビルド用にマクロガードを追加しました。
- ggml-backend.cpp 内のバックエンド検出を再構築し、リンク競合を回避しました。
- 複数 GPU 環境で単一 GPU の同期を追加することで、hip バックエンドのパイプライン並列のバグを修正しました。
- 予防策として、ホストからのコピーから CPU 分割から GPU 分割への最適化に hip/MUSA を除外しました。
このリリースにより、CUDA デバイスでの推論が高速化され、広範なオペレーティングシステムやハードウェアバックエンドとの互換性が維持されています。