A compiler infrastructure for accelerator generators
Rachit Nigam, Samuel Thomas, Zhijing Li, Adrian Sampson
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.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 31241950-1d4d-4158-a8e7-32dca64bf5ceCited by top-tier papers14
- Allo: A Programming Model for Composable Accelerator DesignHongzheng Chen, Niansong Zhang, Shaojie Xiang, Zhichen Zeng et al.PLDI 2024 · 41 citations
- Archytas: A Framework for Synthesizing and Dynamically Optimizing Accelerators for Robotic LocalizationWeizhuang Liu, Bo Yu, Yiming Gan, Qiang Liu et al.MICRO 2021 · 41 citations
- HIDA: A Hierarchical Dataflow Compiler for High-Level SynthesisHanchen Ye, Hyegang Jun, Deming ChenASPLOS 2024 · 21 citations
- Modular Hardware Design with Timeline TypesRachit Nigam, Pedro Henrique Azevedo de Amorim, Adrian SampsonPLDI 2023 · 16 citations
- Reticle: a virtual machine for programming modern FPGAsLuis Vega, Joseph McMahan, Adrian Sampson, Dan Grossman et al.PLDI 2021 · 8 citations
Builds on3
- Predictable accelerator design with time-sensitive affine typesRachit Nigam, Sachille Atapattu, Samuel Thomas, Zhijing Li et al.PLDI 2020 · 58 citations
- Type-directed scheduling of streaming acceleratorsDavid Durst, Matthew Feldman, Dillon Huff, David Akeley et al.PLDI 2020 · 49 citations
- LLHD: a multi-level intermediate representation for hardware description languagesFabian Schuiki, Andreas Kurth, Tobias Grosser, Luca BeniniPLDI 2020 · 35 citations
Related papers
- Stepwise Debugging for Hardware AcceleratorsGriffin Berlstein, Rachit Nigam, Christophe Gyurgyik, Adrian SampsonASPLOS 2023 · 2 citations
- Unifying Static and Dynamic Intermediate Languages for Accelerator GeneratorsCaleb Kim, Pai Li, Anshuman Mohan, Andrew Butt et al.OOPSLA 2024 · 1 citation
- Understanding Accelerator Compilers via Performance ProfilingAyaka Yorihiro, Griffin Berlstein, Pedro Pontes García, Kevin Laeufer et al.OOPSLA 2026
- Wavefront Threading Enables Effective High-Level SynthesisBlake Pelton, Adam Sapek, Ken Eguro, Daniel Lo et al.PLDI 2024 · 4 citations
- Compiling Classical Sequent Calculus to Stock Hardware: The Duality of CompilationPhilipp Schuster, Marius Müller, Klaus Ostermann, Jonathan Immanuel BrachthäuserOOPSLA 2025 · 1 citation
