dmatest

Thedmatestcommand performs throughput data transfer tests between the host machine and global memory on a specified card. Note, it is necessary to download anxclbinon the card prior to runningdmatest, else running this command returns an error. Thedmatestcommand only performs throughput tests on those DDR banks accessed by thexclbindownloaded 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 1024and-b 0x400set the block size to 1024 KB.

To run thedmatestcommand, enter the following:

$ xbutil dmatest

An example of the command output with anxclbinusing 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.