A compiler infrastructure for accelerator generators

50Citations
Citations of this article
60Readers
Mendeley users who have this article in their library.
Get full text

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× faster and 1.11× 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.

Cite

CITATION STYLE

APA

Nigam, R., Thomas, S., Li, Z., & Sampson, A. (2021). A compiler infrastructure for accelerator generators. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (pp. 804–817). Association for Computing Machinery. https://doi.org/10.1145/3445814.3446712

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free