オーバーヘッドなしのプロファイリングのイネーブル - 2023.2 日本語

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

Document ID
UG1393
Release Date
2023-12-13
Version
2023.2 日本語
opencl_trace を使用して xrt.ini でプロファイリングをイネーブルにすると、オーバーヘッドが追加され、タイムライン内のイベント間の遅延が長くなる場合があります。ただし、XRT には、タイムライン上に OpenCL イベントをダンプするオーバーヘッドのないオプションがあります。これは、オーバーヘッドなしでタイムラインにイベントを表示する簡単な方法です。
ヒント: ホスト側のプロファイリングを指定することはできません。指定した場合は、このオーバーヘッドなしのアプローチが上書きされます。ただし、このアプローチは device_trace で使用できます。この場合、デバイスをプロファイルはしますが、ホスト アプリケーションにオーバーヘッドは追加されません。

目的は、オーバーヘッドがまったくないイベントを可視化することなので、ログに記録できるイベントの数には制限があります。また、このビューにはコマンド キュー情報がないので、より詳細な Timeline Trace の代わりにはなりません。

このオーバーヘッドなしのビューを使用すると、OpenCL コマンドの依存関係を確認し、ホスト アプリケーションからのコマンド実行の実際のイベント オーバーヘッドを観察できます。

OpenCL イベントをイネーブルにするには、xrt.ini に次のオプションを追加します。イベント キャプチャの始まりと終わりは、次のように制御できます。
[Debug]
xocl_debug=true
#xocl_event_begin= 0 (default)
#xocl_event_end=1000 (default)

デフォルトでは、表示できるイベントは 1000 個だけです。

実行後、xrt.run_summary が生成されない場合、次の手順に従って .wdb ファイルを生成し、Vitis アナライザーで表示します。
vp_analyze xocl -i xocl.log // generates debug_log.csv
vp_analyze trace -i debug_log.csv // generates debug_log.wdb
vitis_analyzer debug_log.wdb // loads the wdb file in Vitis analyzer
図 1. オーバーヘッドなしのタイムライン
表 1. OpenCL プロファイリングのオプション
取り込まれるトレース情報 プロファイルのオーバーヘッド ユース ケース xrt.ini のオプション
Complete アプリケーション開発の初期段階などのデバッグ目的で使用します。 opencl_trace = true
Partial プロファイル オーバーヘッドが多く、予期しない遅延が発生した場合に使用します。 lop_trace = true
Minimum なし イベント間の遅延の原因を確認する場合にのみ使用します。 xocl_debug = true