各パースペクティブに対し、インテル® Advisor にはいくつかのレベルの収集精度が用意されています。各精度レベルには、収集されるデータと収集の詳細レベルを制御する一連の解析とプロパティーが設定されています。選択する精度レベルが高いほど、アプリケーションの実行時間に課されるオーバーヘッドは大きくなります。
CLI では、それぞれの精度レベルは目的とする結果を得るため単独で実行する必要があるオプションを備えた一連のコマンドに対応します。
次の精度レベルが利用できます。
比較 / 精度レベル |
Low (低) |
Medium (中) |
|---|---|---|
オーバーヘッド |
5-10x |
15-50x |
目的 |
アプリケーションが CPU のメモリーと計算リソースをどの程度活用しているかを解析し、主な制限要因 (メモリー帯域幅や計算能力) を特定します。 |
アプリケーションが各種キャッシュレベルで CPU メモリーをどの程度使用しているか詳しく解析します。 |
解析 |
サーベイ + 特性化 (FLOP) |
サーベイ + 特性化 (すべてのメモリーレベルでコールスタック付きのトリップカウント & FLOP) + メモリー・アクセス・パターン |
結果 |
L1 キャッシュ用のキャッシュ対応 CPU ルーフライン |
コールスタック付きのメモリーレベルの CPU ルーフライン (L1、L2、L3、DRAM 向け) メモリー・アクセス・パターン |
インテル® Advisor の GUI から、必要とする精度レベルのコマンドラインを生成できます。詳細については、GUI からコマンドラインを生成するを参照してください。
次のコマンドの例について考えてみます。
注次のコマンドでは、コマンドを実行する前にmyApplicationをアプリケーションの実行可能ファイルのパスと名前に置き換えてください。アプリケーションが引数を必要とする場合、実行可能ファイル名の後にそれらを指定します。
低精度で CPU / メモリー・ルーフラインの調査パースペクティブを実行するには以下を実行します。
advisor --collect=roofline --project-dir=./advi_results -- ./myApplication中精度で CPU / メモリー・ルーフラインの調査パースペクティブを実行するには以下を実行します。
コールスタック付きのメモリー・レベル・ルーフラインのレポートを生成します。
advisor --collect=roofline --stacks --enable-data-transfer-analysis --project-dir=./advi_results -- ./myApplication非効率なメモリー・アクセス・パターンの可能性があるループに対し、メモリー・アクセス・パターン解析を実行します。
advisor --collect=map --select=has-issue --project-dir=./advi_results -- ./myApplicationインテル® Advisor GUI または対話型 HTML レポートを生成して結果を開けます。