xrt.ini File
If you are a command line user, the xrt.ini file needs to be created manually and saved to the same directory as the host executable. The runtime library checks if xrt.ini exists in the same directory as the host executable and automatically reads the file to configure the runtime.
Runtime Initialization File Format
The xrt.ini file is a simple text file with groups of keys and their values. Any line beginning with a semicolon (;) or a hash (#) is a comment. The group names, keys, and key values are all case sensitive.
The following is an example xrt.ini file that enables the timeline trace feature, and directs the runtime log messages to the Console view.
#Start of Debug group
[Debug]
opencl_trace = true
#Start of Runtime group
[Runtime]
runtime_log = console
There are three groups of initialization keys:
- Runtime
- Debug
- Emulation
The following tables list all supported keys for each group, the supported values for each key, and a short description of the purpose of the key.
Key | Valid Values | Description |
---|---|---|
api_checks |
[true|false] |
Enables or disables OpenCL
API checks.
|
cpu_affinity |
{N,N,...} |
Pins all runtime threads to specified CPUs. Example:
|
exclusive_cu_context |
[true|false] |
This allows the host application to direct OpenCL to acquire exclusive CU access, so that low-level AXI read/write (xclRegRead and xclRegWrite) can be used for regular kernels. |
runtime_log |
[null | console | syslog |
<filename>] |
Specifies where the runtime logs are printed
|
verbosity |
[0 | 1 | 2 | 3] |
Verbosity of the log messages. The default value is 0. |
Key | Valid Values | Description |
---|---|---|
aie_profile |
[true|false] |
Enables the runtime configuration and polling of AI Engine hardware performance counters. Available on
VCK190 hardware runs only.
|
aie_profile_core_metrics |
[heat_map|stalls|execution] |
Controls the configuration of the statistics read from
AI Engine core performance counters. The
default is heat_map .Note: This switch only has an effect if aie_profile = true . |
aie_profile_interval_us |
<int> |
Controls the interval of reading the AI Engine counter values in microseconds (µs). The
default interval is 1000 µs. Note: This switch only has an effect
if aie_profile = true . |
aie_profile_memory_metrics |
[dma_locks|conflicts] |
Controls the configuration of the statistics read from the AI Engine memory performance counters. The default is
dma_locks .Note: This switch only has an effect
if aie_profile = true . |
aie_trace |
[true|false] |
Enables the runtime configuration and collection of AI Engine event trace. Available on VCK190 hardware runs only.
|
aie_trace_buffer_size |
<string> |
Controls the total size of the buffers allocated for AI Engine event trace. This size is partitioned evenly
into the number of different trace streams coming out of the AI Engine. The default is 8M. Note: This switch only has an effect if aie_trace =
true . |
aie_trace_metrics |
[functions|functions_partial_stalls| function_all_stalls|all] |
Controls the configuration of the AI Engine registers to generate a specified level of event trace. Note: This switch only has an effect if aie_trace =
true . |
app_debug |
[true|false] |
Enables the OpenCL
application debug.
|
continuous_trace |
[true|false] |
Enables the continuous dumping of files for trace and the
continuous reading of device data into the host.
Note: This switch only has an effect if
data_transfer_trace = off . |
data_transfer_trace |
[off|fine|coarse|accel] |
Enables the collection of data from monitors inserted on the
PL to add to summary and trace.
|
debug |
[true|false] |
Enables kernel debug functionality for software emulation.
|
lop_trace |
[true|false] |
Enables generation of lower overhead OpenCL API host trace. Should not be used in
conjunction with other OpenCL options.
|
native_xrt_trace |
[true|false] |
Enables generation of the Native C/C++ API trace.
|
opencl_device_counter |
[true|false] |
Adds hardware counter information to the generated OpenCL summary file. This is not necessary if
data_transfer_trace is specified.
|
opencl_summary |
[true|false] |
Enables generation of OpenCL API summary report. If this is the only flag specified, then
only host information is included.
|
opencl_trace |
[true|false] |
Enables generation of OpenCL API host trace.
|
power_profile |
[true|false] |
Enables the polling of power data during the execution of the
application.
|
power_profile_interval_ms |
<int> |
Controls the interval of reading the power counters in
milliseconds. The default interval is 20 ms. Note: This switch only
has an effect if power_profile = true . |
stall_trace |
[on|off] |
Enables the hardware generation of stalls in compute units.
The default is off .Note: This
switch only has an effect if data_transfer_trace =
off . |
trace_buffer_offload_interval_ms |
<int> |
Controls the reading of device data from the device to the host in milliseconds
(ms). The default is 10 ms. Note: This switch only has an effect if
data_transfer_trace = off . |
trace_buffer_size |
<string> |
If the .xclbin was
created with memory offload of trace specified, this switch determines the size of
the buffer to allocate in memory for trace. The default is 1M. Note: This switch only has an effect if data_transfer_trace = off . |
trace_file_dump_interval_s |
<int> |
Controls the time between dumping of trace files in seconds (s). The default is
5s. Note: This switch only has an effect if
data_transfer_trace = off . |
vitis_ai_profile |
[true|false] |
Profile summary and other files come from Vitis AI application layer.
|
Key | Valid Values | Description |
---|---|---|
aliveness_message_interval |
Any integer | Specifies the interval in seconds that aliveness messages need to be printed. The default is 300. |
debug_mode |
[off|batch|gui] |
Specifies how the waveform is saved and displayed during
emulation.
Note: The kernel needs to be compiled with debug enabled ( v++ -g ) for the waveform to be saved and displayed in
the simulator GUI. |
enable_memory_persistence |
[true|false] |
Enable the memory persistence or Self-Refresh support for DDR memories in
platform. Contents of memories are preserved during suspension/warm reset.
|
print_infos_in_console |
[true|false] |
Controls the printing of emulation info messages to user's
console. Emulation info messages are always logged into a file called emulation_debug.log
|
print_warnings_in_console |
[true|false] |
Controls the printing emulation warning messages to user's
console. Emulation warning messages are always logged into a file called emulation_debug.log.
|
print_errors_in_console |
[true|false] |
Controls printing emulation error messages in user's console.
Emulation error messages are always logged into the emulation_debug.log file.
|
user_pre_sim_script |
Path to Tcl file | For the first run, run simulation in GUI mode. Add signals
that you want to add. Copy the commands from the Tcl console and save into a Tcl
script. For the next run, pass the Tcl script in batch mode. |
user_post_sim_script |
Path to Tcl file | Any post operations can be specified in the Tcl and pass to the switch. All the command provided in the Tcl gets executed after simulation is completed. |
xtlm_aximm_log |
[true|false] |
Enables the XTLM AXI4 Memory Map transaction logging at runtime and you could see all the transactions in the xsc_report.log file. |
xtlm_axis_log |
[true|false] |
Enables the XTLM AXI4-Stream transaction logging at runtime and you could see all the transactions in the xsc_report.log file. |
timeout_scale |
na/ms/sec/min |
Timeout support for clPollStream API in emulation. Provides a scale for the timeout
specified in clPollStream API. The timeout
specified in the code is specified in ms, and might not work for emulation.
Therefore use the timeout_scale to map ms to
another scale if needed for emulation. IMPORTANT: Timeout is not enabled in emulation by default.
Use this option to enable clPollStream
timeout. |