The Vitis development flow supports building heterogeneous computing systems as described in Introduction to Vitis Tools for Embedded System Designers, and Introduction to Data Center Acceleration for Software Programmers. In this environment a software application running on an x86 or Arm® processor uses the Xilinx Runtime (XRT) API to offload compute intensive tasks to execute a hardware kernel running on the programmable logic (PL) of an AMD device or on Versal AI Engines.
The elements of these heterogeneous computing systems include the following:
- Software applications using XRT running on x86 processors or embedded processors on AMD Adaptive SoC devices, as described in Writing the Software Application
- C/C++ sourced programmable logic functions as described in Developing PL Kernels using C++
- ADF graph applications running on Versal Adaptive SoC as described in Programming Versal AI Engines
- AMD Alveo™ Data Center acceleration cards, or custom embedded platforms as described in Using Vitis Embedded Platforms
- A system project to link and package the various elements as described in Building and Running the System, or Creating a System Project for Heterogeneous Computing