# メガカーネル
Navigation: [[concepts/_index]] | [[index]]
## 定義
複数のカーネル呼び出し(計算・通信・同期を別々の CUDA カーネル起動に分割する従来の設計)を、単一の永続的な GPU カーネルへ融合する設計手法。カーネル起動オーバーヘッドと、カーネル境界をまたぐ CPU-GPU 同期を削減することを目的とする。[[Mixture-of-Kittens]] は MoE 層の通信と計算のすべてを単一カーネルに融合し、SM(ストリーミングマルチプロセッサ)間のオーバーラップを実現する実装として、この手法を採用する。(Source: [[@2026__Cursor__Mixture-of-Kittens - our open-source MoE megakernel for NVL72s]])
## 横断的知見
- (今後の ingest で複数ソースの突き合わせが得られ次第、追記する。)
## 未解決の問い
- メガカーネル設計は [[ThunderKittens]] のようなカーネルフレームワークが提供する抽象化とどう関係するか。[[Mixture-of-Kittens]] はコード共有関係を持つのか、独立実装なのか。
- カーネル起動オーバーヘッド削減とデバッグ・保守性のトレードオフは、通常のマルチカーネル設計と比べてどの程度深刻か。
- メガカーネル設計は MoE 以外のワークロード(dense Transformer の順伝播/逆伝播など)にどこまで一般化するか。
## 関連
- [[Mixture-of-Kittens]] — GB300 NVL72 向け MoE 訓練メガカーネルの実装例
- [[ThunderKittens]] — Stanford Hazy Research の GPU カーネルフレームワーク(技術的系譜が疑われるが未確認)
- [[Mixture-of-Experts]]
- [[集合通信]]
## 出典
- [[@2026__Cursor__Mixture-of-Kittens - our open-source MoE megakernel for NVL72s]]