インテル® VTune™ Amplifier 2018 ヘルプ
インテル® VTune™ Amplifier は解析結果を比較して、次のウィンドウのように異なる結果タブ <result1>-<result2> にその差を表示します。
[Summary (サマリー)] ウィンドウは、実行した解析の上位レベルの差を示します。
[Bottom-up (ボトムアップ)] ウィンドウでは、メトリックごとに関数とその呼び出し元の差を表示します。
[Top-down Tree (トップダウン・ツリー)] ウィンドウは、メトリックごとに関数とその呼び出し先の差を表示します。
[Caller/Callee (呼び出し元/呼び出し先)] ウィンドウは、メトリックごとに選択された関数とその呼び出し元と呼び出し先の差を表示します。
デフォルトでインテル® VTune™ Amplifier は、関数のインスタンスに基づくコールスタック単位でグループ化された比較結果を表示します。しかし、ソース関数スタックによるグループ化に切り替えることで、次のような場合にはより精度の高い比較結果を取得できます。
ソースコードを少し変更して再コンパイルした
コンパイルオプションを変更して再コンパイルした
異なるインテル® マイクロアーキテクチャー (例えば、開発コード名 Sandy Bridge と開発コード名 Westmere 解析タイプ) 向けにコンパイルおよび収集された結果を比較する
例えば、関数 my_f を含むバイナリーに新しい関数 my_f1とこの関数への呼び出しを追加すると、my_f のアドレスが変わります。デフォルトのコールスタックによるグループ化を使用して変更前と後の結果を比較すると、インテル® VTune™ Amplifier は異なるアドレスを持つ同じ関数を別のものとして扱い、それらを比較しません。
ソース関数スタックでデータが収集されると、インテル® VTune™ Amplifier は開始アドレスを無視してソースファイル・オブジェクトで関数を比較します。
[Bottom-up] または [Top-down Tree] ウィンドウでバー形式でパフォーマンス・データを表示すると、インテル® VTune™ Amplifier は次のようにバーのサイズを調整します。
結果データ列 |
差分 (Difference) 列 |
---|---|
cell_data_value/absolute_max_value_in_result_column |
cell_data_value/max (absolute_max_value_in__1st_result_column、absolute_max_value_in_corresponding_2nd_result_column) |
例: バーサイズの計算
次の表は、インテル® VTune™ Amplifier が、絶対最大 CPU 時間値と列ごとのパフォーマンス・データを基に、比較モードでバーのサイズを計算する例を示します。
CPU Time:r001 |
CPU Time:r002 |
CPU Time:Difference |
|
---|---|---|---|
絶対最大値 (インテル® VTune™ Amplifier によって内部的に計算されますが、グリッドには表示されません) |
10s |
20s |
20s |
パフォーマンス・データ |
1s |
3s |
2s |
バーサイズ |
1s/max(10s,20s) |
3s/max(10s,20s) |
2s/max(10s,20s) |