Validate Embedded Platform

This is a simple design that verifies if the platform has basic functionalities. It also tests the possible bandwidth between Kernel and Global Memory.

KEY CONCEPTS: Bandwidth

This example contains verify test and bandwidth test to validate embedded platforms.

Using the sp option in the zcu102_base_dfx.cfg file AXI-Master Port is connected to the IP.

sp=bandwidth_1.input:HP0
sp=bandwidth_1.output:HP0
sp=bandwidth_2.input:HP1
sp=bandwidth_2.output:HP1
sp=bandwidth_3.input:HP2
sp=bandwidth_3.output:HP2
sp=bandwidth_4.input:HP3
sp=bandwidth_4.output:HP3

Following is the real log reported while running the design on zcu102_base_dfx platform:

INFO: Starting the Verify test....
INFO: Found Platform
INFO: Platform Name: Xilinx
INFO: Platform Version: OpenCL 1.0
INFO: Platform Profile: EMBEDDED_PROFILE
INFO: Platform Extensions: cl_khr_icd
INFO: INFO: Reading validate.xclbin
INFO: Loading: 'validate.xclbin'
INFO: Trying to program device edge
INFO: Device program successful!
INFO: Hello World
INFO:
INFO: Starting the Bandwidth test....
INFO: Creating a kernel [bandwidth:{bandwidth_1}] for CU(1)
INFO: Creating a kernel [bandwidth:{bandwidth_2}] for CU(2)
INFO: Creating a kernel [bandwidth:{bandwidth_3}] for CU(3)
INFO: Creating a kernel [bandwidth:{bandwidth_4}] for CU(4)
INFO: Concurrent read and write throughput: 7318.5MB/s
INFO: TEST PASSED
INFO: INFO: host run completed.

EXCLUDED PLATFORMS:

  • All Xilinx DMA Platforms

  • Alveo U30

  • AWS VU9P F1

  • Samsung SmartSSD Computation Storage Drive

  • Samsung U.2 SmartSSD

  • All Platforms with 2019 Version

  • All Platforms with 2018 Version

  • Versal VCK5000

  • Versal V70

DESIGN FILES

Application code is located in the src directory. Accelerator binary files will be compiled to the xclbin directory. The xclbin directory is required by the Makefile and its contents will be filled during compilation. A listing of all the files in this example is shown below

src/bandwidth.cpp
src/host.cpp
src/verify.cpp

Access these files in the github repo by clicking here.

COMMAND LINE ARGUMENTS

Once the environment has been configured, the application can be executed by

./validate.exe -x <validate XCLBIN>