Type-directed scheduling of streaming accelerators
David Durst, Matthew Feldman, Dillon Huff, David Akeley, Ross G. Daly, Gilbert Louis Bernstein, Marco Patrignani, Kayvon Fatahalian, Pat Hanrahan
Abstract
Designing efficient, application-specialized hardware accelerators requires assessing trade-offs between a hardware module's performance and resource requirements. To facilitate hardware design space exploration, we describe Aetherling, a system for automatically compiling data-parallel programs into statically scheduled, streaming hardware circuits. Aetherling contributes a space-and time-aware intermediate language featuring data-parallel operators that represent parallel or sequential hardware modules, and sequence data types that encode a module's throughput by specifying when sequence elements are produced or consumed. As a result, well-typed operator composition in the space-time language corresponds to connecting hardware modules via statically scheduled, streaming interfaces.
We provide rules for transforming programs written in a standard data-parallel language (that carries no information about hardware implementation) into equivalent spacetime language programs. We then provide a scheduling algorithm that searches over the space of transformations to quickly generate area-efficient hardware designs that achieve a programmer-specified throughput. Using benchmarks from the image processing domain, we demonstrate that Aetherling enables rapid exploration of hardware designs with different throughput and area characteristics, and yields results that require 1.8-7.9× fewer FPGA slices than those of prior hardware generation systems.
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 e7cd519d-fad3-4196-ae1e-5b960b1cf0b8Cited by top-tier papers17
- A compiler infrastructure for accelerator generatorsRachit Nigam, Samuel Thomas, Zhijing Li, Adrian SampsonASPLOS 2021 · 54 citations
- 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
Builds on1
Related papers
- DSAGEN: Synthesizing Programmable Spatial AcceleratorsJian Weng, Sihao Liu, Vidushi Dadu, Zhengrong Wang et al.ISCA 2020 · 140 citations
- TensorLib: A Spatial Accelerator Generation Framework for Tensor AlgebraLiancheng Jia, Zizhang Luo, Liqiang Lu, Yun LiangDAC 2021 · 49 citations
- ImaGen: A General Framework for Generating Memory- and Power-Efficient Image Processing AcceleratorsNisarg Ujjainkar, Jingwen Leng, Yuhao ZhuISCA 2023 · 13 citations
- HIR: An MLIR-based Intermediate Representation for Hardware Accelerator DescriptionKingshuk Majumder, Uday BondhugulaASPLOS 2023 · 12 citations
- Fleet: A Framework for Massively Parallel Streaming on FPGAsJames Thomas, Pat Hanrahan, Matei ZahariaASPLOS 2020 · 39 citations
