deepseek-ai/DeepGEMM
DeepGEMM: clean and efficient BLAS kernel library on GPU
解決する課題
DeepGEMMは、現代の大規模言語モデル(LLM)のコア計算プリミティブを最適化するために設計された、高パフォーマンスなCUDAカーネルライブラリです。効率的な行列乗算(GEMM)と混合エキスパート(MoE)演算のニーズに対応し、専門家が調整したライブラリに匹敵または凌駕するパフォーマンスを提供しつつ、GPUカーネル最適化を学習するためのシンプルでアクセスしやすい設計を維持しています。
仕組み
このライブラリは、FP8、FP4、BF16精度をサポートする様々なテンソルコアカーネルに対して統一されたコードベースを提供します。DeepJITと呼ばれるシステムを使用して実行時にカーネルをコンパイルするため、インストール時にCUDAコンパイルを行う必要がありません。主な機能は以下の通りです:
- 多様なGEMMサポート:LLMの各フェーズ(トレーニング、プリフィル、デコード)に合わせて調整された、非グループ化、連続グループ化、マスクグループ化GEMMを実装しています。
- Mega MoE:NVLink通信とテンソルコア計算をオーバーラップさせる融合型メガカーネルで、EPディスパッチ、線形層、SwiGLU、EP結合を1つの演算に統合します。
- MQA Kernels:DeepSeek v3.2で使用されるlightning indexer向けの専用スコアリングカーネルです。
- ハードウェア最適化:NVIDIA SM90およびSM100アーキテクチャ向けに特別に最適化されています。
対象ユーザー
DeepGEMMは、LLMの推論およびトレーニングインフラストラクチャに取り組む開発者や研究者、特にNVIDIA H800や同等のハイエンドGPU(SM90/SM100)を使用し、最大限のスループットと低遅延のMoE演算を必要とするユーザーを対象としています。
ハイライト
- 極限のパフォーマンス:H800 GPUで最大1550 TFLOPSを達成。
- 実行時コンパイル:DeepJITを使用してオンザフライでカーネルをコンパイルし、インストールを簡素化。
- 融合型MoE:Mega MoEカーネルにより、通信と計算をオーバーラップさせることでオーバーヘッドを大幅に削減。
- 幅広い精度サポート:FP8、FP4、BF16フォーマットをサポート。
- シンプルな設計:複雑なCUTLASSテンプレートへの過度な依存を避け、コードベースをクリーンで学習しやすくしています。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト