DATE 2022 – Tutorial

M04 Modern High-Level Synthesis for Complex Data Science Applications

Start Monday, 21 March 2022 13:15
End Monday, 21 March 2022 17:15
  • Serena Curzel, Pacific Northwest National Laboratory, US and Politecnico di Milano, Italy
  • Nicolas Bohm Agostini, Pacific Northwest National Laboratory and Northeastern University, United States
  • Michele Fiorito, Politecnico di Milano, Italy
  • Marco Minutoli, Pacific Northwest National Laboratory, United States
  • Vito Giovanni Castellana, Pacific Northwest National Laboratory, United States
  • Fabrizio Ferrandi, Politecnico di Milano, Italy
  • Antonino Tumeo, Pacific Northwest National Laboratory, United States

Motivations

  • Data science is a key application area that benefits from domain  specific accelerators. However, domain scientists program in high-level programming frameworks, develop new algorithms extremely quickly, while implementing specialized accelerators typically requires significant efforts from experienced hardware designers
  • Providing multi-level, modular, extendible, compiler based frameworks able to automate the translation of the algorithms from the high-level frameworks into specialized circuit design can bridge the design productivity gap
  • High-Level compiler frameworks and High-Level Synthesis have a critical role in such a toolchain

Goals
The goals of this tutorial is to introduce participants to challenges and opportunities in the implementation of high-level productive programming frameworks to silicon compilers, and providing a hands-on on a set of opensource state-of-the-art tools (SODA-OPT and PandA-Bambu HLS) whose integration enables such a no-human-in-the-loop compilation framework.

Technical Details
Data Science applications (machine learning, graph analytics) today are the main drivers for designing domain-specific accelerators, both for reconfigurable devices such as Field Programmable Gate Arrays (FPGAs) and Application-Specific Integrated Circuits (ASICs). As data analysis and machine learning methods keep evolving, we are experiencing a renewed interest in high-level synthesis (HLS) and automated accelerator generation to reduce development effort and allow quick transition from the algorithmic formulation to hardware implementation. This tutorial will discuss the use of modern HLS techniques to generate domain-specific accelerators, explicitly focusing on accelerators for data science, highlighting key methodologies, trends, advantages, benefits, and gaps that still need to be closed. The tutorial will provide a direct hands-on experience with Bambu, one of the most advanced open-source HLS tools currently available, and SODA-OPT, an open-source frontend tool for HLS developed in MLIR. Bambu supports many logic synthesis and simulation tools by integrating various compiler frontends, generating accelerators targeting a variety of FPGA devices and ASIC flows, and introducing new methodologies for parallel accelerators (dataflow and multithreaded designs). SODA-OPT performs hardware/software partitioning of specifications derived from popular high-level data science and machine learning Python frameworks used in high-level data-driven applications. Additionally, it provides domain-specific optimizations to improve the high-level synthesis process of the identified hardware components. Integrating SODA-OPT with Bambu allows the generation of highly efficient accelerators for complex graph analysis and machine learning algorithms.

M04.1 Agile Hardware Design for Complex Data Science Applications: Opportunities and Challenges (PDF)

Session Start  Mon, 13:15 Session End Mon, 13:45
Speaker
  • Antonino Tumeo, Pacific Northwest National Laboratory, United States

M04.2 Bambu: an Open-Source Research Framework for the High-Level Synthesis of Complex Applications (PDF)

Session Start Mon, 13:45 Session End Mon, 14:15
Speaker
  • Fabrizio Ferrandi, Politecnico di Milano, Italy

M04.3 Hands-on: Productive High-Level Synthesis with Bambu (PDF)

Session Start Mon, 14:15 Session End Mon, 15:00
Speaker
  • Serena Curzel, Pacific Northwest National Laboratory, US and Politecnico di Milano, Italy

M04.4 Hands-on: Compiler Based Optimizations, Tuning and Customization of Generated Accelerators (PDF)

Session Start Mon, 15:15 Session End Mon, 16:00
Speaker
  • Michele Fiorito, Politecnico di Milano, Italy

M04.5 Hands-on: SODA-OPT: Enabling System-Level Design in MLIR for High-Level Synthesis and Beyond (PDF)

Session Start Mon, 16:00 Session End Mon, 16:45
Speaker
  • Nicolas Bohm Agostini, Pacific Northwest National Laboratory and Northeastern University, United States

M04.6 Tech: Svelto: High-Level Synthesis of Multi-Threaded Accelerators for Graph Analytics (PDF)

Session Start Mon, 16:45 Session End Mon, 17:15
Speakers
  • Marco Minutoli, Pacific Northwest National Laboratory, United States
  • Vito Giovanni Castellana, Pacific Northwest National Laboratory, United States

Used tools

Google Colab notebook used to exemplify Bambu: Colab link.
Instructions for SODA-OPT material: link.

A framework for Hardware-Software Co-Design of Embedded Systems