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

カスタム解析オプション

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

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

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A

[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* 領域を測定して、パフォーマンス・データを領域/ワークシェア構造別にグループ化し、スケジュール、リダクションおよびアトミック操作におけるインバランス、ロック競合、またはオーバーヘッドを検出します。このオプションはオーバーヘッドと結果のサイズを増加させます。

[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 tasks, events, and counters (ユーザータスク、イベントおよびカウンターを解析)] チェックボックス

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

[Analyze user histogram (ユーザー分布図を解析)I] チェックボックス

コードからヒストグラム API で指定されるヒストグラム (分布図) を解析します。このオプションはオーバーヘッドと結果のサイズを増加させます。

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

スレッドの同期を解析するには、ユーザー同期 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 ベースのハードウェア・イベントベース収集を使用します。

[DRAM の最大帯域幅を評価] チェックボックス

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

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

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

G

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

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

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

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

GPU サンプル間の間隔を指定します。

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

GPU 使用を解析して、アプリケーションが CPU または 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 (スタックのスティッチ)] チェックボックス

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

T

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

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

U

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

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

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

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

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

関連情報