DornerWorks

Using AMD Vitis To Streamline ML Algorithm Implementation

Posted on October 6, 2020 by Matthew Russell

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 AMD Vitis Unified Software Platform is making it easier for companies to integrate Machine Learning features into their products.

What is the Vitis Unified Software Platform?

Vitis Unified Software Platform offers a comprehensive development environment and methodology for all developers to access the power of AMD 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 AMD platforms.

Vitis™ AI is a comprehensive development platform for machine learning, designed to offer the world-leading AI inference performance on AMD 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.

Developers can use this toolset to translate common software languages like Python, C++ and others into hardware acceleration cores before dropping those onto hardware. Among other versatile features of the suite, Vitis AI expands support to TensorFlow, Caffe, and PyTorch frameworks while Vitis Video enables cloud-based video processing engines using FFmpeg.

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 AMD 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 AMD 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 AMD Premier Partner, DornerWorks engineers work with a range of state-of-the-art AMD 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 AMD Machine Learning and video processing IP onto a ZCU102 Development Kit.

On a ZCU102 Development Kit, the DornerWorks Machine Learning Demo could enable four video pipelines at once.
On a ZCU102 Development Kit, the DornerWorks Machine Learning Demo could enable four video pipelines at once.

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 HLS and Vitis, and you’re good to go.

What do I need for my Machine Learning platform?

The AMD Vitis Unified Software Platform toolset will help you implement your algorithm on a number of state-of-the-art AMD 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.

Matthew Russell
by Matthew Russell