OpenBMB/ForgeKernel
採用したカーネルを次世代の参照カーネルへ昇格させながら、CUDAとCuTe DSLのカーネルを最適化する自己進化型GPUカーネルエージェント。
- スター
- 284
- フォーク
- 39
- 未解決の Issue
- 1
- 最終コミット
- 3 日前
これは何?
ForgeKernelは既存のGPU参照カーネルを起点に、対象ハードウェアで実行時間とプロファイルを測定し、コーディングエージェントが実装するアーキテクチャ優先のマイルストーン計画を作成します。採用されたカーネルは次世代の参照カーネルとなるため、既知の最良実装を超えて最適化を続けられます。GPUプローブで検証されたハードウェア機構は、GPUアーキテクチャ別のナレッジベースに保存され、複数の演算子で再利用されます。
NVIDIA Hopper(sm90)とBlackwell(sm100)GPUを対象とし、CuTe DSLとCUDA C++のタスクに対応します。タスクは演算子の説明、シェイプのセット、task.tomlファイルで定義し、forge CLIを使ってローカルまたはSSH経由で最適化ループを実行できます。実行結果としてレポートと最良のカーネルソースが生成されます。また、自己進化スクリプトを使うと、性能向上が測定ノイズの範囲に収まるまで世代を重ねられます。
リポジトリでは、attention、sparse attention、linear attention、GEMM、畳み込み演算子向けにプロジェクトが生成したカーネルも公開しています。あわせて、それぞれの高速化率と測定環境も掲載されています。
主な機能
- 01参照カーネルを、コーディングエージェント向けのアーキテクチャ優先のマイルストーン計画に変換します。
- 02採用されたカーネルを次世代の参照カーネルへ昇格させ、世代を自動的につなぎます。
- 03正しさを検証し、候補カーネルの実行時間を参照カーネルと比較して、Nsight Computeでプロファイルします。
- 04GPUプローブで検証されたハードウェア機構を、アーキテクチャ別のナレッジベースに保存します。
- 05CuTe DSLとCUDA C++のタスクを対象に、ローカルおよびSSH経由でのGPU実行に対応します。
ユースケース
- HopperまたはBlackwell GPUでPyTorchの演算子やカスタムカーネルを最適化する。
- 長時間のカーネルチューニングを無人で実行し、生成されたレポートを確認する。
- プロジェクトで公開されているattention、GEMM、畳み込みカーネルを調べる。
クイックスタート
- 1
リポジトリをクローンする
- 2
仮想環境を作成してForgeKernelをインストールする
python3 -m venv .venv && source .venv/bin/activate && pip install -e . - 3
推奨されているCuTe DSLパッケージをインストールする
pip install nvidia-cutlass-dsl - 4
インストール済みのバージョンを確認する
forge --version
使う前に知っておきたいこと
- NVIDIA Hopper(sm90)またはBlackwell(sm100)GPUが必要です。
- ログイン済みのClaude Code CLI、またはANTHROPIC_API_KEYが必要です。
- 1回の実行に数時間かかります。B200で実行した例では、約1.5時間後に5.2倍に達しました。
- まだ初期段階のプロジェクトで、スターは8個、バージョンは0.1.0です。
収録されている特集
トピック
よくある質問
- ForgeKernel とは?
- 採用したカーネルを次世代の参照カーネルへ昇格させながら、CUDAとCuTe DSLのカーネルを最適化する自己進化型GPUカーネルエージェント。 ForgeKernelは既存のGPU参照カーネルを起点に、対象ハードウェアで実行時間とプロファイルを測定し、コーディングエージェントが実装するアーキテクチャ優先のマイルストーン計画を作成します。採用されたカーネルは次世代の参照カーネルとなるため、既知の最良実装を超えて最適化を続けられます。GPUプローブで検証されたハードウェア機構は、GPUアーキテクチャ別のナレッジベースに保存され、複数の演算子で再利用されます。
- ForgeKernel は無料で使えますか?ライセンスは?
- ForgeKernel は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- ForgeKernel は今もメンテナンスされていますか?
- 活発にメンテナンス中。ForgeKernel の最終コミットは 2026年11月4日 です。
- ForgeKernel は何に使えますか?
- HopperまたはBlackwell GPUでPyTorchの演算子やカスタムカーネルを最適化する。 長時間のカーネルチューニングを無人で実行し、生成されたレポートを確認する。 プロジェクトで公開されているattention、GEMM、畳み込みカーネルを調べる。
- ForgeKernel のインストール方法は?
- リポジトリをクローンする 仮想環境を作成してForgeKernelをインストールする: python3 -m venv .venv && source .venv/bin/activate && pip install -e . 推奨されているCuTe DSLパッケージをインストールする: pip install nvidia-cutlass-dsl インストール済みのバージョンを確認する: forge --version
- ForgeKernel はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/OpenBMB/ForgeKernel
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
NCCLは、単一ノードおよびマルチノードの学習向けに、all-reduceやall-gatherなどの最適化されたGPU通信プリミティブを提供するNVIDIAのライブラリです。
NVIDIA GPUまたはマルチスレッドCPUで実行でき、カーネル融合にも対応した、NumPy風テンソル式のためのC++20ヘッダーオンリーライブラリ。
HGEMM、FP8/FP4 GEMM、Flash-Attentionを網羅する200以上のカーネルを収録した、最新のCUDA学習ノートとコードのオープンソース書籍。
HPCやAIのワークロード向けに、CPU、GPU、ハードウェアアクセラレータ間でallreduceやbroadcastなどを実行する、統合的な集合通信ライブラリおよびAPIです。