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

ハードウェアの問題ビューポイント

ハードウェア・イベント・メトリックごとの PMU 解析向けにインテル® VTune™ Amplifier のハードウェア問題のビューポイントを使用します。このビューポイントは、コード中のキャッシュミス、分岐予測ミス、競合したアクセスなどのパフォーマンスの問題の可能性をハイライト表示し、ハードウェアに関連する最適化のアドバイスを提供します。

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

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

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

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

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

  4. その他の解析タイプを試すします。

パフォーマンス・メトリックを理解し、パフォーマンス・ベースラインを定義

[Hardware Issues (ハードウェアの問題)] ビューポイントで [Summary (サマリー)] タブをクリックして、[Summary] ウィンドウを表示します。最初のセクションは、クロックティックやパイプライン・スロットで測定されたハードウェア関連のメトリックごとのアプリケーションの実行全体における特性のサマリーを示しています。疑問符にカーソルをホバーすると、メトリックの説明が表示されます。

ハードウェアの問題ビューポイント: [Summary] ウィンドウ

上記の例では、[LLC Miss (LLC ミス)] メトリックにカーソルをホバーして、そのヒントを表示しています。フラグでマークされた CPI Rate (CPI レート)、LLC Miss (LLC ミス)、および Branch Mispredict (分岐予測ミス) メトリックの値は、アプリケーションの実行全体に影響するパフォーマンスの問題を示しています。フラグマークにマウスをホバーすると、検出されたパフォーマンスの問題に関する説明が表示されます。

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

灰色で反転表示されるメトリック値は、このメトリックで収集されたデータの信頼性が低いことを表します。このような信頼性の低いメトリック値にマウスポインターをホバーすると、インテル® VTune™ Amplifier は次のようなメッセージを表示します: This metric cannot be reliably calculated due to multiplexing issues or a low number of collected PMU samples (多重化の問題または収集された PMU サンプルの数が少ないため、このメトリックを正確に計算できません)。このデータは無視できますが、収集に戻ってデータ収集時間、サンプリングの間隔、またはワークロードを増やして再度収集することもできます。

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

プログラムユニットごとのパフォーマンス問題を表示するには、[Bottom-up (ボトムアップ)] ウィンドウに切り替えます。各列には、プログラムユニットと消費された CPU サイクルの比率が表示されます。プログラムユニットが CPU 時間の 5% 以上を占有する場合、ホットスポットであると考えられます。フィルターを適用する場合、その行はフィルター処理されるデータの CPU 時間の 5% 以上である必要があります。例えば、CPU 時間が 2.5% の関数は、フィルター処理によりモジュール数が半分になると、残りのモジュールの CPU 時間の 5% になるためハイライト表示されます。

デフォルトでは、データは降順でソートされ、ホットスポットはリストの上部に表示されます。

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

ハードウェアの問題ビューポイント: [Bottom-up] ウィンドウ

上記の例では、インテル® VTune™ Amplifier は、price_out_impl 関数を最も CPU 時間を消費するアプリケーションのホットスポットとして特定しています。インテル® VTune™ Amplifier は、この関数のパフォーマンスに影響する 3 つのハードウェアの問題を検出しています: 命令リタイアごとのクロック (CPI)、ラストレベル・キャッシュ・ミス (LLC Miss)、および分岐予測ミス (Branch Mispredict)。例えば、price_out_impl 関数実行中に処理される LLC ミスの問題では、CPU サイクルの 36.7% がデータの到着を待機するために費やされています。つまり、このホットスポット関数に注目して、メモリーアクセスを最適化することで、この関数のパフォーマンスが最大 36% も向上する可能性があります。

ソースを解析

クリティカルな関数をダブルクリックすると、[Source (ソース)]/[Assembly (アセンブリー)] ウィンドウが開くのでソースコードを解析します。[Source]/[Assembly] ウィンドウには、イベントデータが表示されます。ここでは、[Bottom-up] ペインでパフォーマンスに重大な影響を与えると識別されたハードウェア・メトリックに含まれるイベントに注目します。列をソートして必要なデータを左端に表示したり、必要なイベント列を [Data of Interest (注目するデータ)] として定義できます。注目するイベントは、ホットスポットを探す際に使用されます。インテル® VTune™ Amplifier は設定を保存し、毎回その設定で結果を開きます。

その他の解析タイプを試す

  • プロセッサー・イベントの詳細を見るには、[Help (ヘルプ)] ツールバーボタン をクリックしてドロップダウン・メニューから [Intel Processor Event Reference (インテル(R) プロセッサー・イベント・リファレンス)] を選択します。

  • イベントベース・サンプリング収集を使用した HPC コンピューター向けのパフォーマンス・チューニングについては、https://www.isus.jp/products/vtune/processor-specific-performance-analysis-papers/ を参照してください。

関連情報