ベクトル化とコード調査の結果を検証

インテル® Advisor は、ベクトル化とコードの調査パースペクティブの結果を表示するいくつかの方法を提供します。

CLI で結果を表示

コマンドラインからベクトル化とコードの調査パースペクティブを実行すると、結果をターミナルやコマンドプロジェクトに出力し、.txt.csv、または.xml に保存できます。

例えば、サーベイレポートを生成するには、次のコマンドを実行します。

advisor --report=survey --project-dir=./advi_results

次のような結果が得られるはずです。

 ID  Function Call Sites                   Total   Self                  Type                            Why No Vectorization ...   
               and Loops                   Time    Time                                                                       ...
_____________________________________________________________________________________________________________________________ ...
14  [loop in main at mmult_serial.cpp:79]  0.495s  0.495s  Vectorized Versions 1 vectorization possible but seems inefficient ...
 6  -[loop in main at mmult_serial.cpp:79] 0.275s  0.275s    Vectorized (Body)                                                ...
 3  -[loop in main at mmult_serial.cpp:79] 0.205s  0.205s    Vectorized (Body)                                                ...
 7  -[loop in main at mmult_serial.cpp:79] 0.015s  0.015s               Peeled                                                ...
11  -[loop in main at mmult_serial.cpp:79]     0s      0s            Remainder   vectorization possible but seems inefficient ...
 4  [loop in main at mmult_serial.cpp:79]  0.510s  0.015s               Scalar   inner loop was already vectorized            ...
12  [loop in main at mmult_serial.cpp:79]  0.510s      0s      Scalar Versions   1 inner loop was already vectorized          ...
 5  -[loop in main at mmult_serial.cpp:79] 0.510s      0s               Scalar   inner loop was already vectorized            ...

結果は、./advi_results/eNNN/hsNNN にあるテキストファイル advisor-suitability.txt にも保存されます。

実行する解析のレポートを生成できます。汎用レポートのコマンドは、次のようになります。

advisor --report=<analysis-type> --project-dir=<project-dir> --format=<format>

説明:

次のように、実行されたすべての解析データを含むレポートを生成し、--report=joinedアクションを使用して CSV ファイルに保存することもできます。

advisor --report=joined --report-output=<path-to-csv>

説明:--report-output=<path-to-csv> は保存されるレポートの.csv のパスとファイル名です。例: /home/report.csv など。このオプションはレポートを結合して生成するのに必要です。

オプションについては、advisor コマンドライン・インターフェイスのリファレンスをご覧ください。

GUI で結果を表示

コマンドラインからベクトル化とコードの調査パースペクティブを実行すると、--project-dir で指定されたディレクトリーにプロジェクトが作成されます。収集されたすべての結果と解析設定は、*.advixeprojプロジェクトに保存され、インテル® Advisor で表示できます。

GUI でプロジェクトを開くには、次のコマンドを実行します。

advisor-gui <project-dir>

レポートが開かない場合は、[Welcome (ようこそ)] ペインで [Show Result (結果を表示)] をクリックしてください。

コマンドラインからベクトル化とコードの調査パースペクティブを実行すると、収集が完了すると結果は自動的に開きます。

最初に、コード内のベクトル化されたループ/関数と、ベクトル化されていないループ/関数、およびベクトル化の効率に関連する全体的な情報を含む、次のようなベクトル化の概要レポートが表示されます。

[ベクトル化のサマリーレポート

読み取り専用スナップショットを保存

スナップショットは、プロジェクトの結果を格納する読み取り専用のコピーであり、インテル® Advisor GUI でいつでも表示できます。インテル® Advisor GUI または CLI でプロジェクトのスナップショットを保存できます。

アクティブなプロジェクトの結果を GUI からスナップショットとして保存するには、次のコマンドを実行します: レポートの上部にあるリボンで ボタンをクリックします。[Create a Result Snapshot (結果スナップショットの作成)] ダイアログボックスで、スナップショットの詳細を入力して保存します。

アクティブなプロジェクトの結果を CLI からスナップショットとして保存するには、次のコマンドを実行します。

advisor --snapshot --project-dir=<project-dir> [--cache-sources] [--cache-binaries] -- <snapshot-path>

説明:

  • --cache-sources オプションは、アプリケーションのソースコードをスナップショットに追加します。
  • --cache-sources オプションは、アプリケーションのバイナリーをスナップショットに追加します。
  • <snapshot-path は、スナップショットのパスと名前です。例えば、/tmp/new_snapshot を指定すると、スナップショットは tmp ディレクトリーにnew_snapshot.advixeexpz で指定されたディレクトリーにプロジェクトが作成されます。これをスキップして、スナップショットを現在のディレクトリーにsnapshotXXX.advixeexpz として保存できます。

インテル® Advisor GUI で結果のスナップショットを開くには、次のコマンドを実行します。

advisor-gui <snapshot-path>

保存した読み取り専用の結果と、現在アクティブな結果またはほかの読み取り専用の結果を視覚的に比較することができます。

詳細は、読み取り専用の結果スナップショットを作成を参照してください。

結果の解釈

ベクトル化とコードの調査パースペクティブを実行すると、選択された構成に応じてレポートにはさまざまなレベルの詳細が表示されます。

レポートの概要については、ベクトル化レポートの概要を参照してください。

関連情報