各パースペクティブに対し、インテル® Advisor にはいくつかのレベルの収集精度が用意されています。各精度レベルには、収集されるデータと収集の詳細レベルを制御する一連の解析とプロパティーが設定されています。選択する精度レベルが高いほど、アプリケーションの実行時間に課されるオーバーヘッドは大きくなります。
CLI では、それぞれの精度レベルは目的とする結果を得るため単独で実行する必要があるオプションを備えた一連のコマンドに対応します。
次の精度レベルが利用できます。
比較 / 精度レベル |
Low (低) |
Medium (中) |
High (高) |
|---|---|---|---|
オーバーヘッド |
1.1x |
5-8x |
10-40x |
目的: |
アプリケーションがどの程度ベクトル化されているか、またベクトル化の効率を向上させる方法に関する情報を取得します |
アプリケーションがどの程度ベクトル化されているか、およびループ/関数の反復回数に関してさらに多くの情報を取得します |
パフォーマンスの問題や最適化に関する詳細な推奨事項など、アプリケーションのパフォーマンスに関連する詳細情報を取得します |
解析 |
サーベイ |
サーベイ + 特性化 (トリップカウント) |
サーベイ + 特性化 (コールスタック付きトリップカウント & FLOP) + メモリー・アクセス・パターン |
結果 |
基本サーベイレポート |
トリップカウント・データが拡張されたサーベイレポート。 |
トリップカウント、浮動小数点および整数演算 (FLOP と INTOP) を含む拡張されたサーベイレポート メモリー・トラフィック・データとメモリー使用量の問題を持つメモリー・アクセス・パターン |
インテル® Advisor の GUI から、必要とする精度レベルのコマンドラインを生成できます。詳細については、GUI からコマンドラインを生成するを参照してください。
次のコマンドの例について考えてみます。
注次のコマンドでは、コマンドを実行する前にmyApplicationをアプリケーションの実行可能ファイルのパスと名前に置き換えてください。アプリケーションが引数を必要とする場合、実行可能ファイル名の後にそれらを指定します。
低精度でベクトル化とコードの調査ペクティブを実行するには以下を実行します。
advisor --collect=survey --project-dir=./advi_results -- ./myApplication中精度でベクトル化とコードの調査パースペクティブを実行するには以下を実行します。
サーベイ解析を実行します。
advisor --collect=survey --project-dir=./advi_results -- ./myApplicationトリップカウント解析を実行します。
advisor --collect=tripcounts --enable-data-transfer-analysis --project-dir=./advi_results -- ./myApplication高精度でベクトル化とコードの調査パースペクティブを実行するには以下を実行します。
サーベイ解析を実行します。
advisor --collect=survey --project-dir=./advi_results -- ./myApplicationトリップカウント & FLOP 解析を実行します。
advisor --collect=tripcounts --flop --stacks --project-dir=./advi_results -- ./myApplication非効率なメモリー・アクセス・パターンの可能性があるループに対し、メモリー・アクセス・パターン解析を実行します。
advisor --collect=map --select=has_issue --project-dir=./advi_results -- ./myApplicationインテル® Advisor GUI で結果を表示するか、対話型 HTML レポートを生成できます。