インテル® Advisor を使用すると、CPU バージョンを指定することなく、別の GPU デバイスのグラフィックス処理ユニット (GPU) で実行されている SYCL*、OpenCL*、OpenMP* target アプリケーションのパフォーマンスをモデル化できます。これには、オフロードのモデル化パースペクティブの GPU - GPU 間モデル化ワークフローを実行します。
GPU 間のモデル化は、GPU 計算カーネルのみを解析し、CPU で実行されるアプリケーション領域を無視します。その結果、モデル化のフローにいくつかの変更が加えられています。
GPU - GPU 間のパフォーマンスのモデル化ワークフローは、CPU - GPU 間のモデル化と似ており、次の手順が含まれます。
コマンドラインから GPU - GPU 間のパフォーマンスをモデル化するには、次のいずれかの方法を行います。
インテル® Advisor のグラフィカル・ユーザー・インターフェイス (GUI) から GPU - GPU 間のオフロードのモデル化を実行することもできます。GUI からオフロードのモデル化パースペクティブを実行を参照してください。
上記のいずれかの方法でオフロードのモデル化を実行した後、インテル® Advisor のグラフィカル・ユーザー・インターフェイス (GUI)、コマンドライン・インターフェイス (CLI)、または対話型 HTML レポートで結果を表示できます。例えば、対話型 HTML レポートは次のようになります。

事前設定された GPU - GPU 間のモデル化を実行するには、--collect=offload アクションとともに --gpu オプションを使用します。収集を実行すると、GPU 上のデータ収集とパフォーマンスのモデル化のステップが順番に実行されます。特定の解析とオプションは、収集に指定した精度レベルによって異なります。
注以下のコマンドでは、コマンドを実行する前に myApplication をアプリケーションの実行可能形式へのパスと名前に置き換える必要があります。アプリケーションが引数を必要とする場合、実行可能ファイル名の後にそれらを指定します。
例えば、GPU - GPU 間のモデル化をデフォルト (中) 精度レベルで実行するには、次のコマンドを使用します。
advisor --collect=offload --gpu --project-dir=./advi_results -- ./myApplicationadvisor --collect=offload --gpu --project-dir=.\advi_results -- myApplication.exe収集の進行状況と、実行された解析のコマンドがターミナル/コマンドプロンプトに出力されます。収集が完了すると、結果のサマリーが表示されます。
異なる精度レベルを指定して、実行する解析とオプションを変更することもできます。利用可能な精度レベルは、low (低)、medium (中) (デフォルトt)、および high (高) です。
例えば、high (高) 精度レベルの解析を実行します。
advisor --collect=offload --accuracy=high --gpu --project-dir=./advi_results -- ./myApplicationそれぞれの精度レベルで実行されるコマンドを確認する場合、--dry-run と --gpu オプションを指定して収集を実行します。コマンドはターミナルまたはコマンドプロンプトに出力されます。
それぞれの精度レベルについては、コマンドラインでのオフロードのモデル化精度レベルを参照してください。
個別のコマンドでそれぞれのオフロードのモデル化解析を実行し、アプリケーションのデータを収集してパフォーマンスをモデル化できます。GPU - GPU 間のモデル化を有効にするには、実行するそれぞれの解析で --profile-gpu オプションを使用します。
次のワークフローの例について考えてみます。この例では、サーベイ、トリップカウント、および FLOP 解析を実行して GPU で実行されるアプリケーションをプロファイルし、パフォーマンスのモデル化を実行して、インテル® Iris® Xe MAX グラフィックス (gen12_dg1 設定) でのパフォーマンスをモデル化します。
注以下のコマンドでは、コマンドを実行する前に myApplication をアプリケーションの実行可能形式へのパスと名前に置き換える必要があります。アプリケーションが引数を必要とする場合、実行可能ファイル名の後にそれらを指定します。
Linux*:
advisor --collect=survey --profile-gpu --project-dir=./advi_results -- ./myApplicationadvisor --collect=tripcounts --profile-gpu --flop --target-device=gen12_dg1 --data-transfer=light --project-dir=./advi_results -- ./myApplicationadvisor --collect=projection --profile-gpu --config=gen12_dg1 --project-dir=./advi_results結果のサマリーがコマンドプロンプトに出力されます。
Windows*:
advisor --collect=survey --project-dir=.\advi_results -- myApplication.exeadvisor --collect=tripcounts --profile-gpu --flop --stacks --target-device=gen12_dg1 --data-transfer=light --project-dir=.\advi_results -- myApplication.exeadvisor --collect=projection --profile-gpu --config=gen12_dg1 --project-dir=.\advi_results結果のサマリーがコマンドプロンプトに出力されます。
インテル® Advisor には、インテル® Advisor Python* API を使用してオフロードのモデル化を行う 3 つのスクリプト、run_oa.py、collect.py、analyze.py が用意されています。スクリプトは、インテル® Advisor の advisor-python コマンドライン・インターフェイス、またはローカルの Python* 3.6 または 3.7 を使用して実行できます。
GPU - GPU 間のモデル化を有効にするには、実行するそれぞれのスクリプトで --gpu オプションを使用します。
スクリプトとインテル® Advisor CLI を組み合わせてオフロードのモデル化を実行することもできます。例:
次の例に示す、Python スクリプトを使用するいくつかの典型的なシナリオを検討してください。
注以下のコマンドでは、コマンドを実行する前に myApplication をアプリケーションの実行可能形式へのパスと名前に置き換える必要があります。アプリケーションが引数を必要とする場合、実行可能ファイル名の後にそれらを指定します。
例 1run_oa.py スクリプトを実行して、GPU 上のアプリケーションをプロファイルし、インテル® Iris® Xe MAX グラフィックス (gen12_dg1 設定) のパフォーマンスをモデル化します。
advisor-python $APM/run_oa.py ./advi_results --gpu --config=gen12_dg1 -- ./myApplicationadvisor-python %APM%\run_oa.py .\advi_results --gpu --config=gen12_dg1 -- myApplication.exe結果のサマリーがコマンドプロンプトに出力されます。
例 2collect.py を実行して、GPU 上のアプリケーションをプロファイルし、インテル® Iris® Xe MAX グラフィックス (gen12_dg1 設定) のパフォーマンスをモデル化するため analyze.py を実行します。
advisor-python $APM/collect.py ./advi_results --gpu --config=gen12_dg1 -- ./myApplicationadvisor-python $APM/analyze.py ./advi --gpu --config=gen12_dg1結果のサマリーがコマンドプロンプトに出力されます。
advisor-python %APM%\collect.py .\advi_results --collect=basic --gpu --config=gen12_dg1 -- myApplication.exeadvisor-python %APM%\analyze.py .\advi_results --gpu --config=gen12_dg1結果のサマリーがコマンドプロンプトに出力されます。
インテル® Advisor で解析が完了すると、結果は次の形式で取得できます。
例えば、インテル® Advisor GUI の結果は次のようになります。

対話型の HTML レポートを調べるには、事前に収集された GPU ルーフライン・レポートをダウンロード (英語) して、結果と構造を調査できます。
利用可能な結果形式の詳細についてはオフロードのモデル化の結果を調査を、GPU - GPU 間のモデル化の結果の詳細については GPU - GPU 間のモデル化によるパフォーマンス・ゲインを調査を参照してください。