xbutil¶
This document describes the latest xbutil commands. These latest commands are default from 21.1 release.
For an instructive video on xbutil commands listed below click here.
Global options: These are the global options can be used with any command.
--verbose: Turn on verbosity and shows more outputs whenever applicable--batch: Enable batch mode--force: When possible, force an operation--help: Get help message--version: Report the version of XRT and its drivers
Currently supported xbutil commands are
xbutil programxbutil validatexbutil examinexbutil configurexbutil reset
xbutil program¶
The xbutil program command downloads a specified xclbin binary to the programmable region on the card <video reference>.
The supported options
xbutil program [--device|-d] <user bdf> [--user|-u] <xclbin>
The details of the supported options
The
--device(or-d) specifies the target device to program- <user bdf> : The Bus:Device.Function of the device of interest
The
--user(or-u) is required to specify the .xclbin file- <xclbin file> : The xclbin file with full-path to program the device
Example commands
xbutil program --device 0000:b3:00.1 --user ./my_kernel.xclbin
xbutil validate¶
The command xbutil validate validates the installed card by running precompiled basic tests <video reference>.
The supported options
xbutil validate [--device| -d] <user bdf> [--run| -r] <test> [--format| -f] <report format> [--output| -o] <filename> [--param] <test>:<key>:<value>
The details of the supported options
The
--device(or-d) specifies the target device to validate- <user bdf> : The Bus:Device.Function of the device of interest
The
--run(or-r) specifies the perticular test(s) to executeall(default): runs all the tests listed belowaux-connection: Check if auxiliary power is connectedpcie-link: Check if PCIE link is activesc-version: Check if SC firmware is up-to-dateverify: Run ‘Hello World’ kernel testdma: Run dma testiops: Run test to measure performance of scheduler (number of hello world kernel execution per second)mem-bw: Run ‘bandwidth kernel’ and check the throughputp2p: Run peer-to-peer testm2m: Run zero copy memory to memory data transfer testhostmem-bw: Run ‘bandwidth kernel’ when host memory is enabledbist: Run BIST testvcu: Run decoder test (only applicable for specific platform).quick: Run first four tests (Aux connection, PCIE link, SC version and Verify kernel)aie-pl: Run AIE PL test
The
--format(or-f) specifies the report format. Note that--formatalso needs an--outputto dump the report in json format. If--outputis missing text format will be shown in stdoutJSON: The report is shown in latest JSON schemaJSON-2020.2: The report is shown in JSON 2020.2 schema
The
--output(or-o) specifies the output file to direct the outputThe
--paramspecifies the extended parameters that can be passed to a test. Valid values:test: dmakey: block-sizevalue: value in bytes
Example commands
# Run all the tests
xbutil validate --device 0000:b3:00.1
# Run "DMA" test, produce text output in stdout
xbutil validate --device 0000:b3:00.1 --run DMA
# Run "DMA" and "Validate Kernel" test and generates Json format
xbutil validate --device 0000:b3:00.1 --run DMA "Verify Kernel" --format JSON --output xyz.json
# Pass in a custom block size to dma test
xbutil validate --device 0000:b3:00.1 --run DMA --param dma:block-size:1024
xbutil examine¶
The command xbutil examine can be used to find the details of the specific device <video reference>.
The supported options
xbutil examine [--device|-d] <user bdf> [--report| -r] <report of interest> [--format| -f] <report format> [--output| -o] <filename>
The details of the supported options
The
--device(or-d) specifies the target device to examine- <user bdf> : The Bus:Device.Function of the device of interest
The
--report(or-r) switch can be used to view specific report(s) of interest from the following optionsaie: Reports AIE kernels metadata from the .xclbinaieshim: Reports AIE shim tile statusall: All known reports are generateddebug-ip-status: Reports information related to Debug-IPs inserted during the kernel compilationdynamic-regions: Information about the xclbin and the compute units (default when--deviceis provided)electrical: Reports Electrical and power sensors present on the deviceerror: Asyncronus Error present on the devicefirewall: Reports the current firewall statushost: Reports the host configuration and drivers (default when--deviceis not provided)mailbox: Mailbox metrics of the devicemechanical: Mechanical sensors on and surrounding the devicememory: Reports memory topology of the XCLBIN (if XCLBIN is already loaded)pcie-info: Pcie information of the deviceplatform: Platforms flashed on the device (default when--deviceis provided)qspi-status: QSPI write protection statusthermal: Reports thermal sensors present on the devicecmc: Reports cmc status of the device
The
--format(or-f) specifies the report format. Note that--formatalso needs an--outputto dump the report in json format. If--outputis missing text format will be shown in stdoutJSON: The report is shown in latest JSON schemaJSON-2020.2: The report is shown in JSON 2020.2 schema
The
--output(or-o) specifies the output file to direct the output
Example commands
# Shows ``xbutil examine --host``
xbutil examine
# Reports electrical information in the stdout
xbutil examine --device 0000:b3:00.1 --report electrical
# Reports "electrical" and "firewall" and dump in json format
xbutil examine --device 0000:b3:00.1 --report electrical firewall --format JSON --output n.json
xbutil configure¶
Command xbutil configure is used to configure specific settings based on the need of user application (requires sudo) <video reference>.
The supported options
xbutil configure [--device| -d] <user bdf> [--host-mem|--p2p] <action> [--size <size>]
The details of the supported options
The
--device(or-d) specifies the target device to examine- <user bdf> : The Bus:Device.Function of the device of interest
The
--host-memor--p2pselect specific configurationenable: Enable the host-memory or p2pdisable: Disable the host-memory or p2p
The
--sizeis used in conjuction withxbutil configure --host-mem enableto specify the host-memory size to be enabled<size>: Size and unit specified as a combined string
Example commands
# Enable Host-Memory of Size 1 GB
sudo xbutil configure --device 0000:b3:00.1 --host-mem enable --size 1G
# Enable Host-Memory of size 256 MB
sudo xbutil configure --device 0000:b3:00.1 --host-mem enable --size 256M
# Disable previously enabled Host-Memory
sudo xbutil configure --device 0000:b3:00.1 --host-mem disable
# Enable P2P
sudo xbutil configure --device 0000:b3:00.1 --p2p enable
# Disable P2P
sudo xbutil configure --device 0000:b3:00.1 --p2p disable
xbutil reset¶
This xbutil reset command can be used to reset device <video reference>.
The supported options
xbutil reset [--device| -d] <user bdf> [--type| -t] <reset type>
The details of the supported options
The
--device(or-d) specifies the target device to reset- <user bdf> : The Bus:Device.Function of the device of interest
The
--type(or-t) can be used to specify the reset type. Currently only supported reset type ishot(default): Complete reset of the device
Example commands
xbutil reset --device 0000:65:00.1