ハードウェア・イベント・スキッド

同カテゴリーの次の記事

解析ターゲット

この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Hardware Event Skid」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS 環境でも十分ご利用いただけます。また、構成は英語版のヘルプと同じ階層構造にしてあります。


イベントスキッドは、イベントを発生させるソースコード行と実際にイベントが発生する個所が異なるイベントの記録です。イベントスキッドは、呼び出し関数イベントが、その関数によって呼び出される関数に記録される場合もあります。

イベントスキッドは、以下に示すような、さまざまな要因により発生します。

  • 割り込みコントローラー (APIC) を通じてプロセッサーのマイクロコードからイベントを伝達し、プロセッサーに制御を戻す際の遅延のため。
  • 現在実行中の命令リタイアメント・サイクルを完了しなければならないため。
  • 割り込みが発生した場合、プロセッサーは実行パイプラインをフラッシュさせる命令ストリームをシリアル化しなければならないため。

インテル® プロセッサーは、いくつかのイベントの正確な発生場所をサポートします。これらのイベントは、プリサイスイベントと呼ばれます。

注:

イベントスキッドは解析結果の精度に影響します。グループ化とフィルター処理のデータ (英語) が非常に小さい場合 (例えば、命令、ソース行、または基本ブロック)、インテル® VTune™ Amplifier はパフォーマンス結果を正しく関連付けることができません。例えば、列 A が問題を引き起こしても、列 B がホットスポットとして表示されます。ハードウェア・イベントベースのメトリック (英語) の計算式で異なる CPU イベントが異なるスキッドを持つ場合、インテル® VTune™ Amplifier はすべてのメトリックを無効化しデータを異なるブロックの結果と認識する恐れがあります。このような問題は、関数レベルでは通常現れません。

例: Jump 命令および Call 命令の解釈

jmp 命令または call 命令の実行時間内に発生するイベントは、実行フローでは jmp/ call から 1 または 2 命令離れていることがあります。この例では、ループの先頭にある mov 命令はループの終わりにある mov 命令の分岐ターゲットであるため、1.02% には関係ありません。これは、ループの終わりにある jmp 命令のものです。

イベント % 命令
1.02%
top_of_loop: mov ... 
... (any number of lines) 
end_of_loop: jnz <to someplace> 
jmp top_of_loop

関連項目

ハードウェア・イベントベース・サンプリング収集

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください。

関連記事

  • ビューポイントビューポイント この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Viewpoint」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • 非効率な同期非効率な同期 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Inefficient Synchronization」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • インストルメントとトレース・テクノロジー APIインストルメントとトレース・テクノロジー API この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Instrumentation and Tracing Technology APIs」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • OpenMP* アプリケーションの解析OpenMP* アプリケーションの解析 この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Analyzing OpenMP* Applications」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]
  • インテル® VTune™ Amplifier コマンドライン・インターフェイスインテル® VTune™ Amplifier コマンドライン・インターフェイス この記事は、インテル® デベロッパー・ゾーンに公開されている、インテル® VTune™ Amplifier のオンラインヘルプの一部「Intel® VTune™ Amplifier Command Line Interface Support」の日本語参考訳です。Windows* 用のヘルプではありますが、その他の OS […]