Repolode
RightNow-AI

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

    uvをインストールします(またはREADMEに記載されているuvの公式インストール手順に従います)

  2. 2

    リポジトリをクローンします

    git clone https://github.com/RightNow-AI/autokernel.git
  3. 3

    クローンしたフォルダー内で依存関係をインストールします

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

関連プロジェクト

採用したカーネルを次世代の参照カーネルへ昇格させながら、CUDAとCuTe DSLのカーネルを最適化する自己進化型GPUカーネルエージェント。

AI・機械学習#gpu#cuda#cute-dsl
284+173 今週39PythonApache-2.0更新 3 日前