ABSTRACT
Novel "converged" applications combine phases of scientific simulation with data analysis and machine learning. Each computational phase can benefit from specialized accelerators. However, algorithms evolve so quickly that mapping them on existing accelerators is suboptimal or even impossible. This paper presents the SODA (Software Defined Accelerators) framework, a modular, multi-level, open-source, no-human-in-the-loop, hardware synthesizer that enables end-to-end generation of specialized accelerators. SODA is composed of SODA-Opt, a high-level frontend developed in MLIR that interfaces with domain-specific programming frameworks and allows performing system level design, and Bambu, a state-of-the-art high-level synthesis engine that can target different device technologies. The framework implements design space exploration as compiler optimization passes. We show how the modular, yet tight, integration of the high-level optimizer and lower-level HLS tools enables the generation of accelerators optimized for the computational patterns of converged applications. We then discuss some of the research opportunities that such a framework allows, including system-level design, profile driven optimization, and supporting new optimization metrics.
- V. G. Castellana, A. Tumeo, and F. Ferrandi. 2021. High-Level Synthesis of Parallel Specifications Coupling Static and Dynamic Controllers. In IPDPS '21: IEEE International Parallel and Distributed Processing Symposium. 192--202.Google Scholar
- S. Curzel, N. Bohm Agostini, S. Song, I. Dagli, A. Limaye, M. Minutoli, V. G. Castellana, V. Amatya, J. Manzano, A. Das, F. Ferrandi, and A. Tumeo. 2021. Automated Generation of Integrated Digital and Spiking Neuromorphic Machine Learning Accelerators. In ICCAD: International Conference On Computer Aided Design. 1--7.Google Scholar
- F. Ferrandi, V. G. Castellana, S. Curzel, P. Fezzardi, M. Fiorito, M. Lattuada, M. Minutoli, C. Pilato, and A. Tumeo. 2021. Bambu: an Open-Source Research Framework for the High-Level Synthesis of Complex Applications. In DAC: 58th Design Automation Conference. 1327--1330.Google Scholar
- S. Govindarajan and W. S. Moses. 2020. SyFER-MLIR: Integrating Fully Homo-morphic Encryption Into the MLIR Compiler Framework. https://math.mit.edu/research/highschool/primes/materials/2020/Govindarajan-Moses.pdfGoogle Scholar
- C. Lattner, M. Amini, U. Bondhugula, A. Cohen, A. Davis, J. Pienaar, R. Riddle, T. Shpeisman, N. Vasilache, and O. Zinenko. 2021. MLIR: Scaling Compiler Infrastructure for Domain Specific Computation. In CGO: International Symposium on Code Generation and Optimization. 2--14.Google Scholar
- P. Mantovani, D. Giri, G. Di Guglielmo, L. Piccolboni, J. Zuckerman, E. G. Cota, M. Petracca, C. Pilato, and L. P. Carloni. 2020. Agile SoC development with open ESP. In 2020 IEEE/ACM International Conference On Computer Aided Design (ICCAD). IEEE, 1--9.Google Scholar
- M. Minutoli, V. Castellana, N. Saporetti, S. Devecchi, M. Lattuada, P. Fezzardi, A. Tumeo, and F. Ferrandi. 2021. Svelto: High-Level Synthesis of Multi-Threaded Accelerators for Graph Analytics. IEEE Trans. Comput. 01 (2021), 1--14.Google Scholar
- M. Minutoli, V. G. Castellana, A. Tumeo, and F. Ferrandi. 2015. Inter-procedural resource sharing in High Level Synthesis through function proxies. In FPL 2015: 25th International Conference on Field Programmable Logic and Applications. 1--8.Google Scholar
- A. Tumeo. 2017. Architecture independent integrated early performance and energy estimation. In IGSC '17: Eighth International Green and Sustainable Computing Conference. 1--6.Google ScholarCross Ref
Index Terms
- The SODA approach: leveraging high-level synthesis for hardware/software co-design and hardware specialization: invited
Recommendations
SODA Synthesizer: An Open-Source, Multi-Level, Modular, Extensible Compiler from High-Level Frameworks to Silicon
ICCAD '22: Proceedings of the 41st IEEE/ACM International Conference on Computer-Aided DesignThe SODA Synthesizer is an open-source, modular, end-to-end hardware compiler framework. The SODA frontend, developed in MLIR, performs system-level design, code partitioning, and high-level optimizations to prepare the specifications for the hardware ...
LegUp: high-level synthesis for FPGA-based processor/accelerator systems
FPGA '11: Proceedings of the 19th ACM/SIGDA international symposium on Field programmable gate arraysIn this paper, we introduce a new open source high-level synthesis tool called LegUp that allows software techniques to be used for hardware design. LegUp accepts a standard C program as input and automatically compiles the program to a hybrid ...
High-level synthesis with LegUp: a crash course for users and researchers
FPGA '13: Proceedings of the ACM/SIGDA international symposium on Field programmable gate arraysHigh-level synthesis (HLS) has been gaining traction recently as a design methodology for FPGAs, with the promise of raising the productivity of FPGA hardware designers, and ultimately, opening the door to the use of FPGAs as computing devices ...
Comments