この記事は、インテル® デベロッパー・ゾーンで公開されている「Roofline Resources for Intel® Advisor Users」の日本語参考訳です。
この記事の PDF 版はこちらからご利用になれます。
インテル® Advisor は、Fortran、C、および C++ ネイティブ/マネージド・アプリケーションが現代のプロセッサーのパフォーマンスを最大限に引き出すことを支援するため、ベクトル化アドバイザー、ルーフライン、スレッド化アドバイザー、オフロード・アドバイザー、フローグラフ・アドバイザーなどの設計ツールを提供します。
ルーフライン解析は、ハードウェアによるパフォーマンスの制限 (ルーフ) に対する実際のパフォーマンスを視覚化します。ボトルネックの場所、パフォーマンス最適化候補のループ、ボトルネックの原因の可能性、次の最適化ステップに関する情報を提供します。
はじめに
以下のリソースは、ルーフラインとその仕組みについて理解するのに役立ちます。
- インテル® Advisor のルーフラインに関するよくある質問 (FAQ) (英語)
- 記事: インテル® Advisor ルーフライン (英語)
- ビデオ: インテル® Advisor のルーフライン機能の概要 (英語)
- ビデオ: インテル® Advisor を使用してアプリケーションのパフォーマンスを読み解く
- 記事: インテル® Advisor のメモリーレベルのルーフライン・モデル
- 記事: インテル® Advisor の統合ルーフライン・モデル
以下のリソースを参照して、インテル® Advisor の強力で柔軟なルーフライン解析を活用してください。
- CPU ルーフラインを使用して、アプリケーションの CPU パフォーマンスのボトルネックを特定
- GPU ルーフラインを使用して、アプリケーションの GPU パフォーマンスのボトルネックを特定
- C++ サンプル・アプリケーションを用いたルーフライン・チュートリアル (英語) に従って、ルーフライン・グラフを利用して最適化を決定
その他のルーフライン機能
インテル® Advisor は、ハードウェアによるパフォーマンスの制限に対する実際のパフォーマンスを可視化して、主な制限要因 (メモリー帯域幅または計算処理能力) を特定するのに役立つ高度なルーフライン機能を提供しており、理想的な最適化ステップを得ることができます。
インテル® Advisor のすべてのルーフライン解析機能の概要が得られるユーザーガイドから開始します。
特定のルーフライン機能の説明は、それぞれのページを参照します。
コールスタックとルーフラインを使用して、アプリケーションに関する合計データメトリックを取得し、呼び出しチェーン全体のループ/関数のソースを調査します。
整数ルーフラインを使用して、整数操作を実行するアプリケーションを解析し、整数操作のスカラーとベクトル計算ピークのルーフを生成します。
メモリーレベルのルーフラインを使用して、アプリケーションとすべてのメモリーレベルの統合されたトラフィック・データを解析します。
ルーフラインの使用例
インテル® Advisor クックブックでは、特定のルーフラインの使用例についてステップごとに説明しています。
- ボトルネックの繰り返しを特定: キャッシュを考慮したルーフライン
- ルーフラインでパフォーマンス改善を視覚化
- GPU ルーフラインを利用して、GPU にオフロードするコード領域を特定して GPU の使用状況を可視化 (ベータ)
- CPU ルーフラインを利用して、ループ交換とキャッシュ・ブロッキングによりメモリー・アクセス・パターンを最適化
法務上の注意書き
インテル® テクノロジーの機能と利点はシステム構成によって異なり、対応するハードウェアやソフトウェア、またはサービスの有効化が必要となる場合があります。
絶対的なセキュリティーを提供できる製品またはコンポーネントはありません。
実際の費用と結果は異なる場合があります。
本資料は、(明示されているか否かにかかわらず、また禁反言によるとよらずにかかわらず) いかなる知的財産権のライセンスも許諾するものではありません。
本資料で説明されている製品には、エラッタと呼ばれる設計上の不具合が含まれている可能性があり、公表されている仕様とは異なる動作をする場合があります。現在確認済みのエラッタについては、インテルまでお問い合わせください。
インテルは、明示されているか否かにかかわらず、いかなる保証もいたしません。ここにいう保証には、商品適格性、特定目的への適合性、および非侵害性の黙示の保証、ならびに履行の過程、取引の過程、または取引での使用から生じるあらゆる保証を含みますが、これらに限定されるわけではありません。
© Intel Corporation. Intel、インテル、Intel ロゴは、アメリカ合衆国および / またはその他の国における Intel Corporation またはその子会社の商標です。
* その他の社名、製品名などは、一般に各社の表示、商標または登録商標です。
製品とパフォーマンス情報
1 インテル® コンパイラーでは、インテル® マイクロプロセッサーに限定されない最適化に関して、他社製マイクロプロセッサー用に同等の最適化を行えないことがあります。これには、インテル® ストリーミング SIMD 拡張命令 2、インテル® ストリーミング SIMD 拡張命令 3、インテル® ストリーミング SIMD 拡張命令 3 補足命令などの最適化が該当します。インテルは、他社製マイクロプロセッサーに関して、いかなる最適化の利用、機能、または効果も保証いたしません。本製品のマイクロプロセッサー依存の最適化は、インテル® マイクロプロセッサーでの使用を前提としています。インテル® マイクロアーキテクチャーに限定されない最適化のなかにも、インテル® マイクロプロセッサー用のものがあります。この注意事項で言及した命令セットの詳細については、該当する製品のユーザー・リファレンス・ガイドを参照してください。
注意事項の改訂 #20110804