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

高度なホットスポット解析

高度なホットスポット解析は、アプリケーション内のパフォーマンス・クリティカルなコード領域 (ホットスポット) を特定し、そのデータをシステムのパフォーマンスと関連付ける迅速で容易な方法です。

インテル® VTune™ Amplifier による周期的な命令ポインターのサンプリングは、他の領域よりも実行時間を費やしているアプリケーションのコード位置を特定します。コードが低速であるか、関数が頻繁に呼び出されることで多くの時間を消費する可能性があります。しかし、そのような関数のスピードを改善することは、アプリケーションのパフォーマンス全体に大きな影響を与えます。

インテル® VTune™ Amplifier は、関数で費やされた時間順にアプリケーションの関数のリストを作成します。デフォルトでは、高度なホットスポット解析は、ホットスポットが収集された関数のコールスタックは検出しませんが、システム上のすべてのプロセスのサンプルを収集できます。イベントベース・サンプリング収集を使用する解析タイプでは、システムで実行しているすべてのプロセスを解析してシステム全体の CPU 時間データを提供します。

[Advanced Hotspots (高度なホットスポット)] ペインでスタック解析を含む収集レベルを選択することで、アプリケーション・モジュールのスタック解析を行うことができます。例えば、[Hotspots, call counts and stacks (ホットスポット、コールカウント、スタック)] 収集レベルを選択すると、高度なホットスポットはパフォーマンス、並列性および電力消費データを実行パスに関連付けます。

32 ビット Linux* システムでは、インテル® VTune™ Amplifier は高度なホットスポット解析を実行するため、スタックによるドライバーを必要としない収集 Perf ベースの収集を使用します。

高度なホットスポット解析を行うには次を確認します。

設定オプション

高度なホットスポット解析向けの設定オプション:

必要条件: プロジェクトを作成し、解析ターゲットを指定します。

  1. インテル® VTune™ Amplifier ツールバーの (スタンドアロン GUI)/(Visual Studio* IDE) [New Analysis (新規解析)] ボタンします。

    [Analysis Type (解析タイプ)] ウィンドウをアクティブにして、[New Amplifier Result] タブを開きます。

  2. 左のペインから、[Algorithm Analysis (アルゴリズム解析)] > [Advanced Hotspots (高度なホットスポット)] を選択します。

    右側に [Analysis Configuration (解析オプション)] ペインが開きます。

  3. 解析オプションを設定します。

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

    CPU サンプルの間隔 (ミリ秒で) を指定します。

    指定可能な値 - 0.01-1000

    デフォルト値は、1 です。

    [Collection Level (収集レベル)] オプション

    イベントベース・サンプリング収集で提供される詳細レベルを選択します。詳細な収集レベルでは高いオーバーヘッドが生じます。

    • [Hotspots, call counts and stacks]
    • [Hotspots (ホットスポット)]
    • [Hotspots and stacks (ホットスポットとスタック)]
    • [Hotspots, call counts, loop trip counts and stacks (ホットスポット、コールカウント、ループ・トリップ・カウント、スタック)]

    デフォルト値は、[Hotspots] です。

    [Event mode (イベントモード)] ドロップダウン・メニュー

    OS またはユーザーモードにイベントベース・サンプリング収集を制限します。

    • [All (すべて)]
    • [OS]
    • [USER (ユーザー)]

    デフォルト値は、[All] です。

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

    ITT API を使用してコード中で指定したタスク、イベント、およびカウンターを解析します。このオプションを指定すると、高いオーバーヘッドが生じ、結果ファイルのサイズが増加します。

    デフォルト値は、[false] です。

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

    OpenMP* 領域をインストルメントおよび解析し、インバランス、ロックの競合、またはスケジュール、リダクション、およびアトミック操作におけるオーバーヘッドなど非効率な振る舞いを特定します。

    デフォルト値は、[false] です。

    [Details (詳細)] ボタン

    この解析タイプで使用されるデフォルト設定 (編集不可) のリストを展開/折りたたみます。解析向けの追加設定を修正または有効にする場合、既存の事前定義設定をコピーしてカスタム設定を作成する必要があります。この解析タイプ設定の編集可能なコピーが作成され、左ペインの [Custom Analysis (カスタム解析)] に追加されます。

    • 32 ビット Linux* システムでは、インテル® VTune™ Amplifier は [Hotspots, call counts and stacks][Hotspots, call counts, loop trip counts and stacks] 収集オプションはサポートされません。

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

  4. 解析を実行するには、[Start (開始)] をクリックします。

ビューポイント

デフォルトでは、データ収集結果はホットスポット・ビューポイントに表示されます。解析の設定にもよりますが、特定のパフォーマンスに関する問題を表示するように構成された他のビューポイントに切り替えることができます。

ビューポイント

説明

Hardware Events (ハードウェア・イベント)

モニターされたハードウェア・イベントの特性を表示: 予測されるカウントおよび (または) 収集されたサンプル数。このビューを使用して、注目するイベントの最も高いアクティビティーのコード領域 (モジュール、関数、コード行など) を特定します。

Hardware Issues (ハードウェアの問題)

アプリケーションで利用可能なハードウェア・リソースを活用していない場所を特定するのに役立ちます。このビューポイントは、ハードウェア・パフォーマンス・カウンターから得られるメトリックを表示します。グリッドにハイライト表示されたメトリック値にマウスをホバーすると、そのメトリックがパフォーマンスの問題を引き起こす理由が表示されます。

Hotspots (ホットスポット)

多くの CPU 時間を使用しているコード領域 (ホットスポット) を特定するのに役立ちます。

HPC Performance Characterization (HPC パフォーマンス特性)

アプリケーションが、CPU、メモリー、および浮動小数点演算リソースをどの程度効率良く使用しているか理解するのを支援します。メモリーと FPU の効率を高める次のステップと同様に、このビューではインテルの OpenMP* と MPI ランタイムのスケーラビリティーの問題を特定します。

これらのビューポイントには次のようなウィンドウが含まれます。

次にすることは?

ホットスポットからソースコードを表示します。ホットスポットの原因となるソースコードを表示して、ボトルネックを取り除き、アプリケーションのパフォーマンスが向上するよう修正します。

高度なホットスポット解析によって提供される情報は、シリアル・アプリケーションだけでなく、並列アプリケーションのシリアル領域をチューニングするのにも役立ちます。アルゴリズムをチューニングする場合は、基本ホットスポット解析に加えて、アプリケーションの呼び出しフローを検証したり、並行性解析で並列アルゴリズムの効率性を予測したりすると良いでしょう。

関連情報