llama.cppプロジェクトは、ホスト/ドライバのオーバーヘッドを削減するために、RMS_NORMとSCALE演算を単一のCUDAカーネルに統合しました。以前は、個別のSCALEノードが追加のカーネル起動を引き起こし、これは単純なバッチ処理では無視できる程度でしたが、ドラフトMTP推論デコーディング中はレイテンシを大幅に増加させていました。

  • 統合によりrms_norm_f32にdo_scaleフラグが追加され、統合パスがカーネル、縮約、およびランチャを共有しながら、ビット単位の数値等価性を維持しています。
  • Qwen3.8-27Bを搭載した2x GTX 1080 Ti環境では、ドラフトMTP条件下で8000トークンで4.2%、20000トークンで4.8%の冷間プリフィルスループットが向上しました。
  • ubatchあたりの起動回数は1032.9 + 841.7から978.9 + 799.7に減少し、GPU演算合計を変更せずに以前のベースライン数と一致しました。
  • RMS_NORM_SCALE、NORM_SCALE、および関連演算のすべてのバックエンドテストが両方のGPUで合格し、パープレキシティは非統合ビルドと同じままです。

この最適化は、カーネル起動の累積コストを削減することで、推論デコーディングシナリオでの推論速度を特に向上させます。