この記事は、インテル® デベロッパー・ゾーンに公開されている「Intel® Advisor Tutorial: Use the Automated Roofline Chart to Make Optimization Decisions」の「Roofline Use Case」の日本語参考訳です。
バージョン: 2021.1 (更新日: 12/04/2020)
このトピックは、自動ルーフライン・グラフを使用して、優先度の高い最適化を決定する方法を紹介するチュートリアルの一部です。
ルーフライン解析は、マシンの達成可能な最大パフォーマンスに対して、アプリケーションの実際のパフォーマンスと演算強度を視覚的に示すオプションの解析です。
ルーフライン・グラフは、次の質問に対する答えを提供します。
- 現在のハードウェア・リソースで達成可能な最大パフォーマンスは?
- アプリケーションは現在のハードウェア・リソースで最適に動作するか?
- そうでない場合、最適化の最良の候補は?
- メモリー帯域幅や計算能力が各最適化候補のパフォーマンスを制限しているか?
ルーフライン解析はキャッシュを意識しており、DDR メモリーのトラフィックだけでなく、すべてのメモリー・サブシステムのトラフィックを計測します。シングルスレッド・コードとマルチスレッド・コードの両方に対応しています。
ベクトル化アドバイザーと C++ サンプル・アプリケーション (roofline_demo_samples) を使用して、以下の操作を行います。
- ルーフライン解析を実行します。
- 最も興味のあるルーフライン・グラフのデータに注目します。
- ルーフライン・グラフのデータを解釈します。
- ルーフライン・グラフのデータを基に最適化の方針を決定します。
ステップ | 説明 |
---|---|
ステップ 1: チュートリアルの準備 | 次のいずれかの操作を行います。
|
ステップ 2: ルーフライン解析の実行 |
|
ステップ 3: メモリー帯域幅のボトルネックへの対応 |
|
ステップ 4: 計算能力のボトルネックへの対応 |
|
ステップ 5: 実際のボトルネックの特定 |
|
製品および性能に関する情報
1 性能は、使用状況、構成、その他の要因によって異なります。詳細については、www.Intel.com/PerformanceIndex/ (英語) を参照してください。