コマンドラインでのベクトル化精度レベル

各パースペクティブに対し、インテル® 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

中精度

中精度でベクトル化とコードの調査パースペクティブを実行するには以下を実行します。

  1. サーベイ解析を実行します。

    advisor --collect=survey --project-dir=./advi_results -- ./myApplication
  2. トリップカウント解析を実行します。

    advisor --collect=tripcounts --enable-data-transfer-analysis --project-dir=./advi_results -- ./myApplication

高精度

高精度でベクトル化とコードの調査パースペクティブを実行するには以下を実行します。

  1. サーベイ解析を実行します。

    advisor --collect=survey --project-dir=./advi_results -- ./myApplication
  2. トリップカウント & FLOP 解析を実行します。

    advisor --collect=tripcounts --flop --stacks --project-dir=./advi_results -- ./myApplication
  3. 非効率なメモリー・アクセス・パターンの可能性があるループに対し、メモリー・アクセス・パターン解析を実行します。

    advisor --collect=map --select=has_issue --project-dir=./advi_results -- ./myApplication

インテル® Advisor GUI で結果を表示するか、対話型 HTML レポートを生成できます。

関連情報