Host Code Programming - 2023.1 English

Vitis Tutorials: Hardware Acceleration (XD099)

Document ID
Release Date
2023.1 English

User-managed RTL kernels are only supported in host applications written with the XRT native API, as described in the XRT documentation. The XRT native API provides a rich set of class objects and functions for XRT-managed kernels, as discussed in the XRT Native API Host Application tutorial, and for user-managed kernels as described here.

Open the reference-files/src/host/user-host.cpp file to examine its content and structure. As decribed in Writing the Software Application in the Vitis Application Acceleration Development Flow Documentation (UG1393), there are several key steps the host application must follow:

  1. Specifying the accelerator device ID and loading the .xclbin

  2. Setting up the kernel and kernel arguments

  3. Transferring data between the host and kernels

  4. Running the kernel and returning results

This tutorial will walk you through each of these, and discuss the requirements of these steps when working with user-managed RTL kernels.