huawei-cloud-ascend-op-mfu-calculator について
Huawei Cloud Ascend NPU上の演算子について、機械演算性能利用率(MFU)を計算するスキルです。演算子のパラメーターからFLOPs、実効TFLOPs/s、MFUを算出し、プロファイルデータからボトルネックと最適化案を分析します。
主な機能
- 01演算子のFLOPs計算
- 02実効TFLOPs/sの計算
- 03ピーク性能に基づくMFU計算
- 04プロファイルデータによるボトルネック診断
- 05計算・メモリボトルネックの分類
- 06優先順位付き最適化案
活用シーン
- 01Ascend NPU演算子の利用率測定
- 02演算子実装の比較
- 03性能ボトルネックの診断
- 04最適化機会の特定
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ huaweicloud/ huaweicloud-skills --skill huawei-cloud-ascend-op-mfu-calculatorインストール後、Claude Code で/huawei-cloud-ascend-op-mfu-calculatorを入力して読み込まれたか確認します。
同梱ファイルreferences/mfu-calculation-methodology.mdreferences/verification-method.md
詳細
Huawei Cloud Ascend Operator MFU Calculator
概要
このスキルは、Ascend NPU 上の matmul/GEMM/FlashAttention などの演算子の MFU(Machine FLOP Utilization)を計算し、明確な数式と導出手順を提供します。
アーキテクチャ: 入力検証 → FLOPs 計算 → 実効 TFLOPs/s → MFU 計算 → 結果分析
関連スキル:
huawei-cloud-ascend-profiler-db-explorer- 演算子のパフォーマンスデータのプロファイリング分析
前提条件
- Python 3.8+ がインストールされていること
- FLOPs 計算の基本概念を理解していること
使用シナリオ
典型的な問題のシナリオ:
- 演算子が Ascend NPU の計算能力をどの程度活用しているかを評価する
- 異なる演算子実装のパフォーマンスを比較する
- 行列演算の最適化の機会を特定する
典型的なユーザーの発話:
- 「自分の GEMM 演算子の MFU を計算してください」
- 「FlashAttention の Machine FLOP Utilization はどれくらいですか?」
- 「自分の matmul 演算子のパフォーマンス効率を分析してください」
ワークフロー
- 入力の収集: 演算子のパラメーター(行列の次元、データ型、実行時間)を収集します
- FLOPs の計算: 演算の理論 FLOPs を計算します
- 実効パフォーマンス: 実行時間から実効 TFLOPs/s を計算します
- MFU の計算: MFU = 実効 FLOPs / ピーク FLOPs の式を適用します
- 結果分析: 結果の解釈と最適化の提案を提示します
MFU の計算式
MFU = (実効 FLOPs / ピーク FLOPs) × 100%
各値の意味:
- 実効 FLOPs = 演算の FLOPs / 実行時間
- ピーク FLOPs = ハードウェア固有のピーク性能(例: Ascend 910B: FP16 で 256 TFLOPs)
参考ドキュメント
| ドキュメント | 説明 |
|---|---|
| Ascend 910B Series Technical Specifications | Ascend 910B シリーズの公式製品仕様 |
| MFU Calculation Methodology | MFU の計算式と例の詳細 |
| FlashAttention Technical Paper | FlashAttention の原著論文 |
拡張機能
インテリジェントなボトルネック診断
- AI を活用したボトルネック診断により、プロファイリングデータを分析し、根本原因を自動で特定します
- ボトルネックをメモリ律速、計算律速、通信律速、演算子フォールバックに分類します
- 優先順位を付けた、実行可能な最適化案を提示します
- 既知のパフォーマンス上のアンチパターンに対するパターンマッチングを含みます
パラメーターの確認
| パラメーター | 説明 | 必須 |
|---|---|---|
| operator | 演算子の種類(matmul/flash_attention/gemm など) | はい |
| flops | 演算子の理論 FLOPs | はい |
| time_ms | 演算子の実行時間(ミリ秒) | はい |
| peak_tflops | ハードウェアのピーク演算性能(TFLOPS) | はい |
| device | NPU デバイスの種類(910B/910 など) | いいえ |
コメント
Markdown 対応