インテル® VTune™ Amplifier 2018 ヘルプ

カスタム解析オプション - ハードウェア・イベントベース・サンプリング

ハードウェア・イベントベース・サンプリング収集を基にする事前定義された解析タイプのコピーを作成すると、インテル® VTune™ Amplifier はこの収集に適したオプションを提示し、デフォルトで元の事前定義されている解析タイプのオプションを有効にします。

次のハードウェア・イベントベース・サンプリング収集のオプションがカスタム設定で利用できます。

操作

説明

[Analyze I/O waits (I/O 待機を解析)] チェックボックス

スレッドと CPU が I/O 待機状態に費やす時間の比率 (パーセント) を解析します。

[Collect I/O API data (I/O API データ収集)] メニュー

I/O 呼び出しと関連するコールスタックに関する情報を収集するかどうかを選択します。スレッドが待機している場所を特定します。または、スレッドを並行に計算できるようにします。コレクターは、API をインストルメントするため、オーバーヘッドが大きくなり、結果サイズが増加します。

[Collect stacks (スタックを収集)] チェックボックス

高度なコールスタックとスレッドのコンテキスト・スイッチ収集を有効にして、実行パスごとのパフォーマンス、並列性、および消費電力を解析します。

[Stack size, in bytes (スタックサイズ、バイト)] フィールド

処理するスタックサイズ (バイト) を指定します。ゼロは無制限のサイズを意味します。設定可能な値は、0 から 2147483647 です。

スタックタイプ

ソフトウェア・スタックとハードウェア LBR ベースのスタックタイプのいずれかを選択します。ソフトウェア・スタックは深さの制限がなく、より多くのデータを提供します。一方、ハードウェア・スタックはわずかなオーバーヘッドしか発生しません。一般に、ソフトウェア・スタック・タイプは、収集のオーバーヘッドが重要ではない場合での使用が推奨されます。ハードウェア LBR スタックタイプは、すべてのプラットフォームで利用できない可能性があることに注意してください。

[Estimate call counts (呼び出しカウントを予測)] チェックボックス

ハードウェア・イベントをベースとする呼び出し回数の統計的な推測を取得します。

[Estimate trip counts (トリップカウントを予測)] チェックボックス

ハードウェア・イベントをベースとするループ回数の統計的な推測を取得します。

イベントテーブル

  • 最初の列のチェックボックスを使用して、収集するハードウェア・イベントを指定します。デフォルトでは、テーブルにはターゲット・プラットフォームで利用可能な設定が表示され、元の解析で使用されているすべてのイベントが選択されています。注目するイベントを検索するには、[Search (検索)] 機能を使用します。イベントの詳しい説明を見るには、テーブルでそのイベントを選択して [Explain (説明)] ボタンをクリックします。

  • インテル® VTune™ Amplifier がイベントデータ収集で割り込むイベント数を制御する [Sample After (サンプリング間隔)] 値を変更します。[Sample After] の値は、ターゲットの継続期間に依存します。継続期間の値に基づいて、インテル® VTune™ Amplifier は [Sample After] の値を (乗数を適用して) 調整します。

[Chipset events (チップセット・イベント)] フィールド

ハードウェア・イベントベース・サンプリング・コレクターでモニターするチップセット・イベントをコンマで区切って指定します (最大 5 イベント)。

[Linux Ftrace events (Linux* Ftrace* イベント)] / [Android framework events (Android* フレームワーク・イベント)] フィールド

コレクターでモニターする Linux* Ftrace* および Android* フレームワーク・イベントを選択するには、カーネル・イベント・ライブラリーを使用します。収集されたデータは、[Timeline (タイムライン)] ペインにタスクとして表示されます。また、パフォーマンス統計を表示するため、グリッドのタスクグループのレベルを適用できます。

[Analyze memory bandwidth (メモリー帯域幅を解析)] チェックボックス

メモリー帯域幅を計算するのに必要なイベントを収集します。

[Analyze PCIe bandwidth (PCIe* 帯域幅を解析)] チェックボックス

PCIe* 帯域幅を計算するのに必要なイベントを収集します。その結果、タイムライン上に分散した読み取り/書き込み操作を解析し、PCIe* バスの帯域幅の制限によりアプリケーションがストールしている場所を特定できます。

この解析は、インテル® マイクロアーキテクチャー開発コード名 Sandy Bridge EP 以降でのみ利用可能です。

[Analyze memory objects (メモリー・オブジェクトを解析)] チェックボックス (Linux* ターゲットのみ)

メモリーの割り当て/解放のインストルメントとメモリー・オブジェクトへのハードウェア・イベントのマップを可能にします。

[Analyze memory consumption (メモリー消費を解析)] チェックボックス (Linux* ターゲットのみ)

最も高いメモリー消費とメモリー・オブジェクトに関する情報を収集して解析します。

[Minimal memory object size to track, in bytes (追跡する最小メモリー・オブジェクト・サイズ、バイト)] スピンボックス (Linux* ターゲットのみ)

解析に使用するメモリー割り当ての最小サイズを指定します。このオプションは、インストルメントの実行時のオーバーヘッドを軽減するのに有効です。

[Analyze user tasks, events, and counters (ユーザータスク、イベント、カウンターを解析)] チェックボックス

ITT API を使用してコード内で指定したタスク、イベント、およびカウンターを解析します。このオプションを使用すると、オーバーヘッドが大きくなり、結果サイズが増加します。

[Analyze system-wide context switches (システム全体のコンテキスト・スイッチを解析)] チェックボックス

システム上のすべてのスレッドに対する詳細なスケジュールのレイアウトを解析し、スレッドのコンテキスト・スイッチの性質 (プリエンプトか同期か) を特定します。

[Capture transactional cycles (トランザクション・サイクルをキャプチャー)] チェックボックス

インテル® トランザクショナル・シンクロナイゼーション・エクステンション (インテル® TSX) をサポートするインテル® プロセッサー上で、トランザクションの成功を解析するために必要なイベントを収集します。

[Collect precise clockticks (プリサイス・クロックティックを収集)] チェックボックス

トランザクション内のホットスポットを解析などに有用である、正確なクロックティックのエミュレートに必要なイベントを収集します。

[Evaluate max DRAM bandwidth (最大 DRAM 帯域幅を評価)] チェックボックス

収集を始める前に、ローカル DRAM 帯域幅で達成可能な最大値を評価します。このデータは、タームライン上でスケール帯域幅メトリックとしきい値を計算するために使用されます。

[Analyze GPU usage (GPU 使用率を解析)] チェックボックス (インテル® HD グラフィックスおよびインテル® Iris® グラフィックスを搭載する Linux* ターゲットのみ)

アプリケーションが GPU 依存であるか CPU 依存であるかを特定するため、GPU 使用とフレームレートを解析します。

[Collect stacks] オプションを選択してコンテキスト・スイッチを検出し、CPU と GPU 使用データを関連付けます。

[Analyze Processor Graphics hardware events (プロセッサー・グラフィックスのハードウェア・イベントを解析)] ドロップダウン・メニュー

GPU メトリックの事前定義されたグループを基に、インテル® HD グラフィックスとインテル® Iris® グラフィックスからのパフォーマンス・データを解析します。

[GPU sampling interval, ms (GPU サンプリング間隔、ミリ秒)] フィールド

GPU サンプリングの間隔を指定します (ミリ秒)。

[Trace OpenCL and Intel Media SDK programs (Intel Graphics Driver only) OpenCL* とインテル(R) Media SDK プログラムをトレース (インテル(R) グラフィックス・ドライバーのみ))] チェックボックス

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

インテル® Media SDK プログラムの解析は、Linux* ターゲットでのみ利用できます。

[Analyze loops (ループを解析)] チェックボックス

ループ解析を拡張し、命令セットの使用など高度なループ情報を収集して、ループと関数の解析結果を表示します。このオプションが有効にされると、インテル® VTune™ Amplifier は自動的にループと関数フィルターモードを適用してグリッドにデータを表示し、特定の関数やループなどで使用される命令セットを表示する [Vector Instruction Set (ベクトル命令セット)] 列を有効にします。

[Managed runtime type to analyze (解析するマネージド・ランタイム・タイプ)] メニュー

解析するマネージドランタイムのタイプを選択します。次のオプションが利用できます。

  • Windows* ターゲット: Java* と .NET を組み合わせた解析

  • Linux* ターゲット: Java* コードのみの解析

[Analyze OpenMP regions (OpenMP* 領域を解析)] チェックボックス

領域/ワークシェア構造でパフォーマンス・データをグループ化するため、アプリケーションの OpenMP* 領域をインストルメントし、インバランスなどの非効率性、ロック競合または、スケジュールのオーバーヘッド、リダクション、およびアトミック操作を特定します。このオプションを使用すると、オーバーヘッドが大きくなり、結果サイズが増加します。

[Profiling mode (プロファイル・モード)] ドロップダウン・メニュー

非効率なアルゴリズムに起因する基本ブロックのレイテンシーやメモリーアクセスの問題によるメモリー・レイテンシーを特定するため、プロファイル・モードを選択します。このオプションは通常、GPU in-kernel プロファイルで使用されます。

テーブルから注目するカーネルを指定し、収集のオーバーヘッドを最小化する特定のカーネルを指定して、GPU in-kernel 解析を掘り下げます。必要であれば、各カーネル向けの [Instance step (サンプリング間隔)] を変更します。

[Event mode (イベントモード)] ドロップダウン・リスト

イベントベースのサンプリング収集を USER (ユーザーイベント) または OS (システムイベント) に制限します。デフォルトではすべてのイベントタイプが収集されます。

[Collect context switches (コンテキスト・スイッチを収集)] チェックボックス

アプリケーションのすべてのスレッドに対する詳細なスケジュールのレイアウトを解析し、スレッドのコンテキスト・スイッチの性質 (プリエンプトか同期か) を特定します。

[Use precise multiplexing (高精度の多重化を使用)] チェックボックス

細粒度の [event multiplexing (イベントの多重化)] モードを有効にして、各サンプルでイベントグループを切り替えます。このモードは、短時間実行されるアプリケーション向けにより信頼性の高い統計情報をもたらします。MUX 信頼性メトリックの値が低い場合、高精度の多重化アルゴリズムを適用することを検討してください。

下にある [Command Line... (コマンドライン...)] ボタンを使用して、この設定のコマンドラインを生成できます。

関連情報