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

全般解析ビューポイント

実行カテゴリーで分類された主要なハードウェア・メトリックを使用する、トップダウンのマイクロアーキテクチャー解析法による PMU 解析向けのインテル® VTune™ Amplifier の全般解析ビューポイントを調査することで、パイプラインのどの部分が実行時間の大半を占めるか容易に特定できます。

全般解析タイプのデータ収集が完了すると、インテル® VTune™ Amplifier は [General Exploration viewpoint (全般解析ビューポイント)] を開きます。ビューポイントに表示されるイベントベース・メトリックの階層は、ハードウェアのアーキテクチャーによって変わります。例えば、インテル® マイクロアーキテクチャー開発コード名 Ivy Bridge 以降では、インテル® VTune™ Amplifier はトップダウンのマイクロアーキテクチャー解析法に基づいて実行カテゴリーを解析します。

サイクルが費やされている場所を特定する

全般解析ビューポイントの上位レベルのパフォーマンス・メトリックは、4 つのカテゴリーに分類されています。

それぞれのメトリックは、インテル® アーキテクチャーで定義されているイベント比率と、固有の事前定義されたしきい値を持っています。インテル® VTune™ Amplifier は、それぞれのプログラムユニット (関数など) で収集された比率を解析します。この値がしきい値を超え、プログラムユニットの CPU 時間が収集された CPU 時間全体の 5% を上回ると、潜在的なパフォーマンスの問題につながるため、その値はピンク色で強調表示されます。

ハードウェア・イベントベース・サンプリング解析で示されるパフォーマンス・データを解釈するため、次のステップに従います。

  1. メトリックを知りパフォーマンスのベースラインを定義します。

  2. ハードウェアの問題を特定します。

  3. ソースを解析します。

  4. その他の解析タイプ/ビューポイントを調査します。

メトリックを知りパフォーマンスのベースラインを定義

全般解析ビューポイントで、[Summary (サマリー)] タブをクリックして [Summary] ウィンドウに切り替えます。

最初のセクションは、パイプライン・スロットやクロックティックで測定されたハードウェア関連のメトリックごとのアプリケーションの実行全体における特性のサマリーを示しています。メトリックは、実行カテゴリーごとに構成されます。メトリックの説明を見るには、ヘルプアイコン にマウスポインターを移動します。

全般解析表示: [Summary] ウィンドウ

上記は、[L1 Bound (L1 依存)] メトリックにマウスポインターを移動して表示される説明の例です。

フラグが表示されるメトリックは、アプリケーション実行全体でパフォーマンスの問題に影響することを示します。表示されているフラグの値にマウスポインターを移動すると、問題の説明が表示されます。

開発者の皆さんは、インテル® VTune™ Amplifier によって特定されたパフォーマンスの問題をベースラインとして、最適化の前後で比較されることでしょう。最もよく利用されるパフォーマンス・メトリックは Elapsed time (経過時間) 値です。

灰色で反転表示されるメトリック値は、このメトリックで収集されたデータの信頼性が低いことを表します。これは例えば、収集された PMU イベントのサンプル数が非常に少ないことが考えられます。このような信頼性の低いメトリック値にマウスポインターを移動すると、インテル® VTune™ Amplifier は次のようなメッセージを表示します。

このデータは無視できますが、収集に戻ってデータ収集時間、サンプリングの間隔、またはワークロードを増やして再度収集することもできます。

すべてのメトリック名はハイパーリンクになっており、クリックすると、[Bottom-up (ボトムアップ)] ウィンドウが開いて選択されたメトリックでグリッド中のデータがソートされます。

ハードウェアの問題を特定

プログラムユニットごとのパフォーマンス問題を表示するには、[Bottom-up] ペインに切り替えます。各列はプログラムユニットとそのユニットで費やされる時間の比率を表します。プログラムユニットが CPU 時間の 5% 以上を占有する場合、ホットスポットであると考えられます。デフォルトで、インテル® VTune™ Amplifier はクロックティックを降順でソートしたデータを表示するため、リストの上位にホットスポットが現れます。

[Bottom-up] ペインのほとんどの列は、ハードウェアのパフォーマンス・メトリックを表します。インテル® VTune™ Amplifier は、インテル® アーキテクチャー向けの式を基にメトリックを計算します。メトリックの説明と式を見るには、列のヘッダーにマウスポインターを移動します。デフォルトでは、メトリック値は数値として表示されます。[Show Data As (形式を指定してデータを表示)] コンテキスト・メニューで表示モードを変更できます。

各メトリックにはしきい値が設定されています。メトリック値がしきい値を超えるプログラムユニットはホットスポットであり、インテル® VTune™ Amplifier はパフォーマンス・クリティカルであるとして、その値をピンク色で強調表示します。問題の説明、解決策 (もしあれば)、および問題のしきい値を計算するために使用された式を見るには、それぞれのピンクのセルにマウスポインターを移動します。

全般解析ビューポイント: [Bottom-up] ウィンドウ

上記の例は、インテル® マイクロアーキテクチャー開発コード名 Skylake 上で、price_out_impl 関数を最も CPU 時間を消費するアプリケーションのホットスポットとして特定しています。インテル® VTune™ Amplifier は、パイプラインのバックエンドがストールしており、バックエンドで [Memory Bound (メモリー依存)] > [DRAM Bound (DRAM 依存)] のボトルネックの問題を認識しました。44.9% のクロックティックが price_out_impl 関数でストールし DRAM からのデータを待機しています。これは、この関数のホットスポットに注目して最適化すると、~2 倍スピードアップできる可能性があることを意味します。

インテル® VTune™ Amplifier は、一般的な種類のパイプラインのボトルネックを特定できます。そして、ボトルネックを掘り下げることで、詳細が得られます。下位レベルのメトリックのデータが表示されない場合、インテル® VTune™ Amplifier は下位レベルでボトルネックを見つけられなかったことを意味します。

ソースを解析

クリティカルな関数をダブルクリックすると、[Source (ソース)]/[Assembly (アセンブリー)] ウィンドウが開くのでソースコードを解析します。

[Source]/[Assembly] ウィンドウでは、ソースレベルでメトリックが表示されるため、メトリックで示される問題につながるコードの位置を特定できます。例えば、関数のバックエンドのメトリックが 60% であるとすると、ソース表示では 60% が行レベルや命令レベルに分割され、バックエンドのメトリックに最も影響するソース行/命令を特定するのに役立ちます。

ホットスポット・ナビゲーション・ツールバーのボタンを使用して、それぞれのメトリックに影響する最も重要なホットスポットへ移動し、最適化すべきコードを特定できます。

その他の解析タイプ/ビューポイントを調査

プロセッサーのイベントに関する情報は、「インテル® プロセッサー・イベント・リファレンス」をご覧ください。

関連情報