コマンドラインでのオフロードのモデル化精度レベル

各パースペクティブに対し、インテル® Advisor にはいくつかのレベルの収集精度が用意されています。各精度レベルには、収集されるデータと収集の詳細レベルを制御する一連の解析とプロパティーが設定されています。選択する精度レベルが高いほど、アプリケーションの実行時間に課されるオーバーヘッドは大きくなります。

インテル® Advisor の GUI から、必要とする精度レベルのコマンドラインを生成できます。詳細については、GUI からコマンドラインを生成するを参照してください。

データ収集、結果サイズ、および実行オーバーヘッドを最小化するさまざまな手法があります。解析のオーバーヘッドを最小化をチェックします。

CPU - GPU 間のモデル化

CPU から GPU へのモデル化では、次の精度レベルが利用できます。

比較 / 精度レベル

Low (低)

Medium (中)

High (高)

オーバーヘッド

5-10x

15-50x

50-80x

目的

大部分が計算集約型であり、依存関係を持たないアプリケーションのパフォーマンスのモデル化します

すべてのキャッシュとメモリーレベルのトラフィックを考慮したアプリケーションのパフォーマンスをモデル化します

オフロード候補の潜在的な制限をすべて考慮してアプリケーションのパフォーマンスのモデル化します

解析

依存関係を想定しないサーベイ + 特性化 (トリップカウントと FLOP) + パフォーマンスのモデル化

サーベイ + 特性化 (選択したターゲットデバイスのキャッシュ・シミュレーションによるコールスタック付きトリップカウントと FLOP、および軽量データ転送シミュレーション) + 依存関係 + 依存関係を想定しないパフォーマンスのモデル化

サーベイ + 特性化 (選択したターゲットデバイスのキャッシュ・シミュレーションによるコールスタック付きトリップカウントと FLOP、および中間データ転送シミュレーション) + 依存関係 + 依存関係を想定したパフォーマンスのモデル化

結果

基本オフロードのモデル化レポートは、実行ユニットから L1 キャッシュへのメモリー・トラフィックのみを考慮して、ターゲットデバイスで推測されるスピードアップの可能性とパフォーマンス・メトリックを示します。メモリー集約型のアプリケーションでは、結果が正確でない可能性があります。

オフロードのモデル化レポートでは、すべてのキャッシュレベルとメモリーレベルのトラフィックを考慮して、ホストとデバイス間の推測されるデータ転送が拡張されています。

オフロードで最も収益性が高い領域を正確に検索する、データ転送の見積もりとループ伝搬依存関係の自動チェックを含むオフロードのモデル化レポート。

: 次のコマンドでは、コマンドを実行する前にmyApplicationをアプリケーションの実行可能ファイルのパスと名前に置き換えてください。アプリケーションが引数を必要とする場合、実行可能ファイル名のにそれらを指定します。

インテル® Arc™ Alchemist (DG2) 以降のインテル® Xe グラフィックス製品ファミリーと以降の世代では、従来の用語から GPU アーキテクチャーの用語が変更されています。用語変更の詳細と、従来のコンテンツとの対応については、インテル® Xe グラフィックスの GPU アーキテクチャー用語を参照してください。

低精度

デフォルトのターゲットデバイスに対してアプリケーションのパフォーマンスを低精度でモデル化するには、次のコマンドを実行します。

advisor --collect=offload --accuracy=low --project-dir=./advi_results -- ./myApplication

このコマンドは、次の解析を 1 つずつ実行します。

  1. サーベイ解析:
    advisor --collect=survey --auto-finalize --static-instruction-mix --project-dir=./advi_results -- ./myApplication
  2. トリップカウントと FLOP データを収集するため特性化解析を行います
    advisor --collect=tripcounts --flop --auto-finalize --target-device=xehpg_512xve --project-dir=./advi_results -- ./myApplication
  3. パフォーマンスのモデル化:
    advisor --collect=projection --no-assume-dependencies --config=xehpg_512xve --project-dir=./advi_results

中精度

この精度はデフォルトで設定されます。デフォルトのターゲットデバイスに対してアプリケーションのパフォーマンスを中精度でモデル化するには、次のコマンドを実行します。

advisor --collect=offload --project-dir=./advi_results -- ./myApplication

このコマンドは、次の解析を 1 つずつ実行します。

  1. サーベイ解析:
    advisor --collect=survey --auto-finalize --static-instruction-mix --project-dir=./advi_results -- ./myApplication
  2. トリップカウントと FLOP データを収集するため特性化解析を行います
    advisor --collect=tripcounts --flop --stacks --auto-finalize --cache-simulation=single --data-transfer=light --target-device=xehpg_512xve --project-dir=./advi_results -- ./myApplication
  3. パフォーマンスのモデル化:
    advisor --collect=projection --no-assume-dependencies --config=xehpg_512xve --project-dir=./advi_results

高精度

デフォルトのターゲットデバイスに対してアプリケーションのパフォーマンスを高精度でモデル化するには、次のコマンドを実行します。

advisor --collect=offload --accuracy=high --project-dir=./advi_results -- ./myApplication

このコマンドは、次の解析を 1 つずつ実行します。

  1. サーベイ解析:
    advisor --collect=survey --auto-finalize --static-instruction-mix --project-dir=./advi_results -- ./myApplication
  2. トリップカウントと FLOP データを収集するため特性化解析を行います
    advisor --collect=tripcounts --flop --stacks --auto-finalize --cache-simulation=single --target-device=xehpg_512xve --data-transfer=medium --project-dir=./advi_results -- ./myApplication
  3. 依存関係解析:
    advisor --collect=dependencies --filter-reductions --loop-call-count-limit=16 --select markup=gpu_generic --project-dir=./advi_results -- ./myApplication
  4. パフォーマンスのモデル化:
    advisor --collect=projection --config=xehpg_512xve --project-dir=./advi_results

ループ伝搬依存関係を確認する方法については、依存関係がモデル化に与える影響を確認を参照してください。

GPU - GPU 間のモデル化

GPU から GPU へのモデル化では、次の精度レベルが利用できます。

比較 / 精度レベル

Low (低)

Medium (中)

High (高)

オーバーヘッド

5-10x

15-50x

15-50x

目的

大部分が計算集約型であるアプリケーションのパフォーマンスをモデル化します

すべてのキャッシュとメモリーレベルのトラフィックを考慮したアプリケーションのパフォーマンスをモデル化します

オフロード候補の潜在的な制限をすべて考慮してアプリケーションのパフォーマンスのモデル化します

解析

サーベイ + 特性化 (トリップカウントと FLOP) + パフォーマンスのモデル化

サーベイ + 特性化 (軽量データ転送シミュレーションによるトリップカウントと FLOP) + パフォーマンスのモデル化

サーベイ + 特性化 (中間データ転送シミュレーションによるトリップカウントと FLOP) + パフォーマンスのモデル化

結果

基本オフロードのモデル化レポートは、実行ユニットから L1 キャッシュへのメモリー・トラフィックのみを考慮して、ターゲットデバイスで推測されるスピードアップの可能性とパフォーマンス・メトリックを示します。メモリー集約型のアプリケーションでは、結果が正確でない可能性があります。

オフロードのモデル化レポートを拡張し、ホストとデバイス間の推測されるデータ転送を追加します

オフロードで最も収益性が高い領域を正確に検索する、データ転送の見積もりを含むオフロードのモデル化レポート。

次のコマンドでは、コマンドを実行する前に myApplication をアプリケーションの実行可能ファイルのパスと名前に置き換えてください。アプリケーションが引数を必要とする場合、実行可能ファイル名のにそれらを指定します。

低精度

デフォルトのターゲットデバイスに対してアプリケーションのパフォーマンスを低精度でモデル化するには、次のコマンドを実行します。

advisor --collect=offload --accuracy=low --gpu --project-dir=./advi_results -- ./myApplication

このコマンドは、次の解析を 1 つずつ実行します。

  1. サーベイ解析:
    advisor --collect=survey --auto-finalize --static-instruction-mix --profile-gpu --project-dir=./advi_results -- ./myApplication
  2. トリップカウントと FLOP データを収集するため特性化解析を行います
    advisor --collect=tripcounts --flop --auto-finalize --target-device=xehpg_512xve --profile-gpu --project-dir=./advi_results -- ./myApplication
  3. パフォーマンスのモデル化:
    advisor --collect=projection --no-assume-dependencies --config=xehpg_512xve --profile-gpu --project-dir=./advi_results

中精度

この精度はデフォルトで設定されます。デフォルトのターゲットデバイスに対してアプリケーションのパフォーマンスを中精度でモデル化するには、次のコマンドを実行します。

advisor --collect=offload --gpu --project-dir=./advi_results -- ./myApplication

このコマンドは、次の解析を 1 つずつ実行します。

  1. サーベイ解析:
    advisor --collect=survey --auto-finalize --static-instruction-mix --profile-gpu --project-dir=./advi_results -- ./myApplication
  2. トリップカウントと FLOP データを収集するため特性化解析を行います
    advisor --collect=tripcounts --flop --auto-finalize --data-transfer=light --target-device=xehpg_512xve --profile-gpu --project-dir=./advi_results -- ./myApplication
  3. パフォーマンスのモデル化:
    advisor --collect=projection --no-assume-dependencies --config=xehpg_512xve --profile-gpu --project-dir=./advi_results

高精度

デフォルトのターゲットデバイスに対してアプリケーションのパフォーマンスを高精度でモデル化するには、次のコマンドを実行します。

advisor --collect=offload --accuracy=high --gpu --project-dir=./advi_results -- ./myApplication

このコマンドは、次の解析を 1 つずつ実行します。

  1. サーベイ解析:
    advisor --collect=survey --auto-finalize --static-instruction-mix --profile-gpu --project-dir=./advi_results -- ./myApplication
  2. トリップカウントと FLOP データを収集するため特性化解析を行います
    advisor --collect=tripcounts --flop --auto-finalize --target-device=xehpg_512xve --profile-gpu --data-transfer=medium --project-dir=./advi_results -- ./myApplication
  3. パフォーマンスのモデル化:
    advisor --collect=projection --config=xehpg_512xve --profile-gpu --project-dir=./advi_results

パースペクティブを実行した後、インテル® Advisor GUI または CLI の対話型 HTML レポートでの結果表示できます。

関連情報