インテル® VTune™ プロファイラー・ユーザーガイド

コマンドラインから GPU 解析を設定

レンダリング、ビデオ処理、および計算向けにグラフィックス処理ユニット (GPU) を使用するアプリケーションのプロファイルを行うため、-knob オプションを使用してインテル® VTune™ プロファイラーを設定します。GPU 解析は、GPU 全体のアクティビティー (グラフィックス、メディア、および計算) を監視して、インテル® HD グラフィックスおよびインテル® Iris® グラフィックスのハードウェア・メトリックを収集し、CPU プロセスおよびスレッド間のデータの関係を示します。

GPU 解析には次の knob がサポートされます。

Knob 名

サポートされる解析タイプ

説明

enable-gpu-usage=true | false

runss、runsa

フレームレートとプロセッサー・グラフィックス・エンジンの使用を解析します。

gpu-counters-mode=none |overview | global-local-accesses | compute-extended | full-compute | render-basic

gpu-hotspots、graphics-rendering、gpu-offload、runss、runsa

GPU メトリック・リファレンスに基づいて、プロセッサー・グラフィックスからのパフォーマンス・データを解析します。

  • overview - メモリーリード/ライト帯域幅、GPU L3 ミス、サンプラービジー、サンプラー・ボトルネック、および GPU メモリーのテクスチャー・リード/ライト帯域幅などの一般的な GPU メモリーアクセスに関する追加のメトリックが含まれます。これらのメトリックは、グラフィックスと計算主体の両方のアプリケーションに役立ちます。

  • global-local-accesses - 型なしリード/ライト帯域幅、型付きリード/ライト・トランザクション、SLM リード/ライト帯域幅、レンダラー/GPGPU コマンド・ストリーマーのロード、および GPU EU アレイの使用など、GPU 上の異なるタイプのデータアクセスを区別する追加のメトリックが含まれます。これらのメトリックは、GPU 上の計算集約型のワークロードに役立ちます。

  • compute-extended - インテル® プロセッサー開発コード名 Broadwell 以降の GPU 解析のみをターゲットとする追加のメトリックが含まれます。その他のシステム向けの事前定義はありません。

  • full-compute - すべてのタイプの EU アレイのストール/アイドルの問題を同じビューで解析するには、allow-multiple-runs オプションを指定して、overviewcompute-basic メトリックの両方を収集します。

  • render-basic (プレビュー) - ピクセルシェーダー、バーテックス・シェーダー、および出力マージメトリックを収集します。

このオプションは、インテル® グラフィックス・ドライバーがインストールされた、サポートされるプラットフォームでのみ利用できます。

gpu-sampling-interval=<value in us>

gpu-hotspots、runss、runsa

GPU サンプルを収集する間隔を 10 から 1000 マイクロ秒で設定します。デフォルトは 1000 マイクロ秒 (us) です。100 マイクロ秒未満の間隔は推奨されません。

enable-gpu-runtimes=true | false

gpu-hotspots、runss、runsa

GPU 上の OpenCL* カーネルとインテル® メディア SDK プログラムの実行時間を取得し、パフォーマンス・クリティカルな GPU 計算タスクを特定して、GPU ハードウェア・メトリックごとのパフォーマンスを解析します。

現在 OpenCL* カーネル解析は、インテル® HD グラフィックスまたはインテル® Iris® グラフィックスを搭載した Windows* および Linux* ターゲットシステムでサポートされます。インテル® メディア SDK プログラム解析設定は、Linux* ターゲットでのみサポートされ、root 権限で起動する必要があります。

例 1: インテル® メディア SDK アプリケーションの解析を実行

この例では、vtune を root 権限で起動し、Linux* 上で実行されるインテル® メディア SDK アプリケーションの GPU 計算/メディア・ホットスポット解析を行います。

vtune  -collect gpu-hotspots -knob enable-gpu-runtimes=true -r quadrant_r001 -- BitonicSort

Windows* システムからリモートの Linux* ターゲットを解析する場合、同じ例は次のようになります。

vtune -target-system=ssh:user1@172.16.254.1 -collect gpu-hotspots -knob enable-gpu-runtimes=true -r quadrant_r001 -- BitonicSort.exe

例 2: OpenCL* カーネルトレース解析を実行

GPU 計算/メディア・ホットスポットまたはカスタム解析を実行し、プロセッサー・グラフィックス・エンジンの GPU 使用を解析するには enable-gpu-usage knob を指定します (インテル® グラフィックス・ドライバーがインストールされた、プラットフォームでのみ利用できる gpu-counters-mode カウンターを使用)。enable-gpu-runtimes オプションを指定して、OpenCL* カーネル実行のトレースを有効にします。

例えば、GPU 計算/メディア・ホットスポット解析を実行して、GPU ハードウェア・メトリックを収集し、BitonicSort アプリケーションで OpenCL* カーネルをトレースするには、次のように入力します (-g はアプリケーションのオプション)。

vtune -collect gpu-hotspots -knob gpu-counters-mode=overview -knob enable-gpu-runtimes=true -- BitonicSort -g

Android* システム上の GPU 解析

次の knob を使用して、インテル® HD グラフィックスやインテル® Iris® グラフィックスを搭載する Android* システムでアルゴリズム解析タイプ向けの GPU 解析を有効にできます。

この例は、GPU 計算/メディア・ホットスポット解析を実行し、GPU の使用状況を監視します。

host>./vtune -collect gpu-hotspots -target-system=android -r quadrant_r001 -target-process com.intel.fluid -knob enable-gpu-usage=true -knob gpu-counters-mode=overview

関連情報