M04 Modern High-Level Synthesis for Complex Data Science Applications
- 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)
- 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)
- Fabrizio Ferrandi, Politecnico di Milano, Italy
M04.3 Hands-on: Productive High-Level Synthesis with Bambu (PDF)
- 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)
- 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)
- 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)
- Marco Minutoli, Pacific Northwest National Laboratory, United States
- Vito Giovanni Castellana, Pacific Northwest National Laboratory, United States