Back to Search
Start Over
A Compiler Infrastructure for Accelerator Generators
- Source :
- ASPLOS 2021: Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems
- Publication Year :
- 2021
-
Abstract
- We present Calyx, a new intermediate language (IL) for compiling high-level programs into hardware designs. Calyx combines a hardware-like structural language with a software-like control flow representation with loops and conditionals. This split representation enables a new class of hardware-focused optimizations that require both structural and control flow information which are crucial for high-level programming models for hardware design. The Calyx compiler lowers control flow constructs using finite-state machines and generates synthesizable hardware descriptions. We have implemented Calyx in an optimizing compiler that translates high-level programs to hardware. We demonstrate Calyx using two DSL-to-RTL compilers, a systolic array generator and one for a recent imperative accelerator language, and compare them to equivalent designs generated using high-level synthesis (HLS). The systolic arrays are $4.6\times$ faster and $1.1\times$ larger on average than HLS implementations, and the HLS-like imperative language compiler is within a few factors of a highly optimized commercial HLS toolchain. We also describe three optimizations implemented in the Calyx compiler.<br />Comment: To appear at ASPLOS 2021
- Subjects :
- Computer Science - Programming Languages
Computer Science - Hardware Architecture
Subjects
Details
- Database :
- arXiv
- Journal :
- ASPLOS 2021: Proceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems
- Publication Type :
- Report
- Accession number :
- edsarx.2102.09713
- Document Type :
- Working Paper
- Full Text :
- https://doi.org/10.1145/3445814.3446712