Modern High-Level Synthesis for Complex Data Science Applications

ISC 2023 Tutorial - Hall Y1 - 2nd Floor
Sunday, May 21, 2023 | 2:00 PM to 6:00 PM (CEST)

Giovanni Gozzi (Politecnico di Milano), Nicolas Bohm Agostini (Northeastern University and PNNL),

Fabrizio Ferrandi (Politecnico di Milano), Antonino Tumeo (PNNL)

Abstract

Field Programmable Gate Arrays (FPGAs) have become one of the key accelerators for data analytics and machine learning in the data center, and they are seeing increased adoption in heterogeneous high-performance computing systems for com-plex workflows that couple scientific simulation with data science. FPGAs have traditionally been programmed with hard-ware description languages, requiring significant engineering efforts and long development times. Today, the availability of new high-level synthesis (HLS) tools to generate accelerators starting from high-level specifications provides easier access to FPGAs and preserves programmer productivity. However, the conventional HLS flow typically starts from languages such as C, C++, or OpenCL, heavily annotated to provide information for 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, 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.

Schedule

2:00 – 2:30pm

Antonino Tumeo

Agile Hardware Design for Complex Data Science Applications: Opportunities and Challenges.

2:30 – 3:15pm

Fabrizio Ferrandi

Bambu: An Open-Source Research Framework for the High-Level Synthesis of Complex Applications.

3:15 - 4:00pm

Giovanni Gozzi

Hands-on: Productive High-Level Synthesis with Bambu, Compiler Based Optimizations, Tuning and Customization of Generated Accelerators

4:00 - 4:30pm

 

Coffee Break

4:30 – 5:00pm

Nicolas Bohm Agostini, Antonino Tumeo

SODA-OPT: Enabling System-Level Design in MLIR for High-Level Synthesis and Beyond

5:00 - 5:30pm

Nicolas Bohm Agostini, Antonino Tumeo

Hands-on: From DNN Models to ASIC Devices with SODA-OPT

5:30 - 6:00pm

Antonino Tumeo

Svelto: High-Level Synthesis of Multi-Threaded Accelerators for Graph Analytics

The time zone for all times mentioned at the ISC is CEST (GMT+2).

 

 


 

Reading list

    Papers:

o   Zhang, J.J., Agostini, N.B., Song, S., Tan, C., Limaye, A., Amatya, V., Manzano, J., Minutoli, M., Castellana, V.G., Tumeo, A. and Wei, G.Y., 2021, July. Towards Automatic and Agile AI/ML Accelerator Design with End-to-End Synthesis. In 2021 IEEE 32nd International Conference on Application-specific Systems, Architectures and Processors (ASAP) (pp. 218-225).

o   Ferrandi, F., Castellana, V.G., Curzel, S., Fezzardi, P., Fiorito, M., Lattuada, M., Minutoli, M., Pilato, C. and Tumeo, A., 2021, December. Bambu: an Open-Source Research Framework for the High-Level Synthesis of Complex Applications. In 2021 58th ACM/IEEE Design Automation Conference (DAC) (pp. 1327-1330).

o   Minutoli, M., Castellana, V.G., Saporetti, N., Devecchi, S., Lattuada, M., Fezzardi, P., Tumeo, A. and Ferrandi, F., 2021. Svelto: High-level synthesis of multi-threaded accelerators for graph analytics. IEEE Transactions on Computers.

o   Agostini, N.B., Curzel, S., Kaeli, D., and Tumeo, A., 2022, May, SODA-OPT an MLIR based flow for co-design and high-level synthesis. In 2022 Proceedings of the 19th ACM International Conference on Computing Frontiers (CF) (pp. 201–202).

o   Agostini, N.B., Curzel, S., Amatya, V., Tan, C., Minutoli, M., Castellana, V.G., Manzano, J., Kaeli, D., and Tumeo, A. 2022. An MLIR-based Compiler Flow for System-Level Design and Hardware Acceleration. In Proceedings of the 41st IEEE/ACM International Conference on Computer-Aided Design (ICCAD '22), Article 6, (pp. 1-9)

o   Agostini, N.B., Curzel, S., Zhang, J.J., Limaye, A., Tan, C., Amatya, V., Minutoli, M., Castellana, V.G., Manzano, J., Brooks, D. and Wei, G.Y., 2022, June. Bridging Python to Silicon: The SODA Toolchain. In IEEE Micro, 42(5), (pp. 78–88).

    Additional material:

o   Other Bambu publications are listed on https://panda.dei.polimi.it/?page_id=177

o   Code repositories: https://github.com/ferrandi/PandA-bambu and https://gitlab.pnnl.gov/sodalite/soda-opt

Tutorial setup

    Have a computer with access to internet:

o   We will use a Jupiter Notebooks hosted on Google COLAB

       Notebook and material for Bambu: https://github.com/ferrandi/PandA-bambu/tree/feature/tutorial_isc23/documentation/tutorial_isc_2023

o   We will use Docker and a Jupiter Notebook:

       Notebook and material for SODA-OPT: https://gitlab.pnnl.gov/sodalite/soda-opt/-/blob/main/docs/tutorials/isc2023