Unifying Static and Dynamic Intermediate Languages for Accelerator Generators
Caleb Kim, Pai Li, Anshuman Mohan, Andrew Butt, Adrian Sampson, Rachit Nigam
Abstract
Compilers for accelerator design languages (ADLs) translate high-level languages into application-specific hardware. ADL compilers rely on a hardware control interface to compose hardware units. There are two choices: static control, which relies on cycle-level timing; or dynamic control, which uses explicit signalling to avoid depending on timing details. Static control is efficient but brittle; dynamic control incurs hardware costs to support compositional reasoning. Piezo is an ADL compiler that unifies static and dynamic control in a single intermediate language (IL). Its key insight is that the IL’s static fragment is a refinement of its dynamic fragment: static code admits a subset of the run-time behaviors of the dynamic equivalent. Piezo can optimize code by combining facts from static and dynamic submodules, and it opportunistically converts code from dynamic to static control styles. We implement Piezo as an extension to an existing dynamic ADL compiler, Calyx. We use Piezo to implement a frontend for an existing ADL, a systolic array generator, and a packet-scheduling hardware generator to demonstrate its optimizations and the static–dynamic interactions it enables.
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 8073556e-da20-43c3-9fbb-1c552e524ffcCited by top-tier papers2
- Understanding Accelerator Compilers via Performance ProfilingAyaka Yorihiro, Griffin Berlstein, Pedro Pontes García, Kevin Laeufer et al.OOPSLA 2026
- Anvil: A General-Purpose Timing-Safe Hardware Description LanguageJason Zhijingcheng Yu, Aditya Ranjan Jha, Umang Mathur, Trevor E. Carlson et al.ASPLOS 2026
Builds on7
- Predictable accelerator design with time-sensitive affine typesRachit Nigam, Sachille Atapattu, Samuel Thomas, Zhijing Li et al.PLDI 2020 · 58 citations
- A compiler infrastructure for accelerator generatorsRachit Nigam, Samuel Thomas, Zhijing Li, Adrian SampsonASPLOS 2021 · 54 citations
- Type-directed scheduling of streaming acceleratorsDavid Durst, Matthew Feldman, Dillon Huff, David Akeley et al.PLDI 2020 · 49 citations
- Modular Hardware Design with Timeline TypesRachit Nigam, Pedro Henrique Azevedo de Amorim, Adrian SampsonPLDI 2023 · 16 citations
- HIR: An MLIR-based Intermediate Representation for Hardware Accelerator DescriptionKingshuk Majumder, Uday BondhugulaASPLOS 2023 · 12 citations
Related papers
- Stepwise Debugging for Hardware AcceleratorsGriffin Berlstein, Rachit Nigam, Christophe Gyurgyik, Adrian SampsonASPLOS 2023 · 2 citations
- Effective simulation and debugging for a high-level hardware language using software compilersClément Pit-Claudel, Thomas Bourgeat, Stella Lau, Arvind et al.ASPLOS 2021 · 12 citations
- Allo: A Programming Model for Composable Accelerator DesignHongzheng Chen, Niansong Zhang, Shaojie Xiang, Zhichen Zeng et al.PLDI 2024 · 41 citations
- CRUSH: A Credit-Based Approach for Functional Unit Sharing in Dynamically Scheduled HLSJiahui Xu, Lana JosipovicASPLOS 2025 · 1 citation
- Graph.hls: A Compiler Framework for Composable Graph Accelerator DesignFeiyang Wu, Xuxiao Yang, Zhuohang Bian, Jing Wang et al.ISCA 2026 · 1 citation
