Running the Application Hardware Build

Running the application hardware build allows you to see your application running on an accelerator card, such as the Alveo™ Data Center accelerator card, or an embedded processor platform targeting a Versal™ ACAP or Zynq® devices. The performance data and results captured here are the actual performance of your accelerated application. Yet the profiling data from this run might still reveal opportunities to optimize your design.

TIP: To use the accelerator card, you must have it installed as described in Getting Started with Alveo Data Center Accelerator Cards (UG1301).
  1. Edit the xrt.ini file as described in xrt.ini File.

    This is optional, but recommended when running on hardware for evaluation purposes. You can configure XRT with the xrt.ini file to capture debugging and profile data as the application is running. To capture event trace data when running the hardware, refer to Enabling Profiling in Your Application. To debug the running hardware, refer to Debugging During Hardware Execution.

    TIP: Ensure to use the v++ -g option when compiling your kernel code for debugging.
  2. Unset the XCL_EMULATION_MODE environment variable.
    IMPORTANT: The hardware build will not run if the XCL_EMULATION_MODE environment variable is set to an emulation target.
  3. For embedded platforms, boot the SD card.
    TIP: This step is only required for platforms using Xilinx embedded devices such as Versal ACAP or Zynq UltraScale+ MPSoC.

    For an embedded processor platform, copy the contents of the ./sd_card folder produced by the v++ --package command to an SD card as the boot device for your system. Boot your system from the SD card.

  4. Run your application.

    The specific command line to run the application will depend on your host code. A common implementation used in Xilinx tutorials and examples is as follows:

    ./host.exe kernel.xclbin
TIP: This command line assumes that the host program is written to take the name of the xclbin file as an argument, as most Vitis examples and tutorials do. However, your application can have the name of the xclbin file hard-coded into the host program, or can require a different approach to running the application.