インテル® Advisor チュートリアル: 自動ルーフライン・グラフを使用して最適化の方針を決定

インテル® Advisor

この記事は、インテル® デベロッパー・ゾーンに公開されている「Intel® Advisor Tutorial: Use the Automated Roofline Chart to Make Optimization Decisions」の日本語参考訳です。


バージョン: 2021.1 (更新日: 12/04/2020)

この記事の PDF 版はこちらからご利用になれます。

内容

このチュートリアルでは、C++ サンプル・アプリケーションを使用して、インテル® Advisor の自動ルーフライン・グラフでハードウェアによって課せられるパフォーマンスの上限と実際のパフォーマンスを視覚化し、制限の主な要因 (メモリー帯域幅や計算能力) を検証して、理想的な最適化ステップを得る方法を示します。

インテル® Advisor は、Fortran、C、C++ ネイティブ/マネージド・アプリケーションが、最新のプロセッサーでパフォーマンスを最大限に発揮できるよう支援するツールを提供します (ツールの一覧は「リリースノート」 (英語) を参照)。

  • ベクトル化アドバイザーは、影響の大きい最適化されていないループを特定し、ベクトル化を妨げている要因と安全にベクトル化を強制できる領域を理解するのに役立つベクトル化の最適化ツールです。また、問題を解決するため、コード別の推奨事項も提供します。
  • ルーフライン解析は、ハードウェアによって課されるパフォーマンスの制限 (ルーフ) と実際のパフォーマンスを視覚化します。ボトルネックの場所、パフォーマンス最適化候補のループ、ボトルネックの原因の可能性、次の最適化ステップに関する情報を提供します。
  • スレッド化アドバイザーは、通常の開発作業を中断することなく、スレッド化設計の選択肢を素早く解析、設計、チューニング、確認できるスレッド化設計/プロトタイピング・ツールです。
  • オフロード・アドバイザーは、GPU オフロードに最適な候補と適していない領域を特定するのに役立つモデル化ツールです。
  • フローグラフ・アナライザーは、インテル® oneAPI スレッディング・ビルディング・ブロック (インテル® oneTBB) のフローグラフ・インターフェイスを使用するアプリケーションのパフォーマンスを表現して解析するビジュアル・プロトタイプ作成ツールです。

重要
このドキュメントは、インテル® Advisor 2020 製品リリースで更新されました。新しいバージョンのインテル® Advisor では、ワークフロー名、解析タイプ名、ユーザー・インターフェイスが異なる場合があります。

チュートリアルの概要 このチュートリアルでは、以下のトピックついて説明します。
  • ルーフライン解析の実行方法
  • 最も興味のあるルーフライン・グラフのデータに注目する方法
  • ルーフライン・グラフのデータの解釈方法
  • ルーフライン・グラフのデータを基に最適化の方針を決定する方法


これは、ベクトル化アドバイザーの上級者向けチュートリアルです。クイックスタートや基本操作の情報を含むベクトル化アドバイザーの初級者向けチュートリアルは、「インテル® Advisor チュートリアル: ベクトル化アドバイザーを使用して C++ コードに効率良い SIMD 並列処理を追加」 (https://software.intel.com/content/www/us/en/develop/documentation/advisor-user-guide/top/introduction/tutorials.html) を参照してください。

所要時間 20 分
目的 このチュートリアルでは、以下のトピックについて説明します。
  • 最も正確で完全なベクトル化アナライザーの解析結果を得られるコンパイラー/リンカーオプションの特定
  • ルーフライン解析の実行
  • ルーフライン・グラフの表示/非表示
  • ルーフライン・グラフの各種コントロール
  • ルーフライン・グラフを使用した最適化に最も適したループの特定
  • インテル® Advisor のスナップショットの読み込み
関連情報 「インテル® Advisor 2017 のルーフライン解析」 (https://software.intel.com/content/www/us/en/develop/videos/roofline-analysis-in-intel-advisor-2017.html) は、このチュートリアルの内容を、より概念的に詳しく説明したビデオです。

このチュートリアルの概念と手順は、プログラミング言語に関係なく適用されますが、インテル® ソフトウェア・ドキュメント・ライブラリーには、別のプログラミング言語のサンプル・アプリケーションを使用したチュートリアルも用意されています。このサイトには、ほかのインテル製品のチュートリアルもあります。

さらに、以下のサイトから追加のリソースを利用できます。


製品および性能に関する情報

1 性能は、使用状況、構成、その他の要因によって異なります。詳細については、www.Intel.com/PerformanceIndex/ (英語) を参照してください。

タイトルとURLをコピーしました