オーバーヘッドの少ないプロファイリングのイネーブル - 2021.1 Japanese

Vitis 統合ソフトウェア プラットフォームの資料: アプリケーション アクセラレーション開発 (UG1393)

Document ID
UG1393
Release Date
2022-03-29
Version
2021.1 Japanese

Vitis ソフトウェア プラットフォームでは、実行時間にほとんど影響のない、最小限の情報を提供するオーバーヘッドの少ないプロファイリングがサポートされています。ランタイム中にこのオプションを使用した場合、タイムライン トレースは表示されますが、情報量は限られたものになります。オーバーヘッドの少ないプロファイリングは、OpenCL イベントで最小限の情報を取り込み、実行の終了時に lop_trace.csv という CSV ファイルをダンプします。オーバーヘッドが少ないプロファイリングは、3 つのフロー (ハードウェア、ハードウェア エミュレーション、およびソフトウェア エミュレーション) すべてで実行できます。

オーバーヘッドの少ないプロファイリングをイネーブルにするには、xrt.ini ファイル の [Debug] セクションに示すように lop_trace という新しいオプションを使用します。デフォルトでは、lop_trace は FALSE なので、イネーブルにする場合は ini パラメーターを TRUE に設定する必要があります。

xrt.ini file
[Debug]
lop_trace=true
ヒント: lop_trace パラメーターはほかのパラメーターと一緒にイネーブルにすることはできますが、すべてのプロファイリング データもキャプチャすることになるので、オーバーヘッドを少なくするメリットがなくなります。

lop_trace=true をイネーブルにすると、ランタイムが Vitis アナライザーの Run Summary で表示可能な lop_trace.csv ファイルが生成されます。

vitis_analyzer <project>.run_summary

最小限のオーバーヘッドを取得するため、標準の OpenCL プロファイリングで収集される情報は省かれます。特に、オーバーヘッドの少ないプロファイリング トレースでは次の情報含まれません。

  • 計算ユニット実行またはカーネル メモリ転送などのデバイス イベント
  • デスティネーション アドレスまたはサイズなどのメモリ読み出しまたは書き込みに関する情報
  • カーネル名や NDRange サイズなどのカーネル エンキューに関する情報
  • バッファー転送とカーネル エンキュー間の依存