インテル® VTune™ Amplifier を使用して、アプリケーションの呼び出しツリーのループ階層を表示し、最適化の対象とするコード領域を特定します。
- データを収集し結果を開きます。
注
ループ反復数と平均反復数を予測するには、高度なホットスポット解析で [Hotspots, call counts, loop trip counts and stacks (ホットスポット、コールカウント、ループ・トリップ・カウント、スタック)] 収集レベルを選択するか、カスタム・ハードウェア・イベントベース・サンプリング解析で[Estimate trip counts (トリップカウントを予測)] オプションを有効にします。
- フィルターツールバーの [Loop Mode (ループモード)] ドロップダウン・メニューから必要なフィルターレベルを選択します。
[Loops only (ループのみ)]: ツリーに通常ノードとしてループを表示します。ループ名は次のように構成されます。
ループの開始アドレス
このループが実行されたコードの行番号
このループが実行された関数名
[Loops and functions (ループと関数)]: ループと関数を異なるノードで表示します。
[Functions only (関数のみ)]: ループ情報を持たない関数のデータを表示します (デフォルト)。
インテル® VTune™ Amplifier は、選択されたフィルターレベルに合わせてグリッドを更新します。
- [Bottom-up (ボトムアップ)] と [Top-down Tree (トップダウン・ツリー)] ウィンドウのセルフ (Self) と合計 (Total) メトリックを解析して、最も時間を消費するループを特定します。
- 注目するループをダブルクリックすると、ソースコードが開きます。
インテル® VTune™ Amplifier は、選択されたループを含む関数のソースファイルを開きます。ループを構成するコード行がハイライト表示されます。
注
コード行の情報は、関数のデバッグ情報が提供されている場合にのみ表示されます。
例
最も時間を消費するループを特定するには、[Bottom-up] ウィンドウで [Loops only] モードを選択します。デフォルトで CPU 時間値の最も高いループが、グリッドの上位に表示されます。
最も重い上位レベルのループを特定するには、[Top-down Tree] ウィンドウに切り替えます。グリッドのデータは合計時間メトリックでソートされ、最もホットな上位レベルのループが最初に表示されます。
ループ・トリップ・カウントの推測を有効にしている場合、追加のメトリックを使用してループが実行された頻度を解析する方法も考えられます。