Repolode
OpenBMB

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. 1

    リポジトリをクローンする

  2. 2

    仮想環境を作成してForgeKernelをインストールする

    python3 -m venv .venv && source .venv/bin/activate && pip install -e .
  3. 3

    推奨されているCuTe DSLパッケージをインストールする

    pip install nvidia-cutlass-dsl
  4. 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です。

収録されている特集

トピック

#gpu#cuda#cute-dsl#kernel-optimization#ai-agent#llm#hpc

よくある質問

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 の数値は毎日更新されます。

関連プロジェクト

HGEMM、FP8/FP4 GEMM、Flash-Attentionを網羅する200以上のカーネルを収録した、最新のCUDA学習ノートとコードのオープンソース書籍。

学習リソース#cuda#gpu#tensor-cores
1.2万+17 今週1275CudaGPL-3.0更新 19 時間前

HPCやAIのワークロード向けに、CPU、GPU、ハードウェアアクセラレータ間でallreduceやbroadcastなどを実行する、統合的な集合通信ライブラリおよびAPIです。

バックエンド・API#collectives#hpc#mpi
322+1 今週132CBSD-3-Clause活発にメンテナンス更新 昨日