llama.cpp プロジェクトはビルド b10724 をリリースし、連続する実行ごとのバッチ処理された scatter リードによって非連続な KV キャッシュセルの復元パフォーマンスを大幅に改善しました。
- 断片化されたリングバッファの状態復元を最適化し、連続する宛先インデックスを事前に計算し、個々のセルコピーの代わりに単一コピーを使用します。
- セーブと復元のテンソル数が一致してもチャンキングが異なる場合、デバイス上のリーダーでアサート失敗が発生していた問題を修正し、バイトカーソルコピーにフォールバックしました。
- インターリーブされたシーケンスセルに対してバイト単位で同一の状態復元を検証するホストおよびデバイス上のテストを追加しました。
この最適化により、大規模な復元に必要なメモリコピーの数が 130 万以上からわずか 224 に削減され、復元時間が数十秒から半秒未満に短縮されました。