- FP8行列積(GEMM) を効率的に実行するライブラリで、DeepSeek-V3で提案された 微細粒度スケーリング(fine-grained scaling) 方式をサポート
- 通常のGEMMと Mixture-of-Experts(MoE)グループ化GEMM の両方をサポート
- CUDAベースで実装されており、インストール時に別途コンパイル不要で 軽量なJust-In-Time(JIT)モジュール を使ってランタイムでカーネルをコンパイル
- 現在は NVIDIA Hopper Tensor Core専用 でサポート
- FP8 Tensor Coreの不正確な累積演算を補うため、CUDAコアベースの 二重累積(promotion) を使用
- CUTLASS および CuTe の一部の概念を活用しつつ、複雑なテンプレート依存を減らし、約300行のカーネルコード בלבד を含むシンプルな設計
- Hopper FP8行列演算および最適化手法の学習に適している
- 軽量設計にもかかわらず、さまざまな行列サイズで 専門家レベルにチューニングされたライブラリと同等またはそれ以上の性能を示す
性能評価
通常GEMM性能(Denseモデル)
- さまざまな行列サイズに対して DeepSeek-V3/R1推論環境で性能評価 を実施
- NVIDIA H800 GPU(NVCC 12.8) 環境でテスト
- スピードアップ(Speedup)指標は CUTLASS 3.6をベースにした内部最適化版との比較で算出
- 主な性能要約
- 小さい行列サイズでは 最大2.7倍の高速化
- 一部の大きい行列サイズでは 1.0〜1.2倍水準の性能を維持
- メモリ帯域幅と演算性能を最適化し、Hopperアーキテクチャに最適化された性能を発揮
MoEモデル向けグループ化GEMM性能
- 連続(contiguous)レイアウトのグループ化GEMM
- M軸を基準にグループ化 し、NとKは同じに維持
- 最大1.2倍の高速化 を示し、特定設定では 1.1倍 水準を維持
- マスク付き(masked)レイアウトのグループ化GEMM
- CUDAグラフ使用時にCPUが各エキスパートのトークン数を把握できない場合のための設計
- マスクテンソルを入力として提供し、必要な演算のみ実行
- 性能改善幅は 1.1倍〜1.2倍 水準
まだコメントはありません。