M01 Modern High-Level Synthesis for Complex Data Science Applications
Data Science applications (machine learning, graph analytics) are among the main drivers for the renewed interests in designing domain specific accelerators, both for reconfigurable devices (Field Programmable Gate Arrays) and Application-Specific Integrated Circuits (ASICs). Today, the availability of new high-level synthesis (HLS) tools to generate accelerators starting from high-level specifications provides easier access to FPGAs or ASICs and preserves programmer productivity. However, the conventional HLS flow typically starts from languages such as C, C++, or OpenCL, heavily annotated with information to guide the hardware generation, still leaving a significant gap with respect to the (Python based) data science frameworks. This tutorial will discuss HLS to accelerate data science on FPGAs or ASICs, highlighting key methodologies, trends, advantages, benefits, but also gaps that still need to be closed. The tutorial will provide a hands-on experience of the SOftware Defined Accelerators (SODA) Synthesizer, a toolchain composed of SODA-OPT, an opensource front-end and optimizer that interface with productive programming data science frameworks in Python, and Bambu, the most advanced open-source HLS tool available, able to generate optimized accelerators for data-intensive kernels. We will further show how SODA integrates with OpenROAD flow, providing a truly automated end-to-end open-source compiler toolchain from high level machine learning frameworks to Silicon.
M01.1 Session 1: Modern High-Level Synthesis for Complex Data Science Applications
M01.1.1 Agile hardware design for complex data science applications: opportunities and challenges
Introductory material, context, state-of the art, and research opportunities
M01.1.2 Bambu: an Open-Source Research Framework for the High-Level Synthesis of Complex Applications.
Advanced materials on High-Level Synthesis methods
M01.1.3 End-to-end demonstration from high-level frameworks to Silicon with SODA-OPT, Bambu, and OpenROAD
Hands on on the end-to-end toolchain
M01.1.4 Advanced High-Level Synthesis with Bambu
Hands on on advanced High-Level Synthesis with Bambu