Xilinx is known for high-performance FPGAs. The company delivered impressive development tools for hardware and software that takes advantage of its FPGA and SoC platforms, such as the Vivado Design Suite and SDSoC environment. Its Versal Adaptive Compute Acceleration Platform (ACAP) incorporates artificial-intelligence (AI) acceleration.
The challenge with these advanced platforms is programming the hardware fabric and matching software to get the most out of the system. Likewise, systems are occasionally built with a single FPGA or SoC, but typically these are just part of a larger system. Cloud systems that employ FPGA cards like Xilinx’s Alveo often have hundreds of cards in a system. Mapping applications across CPUs, GPUs, FPGAs, and AI hardware is complex and error-prone when done manually.
Xilinx’s new Vitis environment is designed to automate the task to mapping applications across a wide range of hardware platforms up to clouds that could contain FPGA cards (see figure). Vitis brings a unified approach to software development. Applications built using the tool can target FPGAs and other customizable hardware, although it works equally well for solutions that only include CPUs and GPUs.
Xilinx’s Vitis is designed to map applications across multiple targets from processors to the cloud.
Vitis is an open-source platform that includes open-source libraries and runtimes optimized for conventional CPU and GPU platforms as well as Xilinx FPGA and SoC hardware. It features libraries like the OpenCV video processing library, the BLAS (basic linear algebra subprograms) library, a finance library, the Vitis Video library based on FFMEG, and a TensorFlow Vitis AI library. It also supports third-party libraries such as GTAK genomic and data-analytic tools. These domain-specific architecture (DSA) libraries have become popular among designers.
Vitis doesn’t provide new compilers and debuggers. Instead, it’s designed to integrate existing tools to be applied to the application code provided by the developer. The same code is used regardless of the underlying hardware.
The Xilinx runtime library is the basis for the Vitis-created solution. This isn’t a virtual-machine system—rather, it’s a way to provide an interface to the multiple hardware platforms more akin to device drivers within an operating system.
The Xilinx development website provides more details about Vitis as well as the libraries and Vitis software.
The company has provided a development environment, but Vitis tools are designed to work with existing development platforms like Visual Studio Code and Eclipse. The tools are mostly command-line applications that are easily integrated with existing development flows and tools.
One point that may be lost in this massive release of software is that it should make the development job easier when targeting AI and FPGA acceleration. It’s still possible to build systems that utilize IP developed using Vivado. However, more developers will simply take advantage of the standard APIs provided by libraries such as OpenCV, BLAS, and TensorFlow that can target the acceleration when necessary without dealing with FPGA IP directly.