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

カスタム解析オプション

事前定義された解析タイプのコピーを作成する場合、新しいカスタム設定は元の解析で使用されるすべてのオプションを編集可能な状態で継承します。

以下は、カスタム設定で利用可能なすべてのオプション (knob) のアルファベット順のリストです。

A B CDE F G H I J K LM N O P Q R STU V W X Y Z

A

[Analyze GPU usage (GPU 利用率を解析)] チェックボックス (インテル® HD グラフィックスやインテル® Iris® グラフィックスを搭載した Linux* ターゲットで使用可能)

GPU 利用率を解析して、アプリケーションが CPU または GPU のどちらに依存しているか判断します。

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

各スレッドと CPU が I/O 待機状態で費やす時間のパーセンテージを解析します。

[Analyze interrupts (割り込み解析)] チェックボックス

プログラムの通常の実行フローを妨げる割り込みイベントを収集します。通常これらのイベントは、ハードウェア・デバイスまたは CPU で生成されます。このデータを使用して、コードのパフォーマンスに影響する低速割り込みを特定します。

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

ループ解析を拡張し、命令セットの使用など高度なループ情報を収集して解析結果をループと関数別に表示します。

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

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

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

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

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

メモリーの割り当て/解放のインストルメントを有効にして、ハードウェア・イベントをメモリー・オブジェクトに関連付けます。

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

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

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

PCIe* 帯域幅を計算するのに必要なイベントを収集します。タイムライン上のリード/ライト操作の分布を解析し、PCIe* バス帯域幅の限界に到達してアプリケーションが停止する可能性がある場所を特定できます。

[デバイスクラス] ドロップダウン・メニューでは、PCIe* 帯域幅を解析するデバイスクラスを次から選択できます: 処理アクセラレーター、大容量記憶装置、ネットワーク・コントローラー、またはすべてのデバイスクラス (デフォルト)。

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

[Analyze power usage (電力使用を解析)] チェックボックス

プロセッサーごとの電力消費を時系列にトレースして、CPU スロットリングの原因であるか確認します。

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

事前定義された GPU メトリックに基づいて、インテル® HD グラフィックスおよびインテル® Iris® グラフィックス (以降、インテル® グラフィックス) のパフォーマンス・データを解析します。

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

システム上のすべてのスレッドのスケジュールを詳しく解析して、スレッドのコンテキスト・スイッチの原因 (プリエンプションまたは同期) を特定します。

[Analyze user synchronization (ユーザー同期を解析)] チェックボックス

スレッドの同期を解析するには、ユーザー同期 API プロファイルを有効にします。このオプションを使用すると、オーバーヘッドが大きくなり、結果サイズが増加します。

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

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

C

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

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

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

アプリケーションのすべてのスレッドのスケジュールを詳しく解析して、スレッドのコンテキスト・スイッチの原因 (プリエンプションまたは同期) を特定します。

Perf ベースのドライバーを使用しない収集では、コンテキスト・スイッチのタイプ (プリエンプションや同期) を識別できません。

[Collect CPU sampling data (CPU サンプリング・データを収集)] メニュー

CPU サンプルと関連するコールスタック情報を収集するかどうか選択します。

[Collect highly accurate CPU time (高精度の CPU 時間を収集)] チェックボックス (Windows* ターゲットのみ)

精度の高い CPU 時間データを収集します。このオプションを使用すると、ランタイムのオーバーヘッドが大きくなり、結果サイズが増加します。管理者権限が必要です。

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

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

[Collect Parallel File System counters (並列ファイルシステムのカウンターを収集)] チェックボックス

並列ファイルシステム・カウンターの収集を有効にして、帯域幅、パッケージレート、平均パケットサイズなどを含む Lustre* ファイルシステムのパフォーマンス統計を解析します。

[Collect signalling API data (シグナル API のデータを収集)] メニュー

シグナルコールの同期オブジェクトとコールスタックに関する情報を収集するか選択します。この解析オプションは、タイムラインの同期遷移と関連する待機のシグナル・コールスタックの特定を支援します。コレクターはシグナル API をインストルメントするため、オーバーヘッドが大きくなり、結果サイズが増加します。

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

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

[Collect synchronization API data (同期 API のデータを収集)] メニュー

同期待機呼び出しと関連するコールスタック情報を収集するかどうか選択します。この解析オプションを使用すると、スレッドが待機する場所を特定し、スレッドの並行性を計算できます。コレクターは API をインストルメントするため、オーバーヘッドが大きくなり、結果サイズが増加します。

[Collect thread affinity (スレッド・アフィニティー収集)] チェックボックス

ソケット、物理コア、および論理コアへのスレッドの割り当てを解析します。物理コアの代わりに論理コアを使用したり、物理 CPU 利用率の低下に影響する不適切なアフィニティーを特定します。

アフィニティー情報は、スレッドのライフタイムの最後に収集されるため、結果データはスレッドの存続中に変更される動的なアフィニティーの問題全体を示すものではありません。

[CPU Events (CPU イベント)]

  • 最初のカラムのチェックボックスを使用して、収集するハードウェア・イベントを指定します。デフォルトでは、この表にはターゲット・プラットフォームで使用可能なすべてのイベントと、事前選択された解析設定のイベントが表示されます。検索機能を使用してイベントを見つけることができます。イベントの詳細を取得するには、表でイベントを選択して [説明] ボタンをクリックします。

  • イベントのサンプリング間隔値 (SAV) を変更して、インテル® VTune™ プロファイラーがイベントデータ収集に割り込む間隔を制御します。サンプリング間隔値 (SAV) はターゲットの持続時間に依存します。持続時間の値に基づいて、インテル® VTune™ プロファイラーは乗数を使用してサンプリング間隔値 (SAV) を調整します。

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

CPU サンプルを収集する間隔を指定します (ミリ秒)。

D

[Disable alternative stacks for signal handlers (シグナルハンドラー向けに代替スタックを無効化)] チェックボックス (Linux* ターゲットで利用可能)

シグナルハンドラー向けに代替スタックを無効にします。Linux* 上で Python* 3 コードをプロファイルする場合、このオプションの利用を検討してください。

E

[Enable driverless collection (ドライバーを使用しない収集を有効にする)] チェックボックス

可能であれば、ドライバーを使用しない Perf ベースのハードウェア・イベントベース収集を使用します。

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

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

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

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

G

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

このプロファイル・モードを選択して、事前定義された GPU ハードウェア・メトリックに基づいて GPU パフォーマンスの問題を分類するか、ソース解析を有効にして、非効率なアルゴリズムによる基本ブロック・レイテンシーまたはメモリーアクセスの問題によるメモリー・レイテンシーを特定します。

注目する計算タスクの表を使用して、対象とするカーネルを指定し、GPU 解析を特定のカーネルに絞り込んで、収集のオーバーヘッドを最小化します。必要であれば、それぞれのカーネルのインスタンス・ステップ (カーネル数単位のサンプリング間隔) を変更します。

[GPU サンプリング間隔 (ミリ秒)] フィールド

GPU サンプルを収集する間隔を指定します。

L

[Limit PMU collection to counting (PMU 収集のカウンティングを制限)] チェックボックス

デフォルトの各 PMU イベントの詳細なコンテキスト・データ (コードやハードウェア・コンテキスト) の代わりに、イベントカウントを収集します。カウントモードでは、オーバーヘッドは少なくなりますが情報量も少なくなります。

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

カーネル・イベント・ライブラリーを使用して、コレクターで監視する Linux* Ftrace および Android* フレームワーク・イベントを選択します。収集されたデータは、タイムラインではタスクとして表示されます。タスクのグループ化レベルを適用して、グリッドにパフォーマンス統計を表示することも可能です。

M

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

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

  • Windows* ターゲット: Java* と .NET を解析。Java*、.NET および Python* を解析。Python* のみを解析。

  • Linux* ターゲット: Java* のみを解析。Java* と Python* を解析。Python* のみを解析。

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

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

P

[Profile with Hardware Tracing (ハードウェア・トレースによるプロファイル)] チェックボックス

ドライバーを使用しないハードウェア・トレース収集を有効にして、マイクロ秒レベルでコードの CPU アクティビティーを調査しレイテンシーの問題を切り分けます。

S

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

処理する生スタックサイズを指定します (バイト)。GUI の無制限のサイズ値は、コマンドラインの 0 値に相当します。指定できる値は、0 から 2147483647 の間の整数値です。

[Stack type (スタックタイプ)] ドロップダウン・メニュー

ソフトウェア・スタックとハードウェア LBR ベースのスタックタイプのいずれかを選択します。ソフトウェア・スタックには深さの制限がなく、ハードウェア・スタックよりも多くのデータを提供しますが、オーバーヘッドは増加します。一般に、収集のオーバーヘッドが重要でなければ、ソフトウェア・スタック・タイプを推奨します。ハードウェア LBR スタックタイプは、すべてのプラットフォームで利用できません。

[Stack unwinding mode (スタック・アンワインド・モード)] メニュー

収集でオンライン (収集中) またはオフライン (収集後) のスタック・アンワインドが必要であるかどうか選択します。オフラインモードは、解析のオーバーヘッドを軽減するため、通常推奨されます。

[Stitch stacks (スタックのスティッチ)] チェックボックス

インテル® ランタイム・ライブラリーとインテル® TBB または OpenMP* を使用するアプリケーションでは、呼び出しフローを再構築して、スタックを並列ワークロードの開始位置にアタッチします。

T

[Trace GPU Programming APIs (GPU プログラミング API をトレース)] チェックボックス

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

U

[Uncore sampling interval, ms (アンコア・サンプリング間隔 (ミリ秒))] フィールド

アンコアイベントのサンプリング間隔を指定します (ミリ秒)。

[Use precise multiplexing (プリサイス多重化を使用)] チェックボックス

各サンプルでイベントグループを切り替える、細粒度のイベント多重化モードを有効にします。このモードは、実行時間が短いアプリケーションで信頼度の高い統計情報を提供します。結果の MUX 信頼性 メトリック値が低い場合、正確な多重化アルゴリズムを有効にすることもできます。

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

関連情報