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

コマンドライン解析の実行

環境変数の設定

vtune-vars スクリプトを実行して、スタンドアロン向けのインテル® VTune™ プロファイラー環境変数を設定します。

Linux*: source <install-dir>/env/vars.sh

Windows*: <install-dir>\vtune-vars.bat

スクリプトファイルを実行すると、製品名とビルド番号が表示されます。現在は、vtunevtune-gui コマンドが使用できます。

事前定義解析の実行

事前定義された解析設定には、使いやすいように大部分の knob (設定オプション) がデフォルトでセットされています。事前定義されたパフォーマンス解析を実行するには、-collect アクションを使用します。

vtune-collect <analysis_type> [-target-system=<system>] [-knob <knobName=knobValue>] [--] <target>

説明:

インテル® VTune™ プロファイラーは次の事前定義タイプをサポートします。

解析タイプ

説明

performance-snapshot

ターゲットシステムのアプリケーションのパフォーマンスに影響すると思われる問題の概要を取得します。

hotspots

アプリケーションのフローを解析し、実行に時間がかかるコード領域 (ホットスポット) を特定します。

anomaly-detection (プレビュー)

ループ反復など、頻繁に繰り返されるコードのインターバルでパフォーマンスの異常を特定するのに役立ちます。マイクロ秒単位で詳細な解析を実行します。

threading

アプリケーションが利用可能な論理 CPU コアをどのように使用しているか解析し、同期オーバーヘッドを含む並列関係を調査して、アプリケーションが同期オブジェクトや I/O 操作で待機する場所を特定して、パフォーマンスに与える影響を調査します。

hpc-performance

計算集約型またはスループットに依存するアプリケーションの CPU、メモリー、および FPU 利用率の最適化の可能性を特定するのに役立ちます。HPC パフォーマンス特性解析タイプは、アプリケーションのパフォーマンス変化を理解するための出発点です。この解析タイプを使用して、1 秒あたりの浮動小数点操作数 (GFLOPS) を増やし、アプリケーション全体の実行時間を短縮することで、アプリケーションのパフォーマンスを改善できます。解析で収集されるデータは、CPU、メモリー、および FPU 利用率に関連しています。また、OpenMP* や MPI ランタイム・ライブラリーを使用するアプリケーション向けの追加のスケーラビリティー・メトリックも用意されています。

memory-consumption

個別のメモリー・オブジェクトとそれらの割り当てスタックを含む、Linux* アプリケーションのメモリー消費を解析します。

uarch-exploration (旧 general-exploration)

通常のクライアント・アプリケーションを解析するには、ハードウェア・イベントを収集します。この解析は、メトリックに使用される事前定義された比率を計算して、ハードウェア・レベルのパフォーマンス問題の特定を容易にします。

memory-access

NUMA の問題や帯域幅に制限されたアクセスなどメモリー関連の問題を特定し、パフォーマンス・イベントをメモリー・オブジェクト (データ構造) に関連付けます。これは、メモリー割り当て/解放のインストルメンテーションと、シンボル情報からの静的/グローバル変数の取得により提供されます。

sgx-hotspots (廃止予定)

インテル® ソフトウェア・ガード・エクステンション (インテル® SGX) 機能が有効にされたシステムで、セキュリティー保護された内部のホットスポットを解析します。この解析タイプは、正確なクロックティックをエミュレートし、パフォーマンスが重要な領域内でプログラム単位を識別するのに役立つ INST_RETIRED.PREC_DIST ハードウェア・イベントを使用します。

tsx-exploration (廃止予定)

インテル® TSX の動作とトランザクション中断の原因を理解するのに役立つイベントを収集します。

tsx-hotspots (廃止予定)

正確なクロックティックをエミュレートする uOpS_RETIRED.ALL_PS ハードウェア・イベントを監視し、トランザクション内でパフォーマンスが重要なプログラム単位を特定します。

gpu-hotspots (プレビュー)

高い GPU 利用率のグラフィックス・プロセシング・ユニット (GPU) タスクを特定し、この利用率の効率を予測します。この解析タイプは、インテル® メディア SDK と OpenCL* ソフトウェア・テクノロジーをサポートし、レンダリング、ビデオ処理、および計算に GPU を使用するアプリケーションの解析を実行します。

gpu-offload

プラットフォーム上の各種 CPU と GPU コアの実行を調査し、CPU と GPU のアクティビティーを関連付けて、アプリケーションが GPU 依存か CPU 依存かを特定します。

vpp

システム全体の動作を取得できます。計算、メモリー、ストレージ、I/O、および相互接続に関連するプラットフォーム・レベルの構成、利用率およびインバランスの問題を理解します。

graphics-rendering (プレビュー)

Xen* 仮想化プラットフォームで実行されるコードの CPU/GPU 利用率を解析します。GPU エンジンごとの GPU 使用量と GPU ハードウェア・メトリックを調査することで、パフォーマンスの向上が可能な場所を理解するのに役立ちます。可能であれば、この解析は OpenGL* ES API 呼び出しを検出してタイムラインに表示します。

fpga-interaction

FPGA 上で実行されている OpenCL* カーネルを調査して、CPU/FPGA 相互作用の問題を解析し、最も時間がかかる FPGA カーネルを特定します。

io

I/O サブシステム、CPU およびプロセッサー・バスの利用率を監視します。この解析タイプは、ハードウェア・イベントベース・サンプリング収集とシステム全体の Ftrace 収集 (Linux* と Android* ターゲット)/ETW 収集 (Windows* ターゲット) を使用して、ハードウェア・イベント、そしてユーザーレベルのソースコードとハードウェアによって実行される I/O パケットを簡単に対応付ける方法を組み合わせた、ストレージ・サブシステムの一貫したビューを提供します。

system-overview

ターゲットシステムの一般的な動作を監視し、パフォーマンスを制限するプラットフォーム・レベルの要因を特定します。

カスタム解析の実行

事前定義解析タイプを変更して実行する場合、-collect-with アクションオプションを使用して、データ収集タイプと必要な設定オプション (knob) を指定します。

vtune -collect-with <collection_type> [-target-system=<system>] [-knob <knobName=knobValue>] [--] <target>

説明:

インテル® VTune™ プロファイラーは次の収集タイプをサポートします。

コレクター 説明
runsa

パフォーマンス・モニタリング・ユニット (PMU) のカウンター・オーバーフロー機能を使用してアプリケーションをプロファイルします。

runss

アプリケーションの実行をプロファイルし、アプリケーションがシステムのプロセッサーをどのように活用しているかを示すスナップショットを取得します。コレクターはプロセスに割り込みをかけ、すべてのアクティブな命令アドレス値を収集して、それらのサンプルの呼び出しシーケンスを取得します。

次のステップ

収集が完了すると、インテル® VTune™ プロファイラーはデータを解析結果として、デフォルトまたは指定する結果ディレクトリーに保存します。結果は GUI で表示したり、解析レポート形式で生成できます。

関連情報