コマンド ラインを使用している場合は、xrt.ini ファイルを手動で作成し、ホスト実行ファイルと同じディレクトリに保存する必要があります。ランタイム ライブラリで、xrt.ini がホスト実行ファイルと同じディレクトリにあるかどうかがチェックされ、起動時にこのファイルを読み込んでランタムが設定されます。
ランタイム初期化ファイルのフォーマット
xrt.ini ファイルはテキスト形式のファイルで、キーのグループおよびその値が記述されています。セミコロン (;) またはシャープ記号 (#) で始まる行はコメント行です。グループ名、キー、キーの値では、大文字/小文字が区別されます。
次に、タイムライン トレース機能をイネーブルにし、ランタイム ログ メッセージを xrt.ini ビューに表示するよう指定した Console ファイルの例を示します。
#Start of Debug group
[Debug]
timeline_trace = true
#Start of Runtime group
[Runtime]
runtime_log = console
初期化キーには、次の 3 つのグループがあります。
- Runtime
- Debug
- Emulation
次の表に、サポートされる各グループのすべてのキー、各キーでサポートされる値、およびキーの簡単な説明を示します。
キー | 有効な値 | 説明 |
---|---|---|
api_checks
|
[true|false]
|
OpenCL API チェックをイネーブルまたはディスエーブルにします。
|
cpu_affinity
|
{N,N,...}
|
すべてのランタイム スレッドを指定の CPU に固定します。例:
|
ert_polling
|
[true|false]
|
アクセラレーション プラットフォームで実行される計算ユニット (CU) を妨害するメカニズムとしてポーリングを使用するように指定します。デフォルト値は false で、ポーリングではなく、プラットフォームに既存の割り込み信号が使用されます。 |
exclusive_cu_context
|
[true|false]
|
ホスト アプリケーションが OpenCL に CU の内容のみ取得するよう命令できるようになるので、下位レベルの AXI 読み出し/書き込みを標準カーネルおよびフリーランニング カーネルに使用できるようになります。 |
polling_throttle
|
<value>
|
ert_polling をイネーブルの場合に、ランタイム ライブラリがデバイス ステータスをポーリングする時間間隔をマイクロ秒で指定します。デフォルト値は 0 です。 |
runtime_log
|
[null | console | syslog |
<filename>]
|
ランタイムのログを出力する場所を指定します。
|
verbosity
|
[0 | 1 | 2 | 3]
|
詳細なログ メッセージを生成します。デフォルト値は 0 です。 |
キー | 有効な値 | 説明 |
---|---|---|
aie_profile
|
[true|false]
|
AI エンジン グラフ アプリケーションのプロファイリングをイネーブルまたはディスエーブルにします。 |
aie_profile_interval_ms
|
<int>
|
AI エンジン トレース バッファーを読み出す間隔をミリ秒で指定します。この機能は、ディスクへのデータのダンプ レートを増やして、バッファーのオーバーフローやデータ損失が発生しないようにする場合に使用すると便利です。デフォルトの間隔は 20 ms です。 |
aie_trace
|
[true|false]
|
AI エンジン グラフ アプリケーションのプロイベント トレースをイネーブルまたはディスエーブルにします。 注記: このオプションは、
profile=true と共に指定するディスエーブルされます。 |
aie_trace_buffer_size
|
<value{K|M|G}>
|
AI エンジン トレース データの収集に割り当てるメモリのサイズを指定します。十分なトレース データを収集できるように設定します。割り当てるメモリの量 (64K、200M、1G など) を指定します。 |
app_debug
|
[true|false]
|
OpenCL API を使用するホストアプリケーションの場合、この機能が GDB でのデバッグ中に xprint および xstatus コマンドをイネーブルにします。
|
continuous_trace
|
[on|off]
|
アプリケーション実行中にデバイスのトレース データを続けてオフロードできます。トレース ファイルがディスクに続けて書き込まれるので、クラッシュがあったときに、アプリケーションのデバッグに使用可能なトレース データもあります。 これは、 注記:
OpenCL API プロファイリングでは、
profile=true と timeline_trace=true の両方を設定する必要があります。XRT API プロファイリングの場合、xrt_profile=true と data_transfer_trace=fine|coarse の両方が必要です。 |
continuous_trace_interval_ms
|
<int>
|
トレース バッファーを読み出す間隔をミリ秒で指定します。この機能は、トレース データが FIFO に取り込まれる際に、ディスクへのデータのダンプ レートを増やして、バッファーのオーバーフローやデータ損失が発生しないようにする場合に使用すると便利です。デフォルトの間隔は 10 ms です。 注記: このオプションを使用する場合は、
continuous_trace=true オプションも使用する必要があります。 |
data_transfer_trace=<arg>
|
[coarse|fine|off]
|
デバイス レベルの AXI 転送トレースをイネーブルにします。
注記:
OpenCL API プロファイリングでは、
profile=true と timeline_trace=true の両方を設定する必要があります。 |
debug
|
[true|false]
|
ソフトウェア エミュレーションおよびハードウェア エミュレーションのカーネル デバッグ機能をイネーブルにします。debug=true の場合、xrt_server を介して別の GDB プロセスをエミュレーションプロセスに追加して、カーネルをデバッグできます。
|
lop_trace
|
[true|false]
|
ホスト アプリケーションで、OpenCL API 呼び出しのオーバーヘッドの少ないプロファイリングをイネーブルまたはディスエーブルにします。 オーバーヘッドの少ないプロファイリングにより、lop_trace.csv に書き込まれるイベントのタイムラインが短縮されます。これはホスト側のイベントのみをレポートするので、デバイス側のプロファイリングのオーバーヘッドがなくなり、パフォーマンスへの影響を大幅に削減できます。
ヒント:
lop_trace=true をprofile=true と一緒に指定しないでください。指定すると、標準プロファイリングおよびトレースが実行されます。 |
power_profile
|
[true|false]
|
イネーブルの場合、アプリケーションのランタイム中にアクセラレータ カードから消費電力データが取り込まれます。消費電力プロファイルでは、カードの各レールの平均、最小、最大消費電力がレポートされます。記録されたデータは power_profile_<device>.csv に書き込まれ、Vitis アナライザー表示できます。 |
power_profile_interval_ms
|
<int>
|
消費電力情報を読み出す間隔をミリ秒で指定します。デフォルトの間隔は 20 ms です。 |
profile
|
[true|false]
|
OpenCL ホスト コードのプロファイリングをイネーブルまたはディスエーブルにします。
重要: この機能は PL 領域からデバイス情報にアクセスするため、
aie_trace および vitis_ai_profile などのデバイスの PL 領域にアクセスするほかのプロファイリング オプションが上書きされてディスエーブルになります。 |
profile_api
|
[true|false]
|
XRT API 呼び出しを使用すると、ホスト アプリケーションからデバイス オフロードを直接呼び出すことができます。 注記: このオプションは、
profile=true と共に指定するディスエーブルされます。 |
stall_trace=<arg>
|
[dataflow|memory|pipe|all|off]
|
タイムライン トレースで収集してレポートするデバイス側のストール タイプを指定します。デフォルトはオフoff です。
注記:
OpenCL API プロファイリングでは、
profile=true と timeline_trace=true の両方を設定する必要があります。XRT API プロファイリングの場合、xrt_profile=true と data_transfer_trace=fine|coarse の両方が必要です。 |
timeline_trace
|
[true|false]
|
timeline_trace.csv ファイルの生成をイネーブルまたはディスエーブルにします。
このオプションは、タイムライン トレース レポートのデータ収集をイネーブルにします。カーネルにアクセラレーション モニターおよび AXI パフォーマンス モニター IP を追加しない場合は、タイムラインにホスト情報のみが表示されます。計算ユニットの開始および終了時間を取得するには、最低でも CU を 重要: この場合
profile=true も使用する必要があり、使用しないと、タイムラインデータは取得されません。 |
trace_buffer_size
|
<value{K|M|G}>
|
timeline_trace=true と使用すると、トレース データの収集に割り当てるメモリのサイズを指定できます。十分なトレース データを収集できるように設定します。割り当てるメモリの量 (64K、200M、1G など) を指定します。
|
vitis_ai_profile
|
[true|false]
|
Vitis AI ライブラリの DPU カウンター プロファイリングをイネーブルにします。 注記: このオプションは、
profile=true と共に指定するディスエーブルされます。 |
xrt_profile
|
[true|false]
|
XRT ネイティブ API を使用して、ホスト アプリケーションのトレース データの取得をイネーブルにします。このオプションは、profile=true と一緒に使用できます。 |
キー | 有効な値 | 説明 |
---|---|---|
aliveness_message_interval
|
整数 | メッセージを出力する時間間隔を秒で指定します。デフォルトは 300 です。 |
debug_mode
|
[off|batch|gui|gdb]
|
エミュレーション中の波形の保存および表示方法を指定します。
注記: 波形を保存してシミュレータの GUI に表示するには、カーネルをデバッグをイネーブル (
v++ -g ) にしてコンパイルする必要があります。 |
print_infos_in_console
|
[true|false]
|
ユーザー コンソールへのエミュレーション情報メッセージの表示を制御します。エミュレーション情報メッセージは、emulation_debug.log というファイルに保存されます。
|
print_warnings_in_console
|
|
ユーザー コンソールへのエミュレーション警告メッセージの表示を制御します。エミュレーション警告メッセージは、emulation_debug.log というファイルに保存されます。
|
print_errors_in_console
|
|
ユーザー コンソールへのエミュレーション エラー メッセージの表示を制御します。エミュレーション エラー メッセージは、emulation_debug.log ファイルに保存されます。
|
user_pre_sim_script
|
Tcl ファイルへのパス | 1 回目の run では、シミュレーションを GUI モードで実行します。信号を追加し、Tcl コンソールからコマンドをコピーして Tcl スクリプトに保存します。 次の run では、バッチ モードで Tcl スクリプトを渡します。 |
user_post_sim_script
|
Tcl ファイルへのパス | シミュレーション後の操作は Tcl ファイルで指定しておいて、このオプションでファイルを指定します。Tcl で指定するコマンドはすべてシミュレーションの終了後に実行されます。 |
xtlm_aximm_log
|
|
ランタイム時の XTLM AXI4 メモリ マップのトランザクション ログをイネーブルにすると、すべてのトランザクションが xsc_report.log ファイルで確認できるようになります。 |
xtlm_axis_log
|
|
ランタイムジの XTLM AXI4-Stream トランザクション ログをイネーブルにすると、すべてのトランザクションが xsc_report.log ファイルで確認できるようになります。 |
timeout_scale
|
na/ms/sec/min
|
エミュレーションでの clPollStream API のタイムアウトをサポートするためのもので、clPollStream API で指定されたタイムアウトの単位を提供します。コードで指定されたタイムアウトの単位は ms なので、エミュレーションには使用できないことがあります。このため、エミュレーションで必要な場合は、timeout_scale で ms を別の単位に変更しておきます。 重要: エミュレーションでは、タイムアウトはデフォルトではイネーブルになっていません。このオプションを使用するには、
clPollStream タイムアウトをイネーブルにしておく必要があります。 |