LeetCUDAは、CUDAを「理論だけ」で終わらせず、実装と性能確認まで一気に踏み込める学習リポジトリです。単なるチュートリアル集ではなく、PyTorchと組み合わせた200超のCUDAカーネル、100本超のLLM/CUDA系ブログ、HGEMMやFlashAttention-MMAの実装までまとまっています。GPU最適化を学ぶ人にとって、抽象論を具体コードに落とす足場になります。

https://github.com/xlite-dev/LeetCUDA

何が助かるのか

CUDA学習で最初につまずくのは、概念は理解できても「結局どこをどう書けば速くなるのか」が見えない点です。LeetCUDAはこの穴を埋めます。カーネル実装、テンソルコア、メモリアクセス、タイル分割、Multi-Stage化など、性能に効く要素がまとまっているためです。学んだ内容がそのままGPU最適化の判断材料になります。

特に価値があるのは、HGEMMとFlashAttentionのような中核テーマを、仕組みの説明だけでなく手書き実装の形で追えることです。高性能計算では、理論を読んだだけでは身につきません。データ移動、Shared Memory、Warp単位の協調、Tensor Coresの使い方まで触って初めて理解が固まります。LeetCUDAはその反復をしやすい構成です。

主要な見どころ

LeetCUDAの中心は、Tensor/CUDA Cores、TF32/F16/BF16/F8、200超のCUDA Kernelsです。ここで重要なのは、題材が広いだけでなく、難易度の幅もある点です。簡単なものから、TritonやCUTLASSを意識した高度なものまで並んでいるので、入門後の伸びしろを作りやすいです。

HGEMMは見逃せません。READMEでは、WMMA、MMA、CuTeを使った実装が、cuBLASのデフォルトTensor Coreアルゴリズムに対して98〜100%の性能に近づくと示されています。もちろん、実運用では条件が変わります。ただ、ここで重要なのは「既存ライブラリに近いところまで自力で迫れる」構成を学べることです。性能最適化の勘所が見えます。

FlashAttention-MMAも実務寄りです。単にFlashAttentionを使う話ではなく、Q/K/Vの分割やShared KV、Multi-Stage化、Collective Storeなどの設計要素を追えます。大規模モデルの推論最適化では、注意機構がボトルネックになりやすいです。ここを理解しておくと、推論基盤の会話に参加しやすくなります。

どう使うとよいか

最短ルートは、PyTorchの延長として読むことです。いきなり全てのカーネルを理解しようとすると重いので、まずは1つの演算を選び、Python側の呼び出し、CUDA実装、メモリアクセス、計測の流れを追います。その後に、類似カーネルへ横展開します。これで知識が点ではなく線になります。

次に、HGEMMかFlashAttentionのどちらかを軸にします。GEMMは行列演算の基本で、テンソルコアの理解に直結します。AttentionはLLM推論の中心で、実務との距離が近いです。両方を並行すると広いが浅い理解になりやすいので、先に片方を固めるほうが効率的です。

向いている人

LeetCUDAは、CUDA入門者だけの教材ではありません。モデル推論の高速化を扱う人、GPUカーネルの読み書きを身につけたい人、面接で算子最適化や推論最適化を問われる人にも向いています。特に、プロダクト開発で「なぜこの構成が速いのか」を説明したい人には有効です。

逆に、すぐ使える完成品を求める人には向きません。このリポジトリの価値は、完成品の提供よりも、実装を通じてGPU最適化の判断力を鍛える点にあります。学習コストは高いですが、そのぶん応用範囲が広いです。

まとめ

LeetCUDAは、CUDA学習を「読むだけ」から「実装して性能を見る」段階へ押し上げる教材です。200超のカーネル、HGEMM、FlashAttention-MMAという材料が揃っているので、GPU最適化の入口から実戦の手前までを1本で追えます。高性能計算を避けずに理解したいなら、まず触る価値があります。