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

CPU 使用率の問題向けの基本ホットスポット解析

基本ホットスポット解析を使用してアプリケーションの処理フローを理解し、多くの実行時間 (ホットスポット) を費やすコード領域を特定します。ここがアルゴリズム解析の出発点となります。

特定のプロセス、スレッド、モジュールで大量のサンプルが収集された場合は、CPU 使用率が高いか、または潜在的なパフォーマンス・ボトルネックがあることを意味します。ホットスポットには排除できるものもあれば、アプリケーションの機能性に不可欠で排除できないものもあります。

インテル® VTune™ Amplifier は、関数で費やされた時間順にアプリケーションの関数のリストを作成します。各関数のコールスタックも表示されるので、ホットな関数がどのように呼び出されているか確認できます。

基本ホットスポット解析

インテル® VTune™ Amplifier は、オーバーヘッドの低い (約 5%) ユーザーモード・サンプリング/トレース収集を行うため、アプリケーションの実行速度を大幅に低下させることなく、必要な情報を取得できます。データコレクターは、OS タイマーやプロセスへの割り込みにより、すべてのアクティブな命令アドレスのサンプルを収集し、各サンプルで呼び出しシーケンス (スタック) を再現します。インテル® VTune™ Amplifier は、サンプリング結果の命令ポインター (IP) と呼び出しシーケンス をデータ収集ファイルに保存して、結果タブで収集したデータを解析して表示します。そして、統計的に収集された IP サンプルと呼び出しシーケンスを基に、トップダウン・ツリー (コールツリー) を表示します。このデータは、統計的に重要なコード領域の制御フローを理解するのに役立ちます。

コレクターはシステム全体にわたるデータは収集せず、アプリケーションのデータのみ収集します。システムのパフォーマンスを解析するには、高度なホットスポット解析を実行します。

基本ホットスポット解析タイプを使用するには次を確認します。

設定オプション

基本ホットスポット解析向けのオプションを設定するには、次の操作を行います。

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

  1. (スタンドアロン GUI)/ (Visual Studio* IDE) [New Analysis (新規解析)] ツールバーボタンをクリックします。

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

  2. 左のペインにある解析ツリーから、[Algorithm Analysis (アルゴリズム解析)] > [Basic Hotspots (基本ホットスポット)] 解析タイプを選択します。

    右ペインに [Basic Hotspots] の設定が表示されたら、

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

    [CPU sampling interval, ms (CPU サンプリング間隔、ミリ秒)] スピンボックス

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

    指定可能な値 - 1-1000

    デフォルト値は、10

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

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

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

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

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

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

    [Details (詳細)] ボタン

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

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

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

ビューポイント

基本ホットスポット解析の結果は、次のビューポイントで表示できます。

ビューポイント

説明

Hotspots (ホットスポット)

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

Hotspots by CPU Usage (CPU 使用率別ホットスポット)

多くの CPU 時間を使用しているコード領域 (ホットスポット) を特定するのに役立ちます。CPU 時間は CPU 使用率の状態 (idle、poor、fair、good) に分割されます。

それぞれのビューポイントには、次のウィンドウ/ペインがあります。

次にすることは?

  1. グリッドで最も時間を消費している関数を特定し、ダブルクリックしてソース解析を行います。

  2. クリティカルな関数のハイライトされている最もホットなコード行から開始し、ホットスポットのナビゲーション・オプションによってさらにソースを解析を行います。

  3. コードを修正してボトルネックを解消し、アプリケーションのパフォーマンスを改善します。

  4. 解析を再実行して比較モードで最適化を検証します。

基本ホットスポット解析によって提供される情報は、シリアル・アプリケーションだけでなく、並列アプリケーションのシリアル領域をチューニングするのにも役立ちます。基本ホットスポット解析データを利用することで、アプリケーションが何を行っているか把握し、チューニングが必要なコードを特定することができます。マルチコアシステムで実行している並列アプリケーションについては、追加の解析 (並行性、ロックと待機、または HPC パフォーマンス特性の解析) が必要です。

関連情報