kernel-profiler-skill は何をしますか?
CUDA および Triton カーネル向けの Nsight Compute を用いたカーネル専用プロファイリングワークフロー。標準化されたレポート、視覚的分析、ベンダーポータブルなアダプタを提供します。
概要
このスキルは、GPU カーネルのパフォーマンスプロファイリングに特化したワークフローを提供します。対象は CUDA カーネルと Triton カーネルで、NVIDIA Nsight Compute を使用して詳細なプロファイリングデータを取得します。取得したデータは標準化されたレポート形式で出力され、視覚的な分析ツールと組み合わせて活用できます。また、ベンダーポータブルなアダプタを備えており、将来のハードウェア変更にも柔軟に対応可能です。
前提条件
- NVIDIA GPU と最新のドライバ
- NVIDIA Nsight Compute CLI (
ncu) がインストールされていること - Python 3.8 以降
- Triton カーネルをプロファイリングする場合は、Triton がインストールされていること
インストール
git clone https://github.com/ZJtoast/kernel-profiler-skill.git
cd kernel-profiler-skill
pip install -r requirements.txt
使用方法
CUDA カーネルのプロファイリング
python profile_cuda.py --kernel my_kernel.cu --output reports/
Triton カーネルのプロファイリング
python profile_triton.py --kernel my_triton_kernel.py --output reports/
レポートの生成
python generate_report.py --input reports/ --format html
出力形式
reports/: プロファイリング結果が格納されるディレクトリreports/*.json: 構造化データ(機械処理向け)reports/*.csv: 表形式データreports/*.html: 視覚化されたレポート
ベンダーアダプタ
ベンダーポータブルなアダプタを使用することで、将来の GPU アーキテクチャや他ベンダーのハードウェアにも対応できます。アダプタは adapters/ ディレクトリに配置されています。
ライセンス
MIT
## 貢献
プルリクエストは歓迎します。大きな変更を加える場合は、まず issue を開いて議論してください。
## サポート
問題が発生した場合は、GitHub Issues に報告してください。