Education Class 10

Session: EC10

Educator: Fabrizio Ferrandi and Antonino Tumeo

Institute: Politecnico di Milano and Pacific Northwest National Lab

Time & Date: September 15, 2023, 10:00 – 12:00 CET

Title: High-Level Synthesis of Complex Parallel Specifications

Abstract: High-Level synthesis (HLS) is the process of converting specifications in high-level languages, such as C or C++, to designs in hardware description languages (HDLs), such as Verilog or VHDL, and is a necessary methodology to make productive use of reconfigurable devices such field-programmable gate arrays (FPGAs). HLS tools are very effective in extracting and optimizing applications leveraging instruction-level parallelism (ILP). Leveraging task-level parallelism (TLP) is very appealing to fully utilize the large area made available by modern devices. This tutorial will first provide an overview of the foundations of high-level synthesis and then delve into some advanced techniques for parallel specifications, focusing on some of the solutions targeted at memory intensive codes with irregular behaviors that we integrated in PandA-Bambu HLS, a state-of-the-art open-source HLS tool. We will finally provide an overview of the opportunities provided by novel compiler infrastructures such as MLIR for HLS.