dmatest
Thedmatest
command performs throughput data transfer tests between the host machine and global memory on a specified card. Note, it is necessary to download anxclbin
on the card prior to runningdmatest
, else running this command returns an error. Thedmatest
command only performs throughput tests on those DDR banks accessed by thexclbin
downloaded to the card.
The command has the following options:
-d card
(Optional): Specifies the target card. Default = 0 if not specified.-b [0x]block_size_KB
(Optional): Specifies the test block size (in KB). Default = 65536 (KB) if not specified. The block size can be specified in both decimal or hexadecimal formats. For example, both-b 1024
and-b 0x400
set the block size to 1024 KB.
To run thedmatest
command, enter the following:
$ xbutil dmatest
An example of the command output with anxclbin
using DDR banks 0, 1, 2, and 3 is shown below:
INFO: Found total 1 card(s), 1 are usable Total DDR size: 65536 MB Reporting from mem_topology: Data Validity & DMA Test on bank0 Host -> PCIe -> FPGA write bandwidth = 11341.5 MB/s Host <- PCIe <- FPGA read bandwidth = 11097.3 MB/s Data Validity & DMA Test on bank1 Host -> PCIe -> FPGA write bandwidth = 11414.6 MB/s Host <- PCIe <- FPGA read bandwidth = 10981.7 MB/s Data Validity & DMA Test on bank2 Host -> PCIe -> FPGA write bandwidth = 11345.1 MB/s Host <- PCIe <- FPGA read bandwidth = 11189.2 MB/s Data Validity & DMA Test on bank3 Host -> PCIe -> FPGA write bandwidth = 11121.7 MB/s Host <- PCIe <- FPGA read bandwidth = 11375.7 MB/s INFO: xbutil dmatest succeeded.