SODA Synthesizer: Accelerating Artificial Intelligence Applications

with an End-to-End Silicon Compiler

ISCA 2024 tutorial – Sunday, June 30, afternoon - Room: Lenga

Michele Fiorito (Politecnico di Milano),

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

Abstract

Artificial intelligence applications (machine learning, graph analytics) are among the main drivers for the renewed interests in designing domain specific accelerators, both for reconfigurable devices (e.g., field programmable gate arrays - FPGAs) and application-specific integrated circuits (ASICs). The constant evolution of the algorithms and models does not allow the conventional hardware design cycle to keep up. New agile hardware design methods and tools that could convert high-level descriptions of algorithms in their hardware implementation and allow to explore them along several contrasting design metrics with minimal human interventions are needed. This tutorial will discuss methodologies, trends, advantages, benefits, and gaps that still needs to be closed for agile hardware design tools based on compiler and high-level synthesis (HLS) technologies.

The tutorial will pro-vide a hands-on ands-on experience of the SOftware Defined Accelerators (SODA) Synthesizer, an open-source compiler-based toolchain composed of SODA-OPT, a front-end and optimizer that interfaces with productive programming data science frameworks in Python based on the MLIR framework, and Bambu, the most advanced open-source HLS tool available, able to generate optimized accelerators for data-intensive kernels.

Schedule

14:00 – 14:30

Antonino Tumeo

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

14:30 – 15:00

Fabrizio Ferrandi

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

15:00 - 15:20

 

Coffee Break – hands on preparation

15:20 – 16:20

Michele Fiorito

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

16:20 – 17:00

Antonino Tumeo

SODA-OPT: Enabling System-Level Design in MLIR for HLS and Beyond.

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

17:00 - 17:30

Antonino Tumeo & Fabrizio Ferrandi

New features in SODA-OPT and Bambu:

SPARTA (High-Level Synthesis of Parallel Multi-Threaded Accelerators)

AXI4MLIR (Co-designing accelerators with instructions and automatic driver code generation)

 

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). BEST PAPER FOR 2022

o   Serena Curzel, Nicolas Bohm Agostini, Vito Giovanni Castellana, Marco Minutoli, Ankur Limaye, Joseph B. Manzano, Jeff Zhang, David Brooks, Gu-Yeon Wei, Fabrizio Ferrandi, Antonino Tumeo: End-to-End Synthesis of Dynamically Controlled Machine Learning Accelerators. IEEE Trans. Computers 71(12): 3074-3087 (2022)

o   Agostini, N.B., Haris, J., Gibson, P., Jayaweera, M., Rubin, N., Tumeo, A., Abellán, J.L., Cano, J., Kaeli, D.R., 2024, March, AXI4MLIR: User-Driven Automatic Host Code Generation for Custom AXI-Based Accelerators. In proceedings of CGO 2024 (pp. 143-157)

    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://github.com/pnnl/soda-opt

Tutorial setup

    Have a computer with access to internet and a valid Google account

o   We will use two Jupiter Notebooks hosted on Google COLAB

       Notebook and material for Bambu: https://github.com/ferrandi/PandA-bambu/tree/dev/panda/documentation/bambu101

       Notebook and material for SODA-OPT: https://github.com/pnnl/soda-opt/tree/main/docs/tutorials