< Table Of Contents

ホットスポット解析の実行と解釈

チュートリアルのステージでは、ホットスポット解析を実行して、ホットスポット、つまりアプリケーションの合計経過時間に最も影響するコード領域を見つけます。

ホットスポット解析の実行

パフォーマンス・スナップショットの [サマリー] ウィンドウからホットスポット解析を実行するには:

  1. 解析ツリー[ホットスポット] アイコンをクリックします。

    [解析の設定] ウィンドウが開きます。

  2. [どこを] ペインでは、[ローカルホスト] を選択します。

  3. 提供されているサンプル (matrix) プロジェクトを使用している場合は、[何を] ペインがすでに構成されているはずです。

    そうでない場合は、[アプリケーション] テキストボックスにアプリケーションへのパスを入力します。

  4. [どのように] ペインでは、[ホットスポット] 解析が事前にを選択されています。

    収集モードでは、[ユーザーモード・サンプリング][ハードウェア・イベントベース・サンプリング] のどちらかを選択できます。これらのサンプリングの仕組みは異なりますが、通常は、より少ないオーバーヘッドでより詳細な情報が得られるため、可能な場合は [ハードウェア・イベントベース・サンプリング] を使用することをお勧めします。

  5. [開始] ボタンをクリックして解析を実行します。

ホットスポット結果データの解釈

サンプル・アプリケーションが終了すると、インテル® VTune™ プロファイラーは結果を確定し、[サマリー] ビューポイントを開きます。

このビューポイントでは、複数のメトリックが提供されます。疑問符 (?) アイコンの上にマウスを移動すると、各メトリックの詳細な説明が表示されます。

アプリケーションの合計 CPU 時間は約 105 秒であることに注意してください。これは、アプリケーション内のすべてのスレッドの CPU 時間の合計です。合計スレッド数は 20 であるため、アプリケーションはマルチスレッドで構成されています。

[サマリー] ウィンドウの [上位ホットスポット] セクションには、実行に費やされた CPU 時間順に並べられた、最も時間のかかる関数 (ホットスポット関数) に関するデータが表示されます。サンプル・アプリケーションでは、実行に約 104 秒要した multiply1 関数が、最もホットな関数としてリストの先頭に表示されます。

[サマリー] ウィンドウの下部にある [効率良い CPU 利用率の分布図] は、使用可能な論理プロセッサーの経過時間と使用レベルを表し、アプリケーションの実行中に使用された論理プロセッサー数をグラフで表示します。理想的には、グラフの最も高いバーがターゲット利用率のレベルと一致する必要があります。

最も時間のかかるコード領域を特定

コードの関数ごとのビューを取得するには、[ボトムアップ] タブに切り替えます。デフォルトでは、グリッドのデータは関数ごとにグループ化されます。グリッドの上部にある [グループ化] メニューを使用して、グループ化のレベルを変更できます。

multiply1 関数の実行には約 104 秒と最も時間がかかっており、CPU 利用率が低いことがわかります。

関数ごとの詳細な CPU 利用率を取得するには、[ボトムアップ] ペインの [展開] ボタンをクリックして、利用率別の有効時間カラムを展開します。

[ボトムアップ] グリッドの multiply1 関数をダブルクリックして、ソースウィンドウを開きます。

最も時間のかかる行は、multiply1 関数で行列乗算を実行するループであることに注目してください。

メモリーに関連するこのループの動作を解析するには、メモリーアクセス分析を実行します。

次のステップ: メモリーアクセス解析を行います。