/Vitis-AI

Primary LanguageSystemVerilogOtherNOASSERTION


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

Getting Started

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
    

    CPU tools container:

    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'
    

    GPU tools container:

    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'
    

    Runtime container:

    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

  • Load&Run Docker Container

  • Get started with examples

Programming with Vitis AI

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

References

Questions and Support