Overview
xrt-diagram-1

Host

(x86, Power PC or ARM CPU)

Accelerator

(FPGA, AI Engine)

Xilinx Runtime Library (XRT)

Xilinx Runtime library (XRT) is a key component of Vitis Unified Software Platform and Vitis AI Development Environment, that enables developers to deploy on Xilinx adaptable platforms, while continuing to use familiar programming languages like C/C++, Python and high-level domain-specific frameworks like TensorFlow and Caffe.

Xilinx Runtime library (XRT) is an open-source standardized software interface that facilitates communication between the application code and the accelerated-kernels deployed on the reconfigurable portion of PCIe based Alveo accelerator cards, Zynq-7000, Zynq UltraScale+ MPSoC based embedded platforms or Versal ACAPs. 

Xilinx Runtime Library (XRT) runs on the Host CPU. In the case of Embedded Platforms, the Host refers to the ARM processor on the Xilinx platform and in the case of Alveo Accelerator cards, it refers to the x86-based CPU or Power PC CPU on the server.


Key Benefits

  • No Hardware Expertise, Focus on Application Development: XRT eliminates the need to implement hardware communication layers from scratch for Xilinx adaptive platforms and integrates with standard software applications, making FPGAs broadly accessible to developers, with no hardware expertise.
  • Open-Source and Flexible: Xilinx Runtime library (XRT) is Open-Sourced and available on GitHub under the Apache-2 license. Developers have the flexibility to use these XRT libraries and drivers as-is or modify them to suit the needs of their custom applications and platforms.
  • Common API Across Platforms: Xilinx Runtime library (XRT) offers a common set of APIs for developers to design accelerated applications for Edge, On-premise and Cloud deployments. This enables seamless porting of applications between different Xilinx platforms as the compute requirements or deployment needs change.
  • Different Levels of Abstraction: From domain-specific APIs leveraged by Vitis AI, high-level Python bindings to low-level C++ APIs that offer finer grained control, developers can choose the level of abstraction they need to interact with XRT in their applications.
  • Access to Dynamic Function Exchange: XRT enables Application developers to leverage Dynamic Function eXchange (DFX) to easily swap out different accelerator binaries on Xilinx platforms, especially Alveo accelerator cards, without worrying about low-level details.
  • Resource Scaling: Xilinx FPGA Resource Management (XRM) offers server-based orchestration capabilities based on the XRT API. This enables multiple applications to run on a pool of Alveo accelerator cards attached to a server.

Key Functions of the Xilinx Runtime Library (XRT)

  

FPGA Image Download

Download Accelerator Binaries onto Platform


Download Accelerator Binaries
onto Platform

Memory Management

Data movement between Host and Accelerators


Data movement between Host
and Accelerators

Board Management

Board Recovery, Debug, Power Management


Board Recovery,
Debug, Power Management

Execution Management

execution-management


Trigger, Sequence and
Synchronize Computations

Getting Started