GPU上でTransformerモデルを学習・推論するための、メモリ効率に優れた厳密なattentionカーネルFlashAttentionの公式実装。
BBuf/how-to-optim-algorithm-in-cuda
手書きCUDAカーネル、CUTLASS/CuTe、Tritonのサンプル、LLM最適化に関する個人用の学習・開発ノート。
- スター
- 3,324
- フォーク
- 297
- 未解決の Issue
- 8
- 最終コミット
- 10 日前
これは何?
CUDAカーネルの実装とGPU最適化に関するノートを集めたリポジトリです。cuda-kernelsディレクトリには、reduce、softmax、要素単位の演算、GEMV、インデックス処理、atomic add、アップサンプリング、linear attentionなど、一般的な処理を手書きで実装したカーネルがまとめられています。
カーネルそのものに加え、CUTLASSとCuTe(GEMM、TMA、WGMMA、swizzling)、PyTorch連携を含むTritonカーネル、PTX ISAの学習ノート、CUDAに関連するPyTorchの内部実装についての資料も収録しています。CUDA-MODEの講義シリーズ、LLMのサービングと学習の最適化、GPUアーキテクチャに関する論文の要約も含まれています。
作者が学習・開発ノートとして管理しているリポジトリです。一部の古い資料は中国語で書かれており、現在、英語の導入ページへの置き換えが段階的に進められています。
主な機能
- 01reduce、softmax、GEMVなど、一般的な処理を実装した手書きCUDAカーネル。
- 02GEMM、TMA、WGMMA、swizzlingを扱うCUTLASSとCuTeのノート。
- 03PyTorch連携を含むTritonカーネルのサンプル。
- 04PTX ISAの学習ノートとPyTorchのCUDA内部実装。
- 05LLMの推論・学習の最適化に関するノート。
ユースケース
- 一般的なGPU演算がCUDAでどのように段階的に実装されるかを学ぶ。
- 高性能なGEMM処理に向けて、CUTLASS/CuTeとTritonを学ぶ。
- GPUカーネルをチューニングする際に、PTXレベルの詳細を確認する。
- LLM推論の最適化に関する背景知識を調べる。
使う前に知っておきたいこと
- ライセンスが明記されていないため、再利用の権利が不明確です。
- 古いメモの大半は中国語で、現在統合中のため、一部の内容が不完全または一貫していない可能性があります。
トピック
よくある質問
- how-to-optim-algorithm-in-cuda とは?
- 手書きCUDAカーネル、CUTLASS/CuTe、Tritonのサンプル、LLM最適化に関する個人用の学習・開発ノート。 CUDAカーネルの実装とGPU最適化に関するノートを集めたリポジトリです。cuda-kernelsディレクトリには、reduce、softmax、要素単位の演算、GEMV、インデックス処理、atomic add、アップサンプリング、linear attentionなど、一般的な処理を手書きで実装したカーネルがまとめられています。
- how-to-optim-algorithm-in-cuda は無料で使えますか?ライセンスは?
- how-to-optim-algorithm-in-cuda にはライセンスが明記されていません。コードは公開されていますが、ライセンスがない場合は再利用の許諾がないため、利用前に作者に確認することをおすすめします。
- how-to-optim-algorithm-in-cuda は今もメンテナンスされていますか?
- 活発にメンテナンス中。how-to-optim-algorithm-in-cuda の最終コミットは 2026年10月11日 です。
- how-to-optim-algorithm-in-cuda は何に使えますか?
- 一般的なGPU演算がCUDAでどのように段階的に実装されるかを学ぶ。 高性能なGEMM処理に向けて、CUTLASS/CuTeとTritonを学ぶ。 GPUカーネルをチューニングする際に、PTXレベルの詳細を確認する。 LLM推論の最適化に関する背景知識を調べる。
- how-to-optim-algorithm-in-cuda はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/BBuf/how-to-optim-algorithm-in-cuda
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
OpenAI互換APIで大規模言語モデルを実行・提供する、高速でメモリ効率に優れたライブラリ兼サーバー。
大規模モデルの分散学習と推論を、より簡単かつ効率的にする深層学習最適化ライブラリ。
大規模AIモデル向けのPyTorchベースの分散学習・推論システムで、並列化、メモリ最適化、異種ハードウェアでの学習を実現します。
量子化なしで、レイヤー単位に大規模言語モデルを実行し、70Bクラスのモデルを4GB GPU 1枚で推論できるPythonライブラリ。
SGLangは、多様なGPU、TPU、CPU環境で大規模言語モデル、ビジョン言語モデル、拡散モデルを提供するオープンソース推論フレームワークです。