インテル® Advisor はスレッド化の結果を検証するいくつかの方法を提供しています。
コマンドラインからスレッド化のパースペクティブを実行すると、CLI で収集された結果を出力し、.txt、.csv、または.xml に保存できます。
例えば、OpenMP* スレッド化モデルのスータビリティー・レポートを生成するには、つぎのコマンドを実行します。
advisor --report=suitability --project-dir=./advi_results --threading-model=openmp次のような結果が得られるはずです。
Target CPU Count: 8 Threading Model: OpenMP* Maximum gain for all sites: 6.10998 All Sites Site Label Source Location Impact to Total Serial Time Total Parallel Time Site Gain Average Serial Time ...Program Gain ..._____________________________________________________________________________________________________________________________... solve nqueens_serial.cpp:154 6.11x 4.080s 0.631s 6.47x 4.080s ...Site Details Annotation Annotation Label Source Location Number of Instances Maximum Instance Average Serial ...Time Time ..._____________________________________________________________________________________________________________________________...Selected Site solve nqueens_serial.cpp:154 1 4.080s 4.080s ...Task setQueen nqueens_serial.cpp:156 14 0.477s 0.267s ...Lock ? 365596 < 0.001s < 0.001s ...Site Options Benefit Loss If Site Option Done? If Done Not Done Recommended _________________________________________________________________________ solve Reduce Site Overhead No solve Reduce Task Overhead No solve Reduce Lock Overhead No solve Reduce Lock Contention 0.16x No solve Enable Task Chunking No
結果は、./advi_results/e<NNN>/st<NNN> にあるテキストファイル advisor-suitability.txt にも保存されます。
実行する解析のレポートを生成できます。汎用レポートのコマンドは、次のようになります。
advisor --report=<analysis-type> --project-dir=<project-dir> --format=<format>
説明:
<analysis-type> は、結果を生成する対象の解析タイプです。以下に例を示します。surveyはサーベイレポート、suitabilityはスータビリティー・レポート、または依存関係は依存関係レポートです。
--format=<format>は、結果を保存するファイル形式です。<format> は、text(デフォルト)、csv、xml。
スータビリティー・レポートを生成する場合、追加オプションを使用して結果表示を制御できます。
--target-system=[cpu | xeon-phi | offload-to-xeon-phi]は、最適化をモデル化するプラットフォームです。
--threading-model=[tbb | cilk | openmp | tpl | other]は、使用するスレッド化モデルです。
--reduce-site-overhead=<string>は、オーバーヘッドを排除できるかどうかを確認するアノテーション付きのループ/関数リストです。
次のように、実行されたすべての解析データを含むレポートを生成し、--report=joinedアクションを使用して CSV ファイルに保存することもできます。
advisor --report=joined --report-output=<path-to-csv>
説明:--report-output=<path-to-csv>は保存されるレポートの.csvのパスとファイル名です。例: /home/report.csv など。このオプションはレポートを結合して生成するのに必要です。
オプションについては、advisor コマンドオプションのリファレンスをご覧ください。
コマンドラインからスレッド化パースペクティブを実行すると、--project-dir で指定されたディレクトリーにプロジェクトが作成されます。収集されたすべての結果と解析設定は、*.advixeproj プロジェクトに保存され、インテル® Advisor で表示できます。
GUI でプロジェクトを開くには、次のコマンドを実行します。
advisor-gui <project-dir>
GUI からスレッド化パースペクティブを実行し、収集が完了すると結果は自動的に開きます。
最初に、コード内のベクトル化されたループ/関数のパフォーマンスと、アノテーション付きの並列サイト関連する全体的な情報を含むサマリーレポートが表示されます。
プログラムのパフォーマンス・メトリックと時間を消費する上位 5 つのループ/関数
アプリケーション全体に推奨される最適化
アノテーション付きのループ/関数を並列化した場合に推測されるパフォーマンス向上

スナップショットは、プロジェクトの結果を格納する読み取り専用のコピーであり、インテル® Advisor GUI でいつでも表示できます。インテル® Advisor GUI または CLI でプロジェクトのスナップショットを保存できます。
アクティブなプロジェクトの結果を GUI からスナップショットとして保存するには、次のコマンドを実行します。レポートの上部にあるリボンで
ボタンをクリックします。[Create a Result Snapshot (結果スナップショットの作成)] ダイアログボックスで、スナップショットの詳細を入力して保存します。
アクティブなプロジェクトの結果を CLI からスナップショットとして保存するには、次のコマンドを実行します。
advisor --snapshot --project-dir=<project-dir> [--cache-sources] [--cache-binaries] -- <snapshot-path>
説明:
インテル® Advisor GUI で結果のスナップショットを開くには、次のコマンドを実行します。
advisor-gui <snapshot-path>
保存した読み取り専用の結果と、現在アクティブな結果またはほかの読み取り専用の結果を視覚的に比較することができます。
詳細は、読み取り専用の結果スナップショットを作成を参照してください。
GUI からスレッド化のパースペクティブを実行して、結果を調査し、さまざまなスレッド化の設計を試すことができます。