RightNow-AI/autokernel
PyTorchモデルをプロファイリングし、ボトルネックとなるGPUカーネルをTritonまたはCUDA C++で最適化する自律型エージェントパイプライン。
- スター
- 1,619
- フォーク
- 164
- 未解決の Issue
- 16
- 最終コミット
- 3 日前
これは何?
AutoKernelは任意のPyTorchモデルを受け取り、torch.profilerでプロファイリングしてGPU時間順にカーネルをランク付けし、上位のボトルネックを単体で動作するTritonまたはCUDA C++のカーネルとして抽出します。次にコーディングエージェントがカーネルファイルを1つずつ編集し、正当性を5段階で確認する固定ベンチマークとroofline分析を実行して、変更を採用するか元に戻します。オーケストレーターはアムダールの法則に基づき、次のカーネルに移るタイミングを判断します。
このプロジェクトはNVIDIA GPUを対象としており、matmul、softmax、layernorm、rmsnorm、flash attention、fused MLP、cross entropy、rotary embeddings、reduceのスターターカーネルを備えています。また、GPT-2、LLaMA、BERTの自己完結型モデル定義と、KernelBenchベンチマークの問題を反復的に最適化するための統合機能も含まれます。結果はTSVファイルに記録され、最適化したカーネルはHuggingFace Hubにエクスポートできます。
主な機能
- 01任意のPyTorchモデルをプロファイリングしてGPU時間順にカーネルをランク付けし、計算律速かメモリ律速かを分類します。
- 02--backendフラグを使って、ボトルネックとなるカーネルをTritonまたはCUDA C++のファイルとして抽出します。
- 03性能を測定する前に、複数段階の正当性チェックを含む固定ベンチマークを実行します。
- 04アムダールの法則を使ってエンドツーエンドの影響を推定し、カーネル最適化の順序を決めます。
- 05最適化したカーネルをモデル全体で検証し、合計の高速化率を報告します。
- 06KernelBenchと連携し、カーネルをHuggingFace Hubにエクスポートします。
ユースケース
- カスタムPyTorchモデルの遅いGPU処理を一晩かけて最適化し、推論や学習を高速化する。
- 範囲が明確なGPU性能改善タスクで、自律型コーディングエージェントを試す。
- KernelBenchの問題を使い、AIが生成したカーネルをPyTorchの参照実装と比較してベンチマークする。
- 手作業でチューニングしたTritonまたはCUDAカーネルを生成し、HuggingFaceのカーネルパッケージとして共有する。
クイックスタート
- 1
uvをインストールします(またはREADMEに記載されているuvの公式インストール手順に従います)
- 2
リポジトリをクローンします
git clone https://github.com/RightNow-AI/autokernel.git - 3
クローンしたフォルダー内で依存関係をインストールします
uv sync - 4
テストデータとベースラインを一度だけセットアップし、ベンチマークを検証します
uv run prepare.py
使う前に知っておきたいこと
- NVIDIA GPUが必要です。READMEによると、テスト済みのGPUはH100、A100、RTX 4090のみです。
- Python 3.10以降とuvが必要です。
- 最適化エージェントの実行には、ClaudeやCodexなどの別のコーディングエージェントが必要です。
収録されている特集
トピック
よくある質問
- autokernel とは?
- PyTorchモデルをプロファイリングし、ボトルネックとなるGPUカーネルをTritonまたはCUDA C++で最適化する自律型エージェントパイプライン。 AutoKernelは任意のPyTorchモデルを受け取り、torch.profilerでプロファイリングしてGPU時間順にカーネルをランク付けし、上位のボトルネックを単体で動作するTritonまたはCUDA C++のカーネルとして抽出します。次にコーディングエージェントがカーネルファイルを1つずつ編集し、正当性を5段階で確認する固定ベンチマークとroofline分析を実行して、変更を採用するか元に戻します。オーケストレーターはアムダールの法則に基づき、次のカーネルに移るタイミングを判断します。
- autokernel は無料で使えますか?ライセンスは?
- autokernel は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- autokernel は今もメンテナンスされていますか?
- 活発にメンテナンス中。autokernel の最終コミットは 2026年11月5日 です。
- autokernel は何に使えますか?
- カスタムPyTorchモデルの遅いGPU処理を一晩かけて最適化し、推論や学習を高速化する。 範囲が明確なGPU性能改善タスクで、自律型コーディングエージェントを試す。 KernelBenchの問題を使い、AIが生成したカーネルをPyTorchの参照実装と比較してベンチマークする。 手作業でチューニングしたTritonまたはCUDAカーネルを生成し、HuggingFaceのカーネルパッケージとして共有する。
- autokernel のインストール方法は?
- uvをインストールします(またはREADMEに記載されているuvの公式インストール手順に従います) リポジトリをクローンします: git clone https://github.com/RightNow-AI/autokernel.git クローンしたフォルダー内で依存関係をインストールします: uv sync テストデータとベースラインを一度だけセットアップし、ベンチマークを検証します: uv run prepare.py
- autokernel はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/RightNow-AI/autokernel
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
GPU上でTransformerモデルを学習・推論するための、メモリ効率に優れた厳密なattentionカーネルFlashAttentionの公式実装。
NVIDIAが提供するPyTorch拡張。混合精度・分散学習用ユーティリティを備え、CUDAおよびC++の融合カーネルも利用できます。
深層ニューラルネットワークをfp16のCUDA/HIP C++コードにコンパイルし、NVIDIAおよびAMD GPUでの高速推論を実現するPythonフレームワーク。
Karpathyのautoresearchに着想を得た、目標駆動型の変更・検証・採用/破棄ループを実行するClaude Code、OpenCode、Codex向けスキル。