コマンドラインでの GPU ルーフラインの精度レベル

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

CLI では、それぞれの精度レベルは目的とする結果を得るため単独で実行する必要があるオプションを備えた一連のコマンドに対応します。

次の精度レベルが利用できます。

比較 / 精度レベル

Low (低)

Medium (中)

High (高)

オーバーヘッド

5-10x

15-20x

20-50x

目的

GPU で実行されるアプリケーションのカーネルを解析

GPU で実行されるカーネルと CPU で実行されるループ/関数を詳しく解析

GPU で実行されるカーネルと CPU で実行されるループ/関数を詳しく解析

解析

GPU プロファイルとサーベイ + 特性化 (FLOP)

GPU プロファイルとサーベイ + 特性化 (FLOP、ホストとターゲット・デバイス・メモリー間の軽量データ転送シミュレーションとメモリー・オブジェクト解析) + ベースライン GPU のパフォーマンスのモデル化

GPU プロファイルとサーベイ + 特性化 (コールスタック付きトリップカウント & FLOP、ホストとターゲット・デバイス・メモリー間の中間データ転送シミュレーションとメモリー・オブジェクト解析) + ベースライン GPU のパフォーマンスのモデル化

GPU 用のカーネルの結果

パフォーマンス最適化向けの基本的な推奨事項を備えたメモリーレベルの GPU ルーフライン (CARM、L3、SLM、GTI 向け)

パフォーマンス最適化向けの拡張推奨事項を備えたメモリーレベルの GPU ルーフライン (CARM、L3、SLM、GTI 向け)

パフォーマンス最適化向けの拡張推奨事項を備えたメモリーレベルの GPU ルーフライン (CARM、L3、SLM、GTI 向け)

CPU 上のループ/関数の結果

L1 キャッシュ用のキャッシュ対応 CPU ルーフライン

コールスタック付きのメモリーレベルのルーフライン (L1、L2、L3、DRAM 向け)

コールスタック付きのメモリーレベルのルーフライン (L1、L2、L3、DRAM 向け)

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

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

次のコマンドの例について考えてみます。

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

低精度

低精度で GPU ルーフラインの調査パースペクティブを実行するには以下を実行します。

advisor --collect=roofline --profile-gpu --enable-data-transfer-analysis --project-dir=./advi_results -- ./myApplication

中精度

  1. GPU ルーフラインを実行します。
    advisor --collect=roofline --profile-gpu --enable-data-transfer-analysis --track-memory-objects --data-transfer=light --project-dir=./advi_results -- ./myApplication
  2. アプリケーションが実行される GPU のパフォーマンスのモデル化を実行します。
    advisor --collect=projection --profile-gpu --enforce-baseline-decomposition --model-baseline-gpu --project-dir=./advi_results

    --model-baseline-gpu オプションを指定すると、--enforce-baseline-decomposition が自動的に有効になります。コマンドを簡素化するには、--enforce-baseline-decomposition オプションを省略して --model-baseline-gpu のみを指定します。

高精度

  1. GPU ルーフラインを実行します。
    advisor --collect=roofline --profile-gpu --stacks --enable-cache-simulation --enable-data-transfer-analysis --track-memory-objects --data-transfer=medium --project-dir=./advi_results -- ./myApplication
  2. アプリケーションが実行される GPU のパフォーマンスのモデル化を実行します。
    advisor --collect=projection --profile-gpu --enforce-baseline-decomposition --model-baseline-gpu --project-dir=./advi_results

    --model-baseline-gpu オプションを指定すると、--enforce-baseline-decomposition が自動的に有効になります。コマンドを簡素化するには、--enforce-baseline-decomposition オプションを省略して --model-baseline-gpu のみを指定します。

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

関連情報