Vitis AI is Xilinx’s development stack for AI inference on Xilinx hardware platforms, including both edge devices and Alveo cards. It consists of optimized IP, tools, libraries, models, and example designs. It is designed with high efficiency and ease of use in mind, unleashing the full potential of AI acceleration on Xilinx FPGA and ACAP.
Vitis AI is composed of the following key components:
- AI Model Zoo - A comprehensive set of pre-optimized models that are ready to deploy on Xilinx devices.
- AI Optimizer - An optional model optimizer that can prune a model by up to 90%. It is seperately available with commercial licenses.
- AI Quantizer - A powerful quantizer that supports model quantization, calibration, and fine tuning.
- AI Compiler - Compiles the quantized model to a high-efficient instruction set and data flow.
- AI Profiler - Perform an in-depth analysis of the efficiency and utilization of AI inference implementation.
- AI Library - Offers high-level yet optimized C++ APIs for AI applications from edge to cloud.
- DPU - Efficient and scalable IP cores can be customized to meet the needs for many different applications
Learn More: Vitis AI Overview
- Release Notes
- Unified Vitis AI APIs with 7 samples for edge to cloud deployment
- Fully support Vitis flow with XRT 2019.2 and Vitis DPU
- Model number in Model Zoo increased to 50 with 15 new Tensorflow models
- Neptune API for X + AI and Butler API for Multiprocess & Scaleout support for cloud deployment
- Introduce adaptive operating layer to support non-Linux RTOS such as QNX
- Vitis AI Library is open source with XRT 2019.2 support
- Tensorflow and Darkenet model pruning
- Ease of use enhancements
- Docker Images for both tool and runtime
- Cross compilation support for Zynq/ZU+ MPSoC platform
To facilitate the setup of Vitis AI environment, the docker container is used for Vitis AI package distribution. Vitis AI consists of three docker container images: two vitis-ai-docker-tools images and one vitis-ai-docker-runtime image. The two vitis-ai-docker-tools images are for GPU and CPU environments respectively. The vitis-ai-docker-tools contains the Vitis AI quantizer, AI compiler and examples. The vitis-ai-docker-runtime is the runtime docker image for DPU-v2 development, which holds Vitis AI installation package for Xilinx ZCU102 and ZCU104 evaluation boards, samples, and Arm GCC cross-compilation toolchain.
-
Download Docker Containers - Please use CPU tools container if no GPU available on your machine
git clone https://github.com/Xilinx/Vitis-AI cd Vitis-AI
wget -O vitis-ai-tools-1.0.0-cpu.tar.gz 'https://www.xilinx.com/bin/public/openDownload?filename=vitis-ai-tools-1.0.0-cpu.tar.gz'
wget -O vitis-ai-tools-1.0.0-gpu.tar.gz 'https://www.xilinx.com/bin/public/openDownload?filename=vitis-ai-tools-1.0.0-gpu.tar.gz'
wget -O vitis-ai-runtime-1.0.1.tar.gz 'https://www.xilinx.com/bin/public/openDownload?filename=vitis-ai-runtime-1.0.1.tar.gz'
-
Install Docker - if Docker not installed on your machine yet
-
Get started with examples
Vitis AI offers a unified set of high-level C++/Python programming APIs to run AI applications across edge-to-cloud platforms, including DPUv1 and DPUv3 for Alveo,
and DPUv2 for Zynq Ultrascale+ MPSoC and Zynq-7000. It brings the benefits to easily port AI applications from cloud to edge and vice versa.
7 samples in Vitis AI Samples for Zynq and Vitis AI Samples for Alveo are available
to help you get familiar with the unfied programming APIs.
ID | Example Name | Models | Framework | Notes |
---|---|---|---|---|
1 | resnet50 | ResNet50 | Caffe | Image classification with Vitis AI unified C++ APIs. |
2 | resnet50_mt_py | ResNet50 | TensorFlow | Multi-threading image classification with Vitis AI unified Python APIs. |
3 | inception_v1_mt_py | Inception-v1 | TensorFlow | Multi-threading image classification with Vitis AI unified Python APIs. |
4 | pose_detection | SSD, Pose detection | Caffe | Pose detection with Vitis AI unified C++ APIs. |
5 | video_analysis | SSD | Caffe | Traffic detection with Vitis AI unified C++ APIs. |
6 | adas_detection | YOLO-v3 | Caffe | ADAS detection with Vitis AI unified C++ APIs. |
7 | segmentation | FPN | Caffe | Semantic segmentation with Vitis AI unified C++ APIs. |
For more information, please refer to Vitis AI User Guide