Using Xilinx Vitis To Streamline ML Algorithm Implementation


Imagine a world where technology for humans doesn't require humans to operate. Where data is analyzed in industrial, automotive, and even medical settings by the machines themselves. And where factory line workers, long-haul truckers, and surgeons are not obsolete but more efficient and more capable than ever before.

As the nexus of human and cyber physical cognition, Machine Learning systems are taking us into the fifth industrial revolution. And the Xilinx Vitis Unified Software Platform is making it easier for companies to integrate Machine Learning features into their products.

What is Vitis?

Vitis Unified Software Platform offers a comprehensive development environment and methodology for all developers to access the power of Xilinx platforms to solve challenging problems in their domain, accelerate time to insight, and innovate ahead of the curve.

Vitis includes a rich set of open-source performance-optimized libraries, runtime libraries and drivers that abstract away the low-level specifics of data movement and synchronization and comprehensive developer tools to build, analyze performance bottlenecks and debug accelerated algorithms for Xilinx platforms.

Vitis™ AI is a comprehensive development platform for machine learning, designed to offer the world-leading AI inference performance on Xilinx platforms. With Vitis AI, it is easy to enable an end-to-end inference acceleration with the highly-efficient DPU overlays, powerful software tools, optimized software libraries, deep learning models from multiple industry-standard frameworks and sample designs, thus achieving up to 10x performance increase versus CPU/GPU solutions.

What does a Machine Learning platform built with Vitis look like?

DornerWorks FPGA Design Architect Corrin Meyer is developing a demonstration of Vitis' capability by using it to deploy Xilinx Machine Learning IP onto an Avnet Ultra96 board with a Zynq UltraScale+ MPSoC that supports a single camera stream via a mezzanine board. Companies can use this custom shell project to accelerate prototyping or optimizing their own algorithms. And with the Xilinx Vitis and HLS tools, developers can write those algorithms in software, translate the code into a hardware acceleration core, and drop it right onto their hardware without ever having to touch VHDL or Verilog.

As a Xilinx Alliance Program Premier Partner, DornerWorks engineers work with a range of state-of-the-art Xilinx devices including Versal, RFSoC and MPSoC. Our next milestone, after completing the Ultra96 demo, will be to use Vitis to deploy a similar combination of Xilinx Machine Learning and video processing IP onto a Xilinx ZCU102 Development Kit.

In combination with a mezzanine card, the ZCU102 platform will enable four video pipelines to run through video processing algorithms simultaneously. 

"With this setup you can process four data streams rather than just the one," Meyer says. "And they can do whatever they want on those: simple video processing such as debayering, filtering, or color space conversion; or entire machine learning algorithms to enable object detection or tracking."

Just drop your own acceleration cores in using Xilinx HLS and Vitis, and you're good to go.

What do I need for my Machine Learning platform?

The Xilinx Vitis Unified Software Platform tool will help you implement your algorithm on a number of state-of-the-art Xilinx devices. But going it alone can be risky. If you want to accelerate that development with a trusted partner, DornerWorks can help you understand the implications of implementing in hardware, provide you with a custom shell project ready for your algorithm and help you use Vitis to deploy it.

Schedule a meeting with us today and turn your Machine Learning ideas into reality.