< 目次

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

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

hotspots 解析の実行

Performance Snapshot の [Summary] ウィンドウからホットスポット解析を実行するには:

  1. Analysis tree[Hotspots] アイコンをクリックします。

    [Configure Analysis] ウィンドウが開きます。

  2. [WHERE] ペインでは、[Local Host] を選択します。

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

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

  4. [HOW] ペインでは、[Hotspots] 解析が事前にを選択されています。

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

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

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

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

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

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

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

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

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

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

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

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

[Bottom-up] グリッドの multiply1 関数をダブルクリックして、[Source] ウィンドウを開きます。

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

メモリーに関連するこのループの動作を解析するには、Memory Access 解析を実行します。

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