Allo is a Python-embedded Accelerator Design Language (ADL) and compiler that facilitates the construction of large-scale, high-performance hardware accelerators in a modular and composable manner. Allo has several key features:
.compose()
primitive. This approach, unachievable by prior top-down methods, significantly enhances productivity and debuggability.Please check out the Allo documentation for installation instructions and tutorials. If you encounter any problems, please feel free to open an issue.
Please refer to our PLDI'24 paper for more details. If you use Allo in your research, please use the following bibtex entry to cite us:
@article{chen2024allo,
author = {Hongzheng Chen and Niansong Zhang and Shaojie Xiang and Zhichen Zeng and Mengjia Dai and Zhiru Zhang},
title = {Allo: A Programming Model for Composable Accelerator Design},
journal = {Proc. ACM Program. Lang.},
year = {2024},
month = {jun},
url = {https://doi.org/10.1145/3656401},
doi = {10.1145/3656401},
articleno = {171},
volume = {8},
number = {PLDI},
publisher = {Association for Computing Machinery},
address = {New York, NY, USA},
issue_date = {June 2024},
}