llama.cpp b12342、CUDAにsrc1列2〜24向けfew-row MMQカーネル

llama.cppはリリースb12342(#31533)で、src1列数が2〜24の量子化行列乗算(MMQ)向けに新しいint8 MMAカーネル「few-row MMQ」をCUDAバックエンドへ追加しました。対象はAmpere以降のNVIDIA GPUです。

何が新しいか

新カーネルは、src1列数が少ない量子化mat-mulを処理します。原文はその例としてspeculative decodingのverify passを挙げています。ディスパッチ順序は MMVQ → few-row → MMQ の順に更新されています。

対応条件

項目 内容
対象バックエンド CUDA
対応GPU NVIDIA GPU(Ampere以降)
src1列数 2〜24
対応量子化形式 Q8_0、Q3_K、Q4_K、Q5_K、Q6_K、IQ3_S、IQ4_NL、IQ4_XS

few-row MMQにはCUDA限定のガードが入っています。HIP/MUSAで呼ばれた場合の中断処理も、より明確な形に改められました。

その他の変更

  • test_mul_matにweightsフラグを追加し、テストを2コンテキスト構成でビルドするよう変更しました
  • few-row用の量子化で、DS4 sumを量子化後の値から計算するよう修正しました(#31247と同じ方式)

この記事の固有名詞

コメント (0)

まだコメントはありません。

コメントを書く

2000文字以内