llama.cpp b10956リリースは、TOP_K操作における大きなk値を処理するためにSYCLバックエンドにradix selectアルゴリズムを導入しました。これにより、それまでk > 32の場合にCPUにフォールバックしていた問題が解消されました。この変更により、ヒストグラムベースのパスを使用して共有ローカルメモリのフットプリントをkに依存させないことで、大きなkのGPU内処理が可能になります。
- 新しい実装はk値を2048およびそれ以上までサポートし、qwen4expのスパースアテンションインデクサーなどの操作におけるバックエンドの往復通信を排除します。
- パフォーマンスの改善には、ne=[131072,1]かつk=2048で4.98倍の高速化、および特定のバッチ構成においてCPUフォールバックと比較して最大118倍の実行速度向上が含まれます。
- Qwen3.8-Flash-Nextを使用した3x Arc Pro B60でのエンドツーエンドテストでは、d=131072でスループットが5.91から6.05 t/sに増加し、パープレキシティは変化していません。
- このリリースには、CPU、CUDA、ROCm、Vulkan、OpenVINO、およびSYCLバックエンド向けにmacOS、Linux、Windows、Android、openEuler用のバイナリが含まれています。
このアップデートにより、SYCLデバイス上で効率的な大きなkのtop_k操作が実現し、高いk値を必要とするモデルにおけるトークン選択のパフォーマンスボトルネックを防ぎます。