コマンドラインから 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 メモリーアクセス、GPU L3 ミス、サンプラービジー、サンプラー・ボトルネック、および GPU メモリーのテクスチャー・リード/ライト帯域幅をトラックします。これらのメトリックは、グラフィックスと計算集約型の両方のアプリケーションに役立ちます。

  • global-local-accesses- GPU 上の異なる種類のデータへのアクセスを区別するメトリック (型なしメモリーリード/ライト帯域幅、型ありメモリーリード/ライト・トランザクション、SLM リード/ライト帯域幅、ロードされたレンダー/GPGPU コマンド・ストリーマー、および GPU EU アレイ使用) をを含みます。これらのメトリックは、GPU 上の計算集約型のワークロードに役立ちます。

  • compute-extended- インテル® プロセッサー開発コード名 Broadwell 上の GPU アクティビティーを解析します。このメトリックのセットはほかのシステムでは無効にされます。

  • full-compute- すべての種類の EU アレイストール/アイドルの問題を同じビューで解析できるように、overview と compute-basic メトリックの両方を収集するため allow-multiple-runs オプションを使用します。

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

例えば、BitonicSort アプリケーションで GPU 計算/メディア・ホットスポット解析を実行して GPU ハードウェア・メトリックを収集し、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

関連情報