An MLIR-Based Compiler for Hardware Acceleration with Recursion Support: (PhD Forum Paper)
Generating custom hardware accelerators within a high-level programming framework is a complex task. However, compiling and generating accelerators for kernel programs that use recursion is often unsupported, necessitating manual refactoring to ensure compatibility with high-level synthesis (HLS) tools. The single-level abstraction in existing HLS frameworks limits recursive application transformations, hindering efficient acceleration. In this paper, we present an automated restructuring technique for recursive applications, built on multi-level intermediate representation (MLIR), aimed at generating high-quality hardware accelerators through HLS. We automatically detect recursive calls and analyze recursive data structures to generate loops, state machines, and stacks for simulating recursion, thus enabling an end-to-end compilation process. Experimental results show that, compared to a domain-specific language (DSL) compiler supporting recursion, our approach outperforms methods requiring manual modification of recursion into DSL representations in over 55% of the benchmark cases, achieving an average resource reduction of 51.3 %. Furthermore, compared to HeteroRefactor, we support more benchmarks and provide a synthesizable architecture.
Authors
- Lingli Wang (ORCID: https://orcid.org/0000-0002-0579-3527)
- Jiangnan Li (ORCID: https://orcid.org/0009-0000-8726-4292)
- Zhengyi Zhang (ORCID: https://orcid.org/0000-0002-3099-5980)
- Xuegong Zhou (ORCID: https://orcid.org/0000-0003-4178-4094)
Institutions
- Fudan University (CN)
Publication Details
- Published
- 2024-12-10
- DOI
- https://doi.org/10.1109/icfpt64416.2024.11113451
- Primary Topic
- Parallel Computing and Optimization Techniques
- Type
- article
- Field-Weighted Citation Impact
- 0.00