Configuration File xrt.ini¶
XRT uses various parameters to control execution flow, debug, profiling, and message logging during host application and kernel execution in software emulation, hardware emulation, and system run on the acceleration board. These control parameters are optionally specified in a runtime initialization file xrt.ini
XRT looks for xrt.ini file in the following order:
The host executable path.
Current directory (from where application is executed) path.
XRT stops search when an xrt.ini is found. If xrt.ini is not found, XRT built-in defaults are used.
If desired, the environment variable as shown below can be used to specify a custom xrt.ini path
export XRT_INI_PATH=/path/to/xrt.ini
Runtime Initialization File Format¶
The runtime initialization file is a 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 in-sensitive.
There are three group of keys as below
Runtime: The keys in this group impact general XRT flow
Debug: The keys in this group are used to generate and configure the debug related files such as profile report and timeline trace
Emulation: The keys in this group are related to the Emulation flow only
The following is a simple example that turns on profile timeline trace and sends the runtime log messages to the console.
#Start of Runtime group
[Runtime]
runtime_log = console
#Start of Debug group
[Debug]
timeline_trace = true
API Support: From 2020.2 release the runtime configuration options can also be provided through Native XRT APIs.
xrt::ini::set
Example
xrt::ini::set("Runtime.runtime_log", "console");
xrt::ini::set("Runtime.verbosity", 5);
Runtime Log Sinks (runtime_log)¶
The runtime_log key controls where XRT message output is sent. The following values are supported:
Value |
Platform |
Description |
|---|---|---|
|
All |
Discard all messages (silent mode) |
|
All |
Writes messages to console (default) |
|
All |
Routes to the OS-level centralized log on each platform:
Linux uses the system syslog/journald depending on distro.
Windows uses the Windows Application Event Log under source On Windows, messages can be filtered in Event Viewer
(Windows Logs → Application → Filter Current Log → Source: AMD_XRT)
or from the command line by source and/or severity level
(Level: # PowerShell - all XRT events
Get-EventLog -LogName Application -Source "AMD_XRT"
# PowerShell - errors only
Get-EventLog -LogName Application -Source "AMD_XRT" -EntryType Error
# PowerShell - errors and warnings
Get-EventLog -LogName Application -Source "AMD_XRT" -EntryType Error,Warning
:: Command prompt - all XRT events
wevtutil qe Application /q:"*[System[Provider[@Name='AMD_XRT']]]" /f:text
:: Command prompt - errors only (Level=2)
wevtutil qe Application /q:"*[System[Provider[@Name='AMD_XRT'] and Level=2]]" /f:text
:: Command prompt - errors and warnings (Level=2 or Level=3)
wevtutil qe Application /q:"*[System[Provider[@Name='AMD_XRT'] and (Level=2 or Level=3)]]" /f:text
|
|
All |
Write messages to the specified file path (e.g., |
Example — redirect XRT logs to the OS system log on both Linux and Windows:
[Runtime]
runtime_log = syslog
verbosity = 7
For a complete list of currently supported xrt.ini keys, default value, and valid key values please refer Vitis Application Acceleration Development Flow Documentation