An MLIR-based compiler flow for system-level design and hardware acceleration

Abstract

The generation of custom hardware accelerators for applications implemented within high-level productive programming frameworks requires considerable manual effort. To automate this process, we introduce SODA-OPT, a compiler tool that extends the MLIR infrastructure. SODA-OPT automatically searches, outlines, tiles, and pre-optimizes relevant code regions to generate high-quality accelerators through high-level synthesis. SODA-OPT can support any high-level programming framework and domain-specific language that interface with the MLIR infrastructure. By leveraging MLIR, SODA-OPT solves compiler optimization problems with specialized abstractions. Backend synthesis tools connect to SODA-OPT through progressive intermediate representation lowerings. SODAOPT interfaces to a design space exploration engine to identify the combination of compiler optimization passes and options that provides high-performance generated designs for different backends and targets. We demonstrate the practical applicability of the compilation flow by exploring the automatic generation of accelerators for deep neural networks operators outlined at arbitrary granularity and by combining outlining with tiling on large convolution layers. Experimental results with kernels from the PolyBench benchmark show that our high-level optimizations improve execution delays of synthesized accelerators up to 60x. We also show that for the selected kernels, our solution outperforms the current of state-ofthe art in more than 70% of the benchmarks and provides better average speedup in 55% of them. SODA-OPT is an open source project available at https://gitlab.pnnl.gov/sodalite/soda-opt.

Publication
ICCAD ‘22: Proceedings of the 41st IEEE/ACM International Conference on Computer-Aided Design
Serena Curzel
Serena Curzel
Assistant Professor

Serena Curzel earned her M.Sc. in Electronics Engineering (2019) and PhD cum laude in Information Technology (2023) from Politecnico di Milano. Her PhD focused on Deep Learning acceleration in collaboration with Pacific Northwest National Laboratory. She later worked as a postdoc on FPGA acceleration for Big Data and aerospace. Since August 2024, she is an Assistant Professor at DEIB, researching design automation and High-Performance Computing, and is part of the PandA group on HLS methodologies.