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

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

環境変数の設定

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

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

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

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

事前定義解析の実行

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

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

説明:

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

解析タイプ

説明

hotspots

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

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 依存かを特定します。

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 パケットの関連付けを容易にします。

これは、Windows* ではプレビュー機能です。プレビュー機能は、正式リリースに含まれるかどうか未定です。皆さんが機能に対する有用性のフィードバックを送ることで、将来の採用決定の判断に役立ちます。プレビュー機能で収集されたデータは、将来のリリースで下位互換が提供される保証はありません。parallel.studio.support@intel.com または intelsystemstudio@intel.com へフィードバックをお送りください。

system-overview

Linux* または Android* ターゲットシステムの全般的な動作を評価し、電力とパフォーマンスのメトリックを IRQ 処理と関連付けます。

カスタム解析の実行

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

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

説明:

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

コレクター 説明
runsa

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

runss

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

次のステップ

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

関連情報