HLSFactory

HLSFactory: A Framework Empowering High-Level Synthesis Datasets for Machine Learning and Beyond

HLSFactory is a framework for High-Level Synthesis (HLS) design datasets. It provides both the facilities to collect and build custom HLS datasets using various frontends, supported HLS tools, and data aggregation as well as provides built-in design dataset sources for users who want to run their own experiments out of the box. We also provide easy facilities for new users to contribute their own HLS designs to the existing design datasets as well as augment the existing tool flows to support custom flows such as new front ends for design space sampling and new vendor tool support.

Quick Guide

If you want to jump right in and run some code, we recommend the End-to-End Xilinx Flow tutorial along with the Install and Setup guide.

If you want to contribute to the dataset as soon as possible, we recommend the Extending HLSFactory guide.

  • Install and Setup: Details on how to install and setup HLSFactory

  • Framework Overview: Details on the HLSFactory build framework: 1) frontend parameterization, 2) backend tool flows, 3) data aggregation and formatting

  • Tutorials and Demos: Details on how to use the HLSFactory framework with guided tutorials and demos

  • Built-In HLS Design Datasets: Details on the built-in HLS design datasets

  • Extending HLSFactory: Details on how to contribute to HLSFactory to add your own designs and datasets to the built-in datasets, add custom flows, and general contributions to the framework

  • API Reference: Python API documentation for the HLSFactory framework

Publications

HLSFactory has been published in the following places:

Citing and Referencing

If you use HLSFactory in your research, please cite as follows:

S. Abi-Karam et al., “HLSFactory: A Framework Empowering High-Level Synthesis Datasets for Machine Learning and Beyond.” arXiv, May 01, 2024. doi: 10.48550/arXiv.2405.00820.
@misc{hlsfactory,
      title={HLSFactory: A Framework Empowering High-Level Synthesis Datasets for Machine Learning and Beyond}, 
      author={Stefan Abi-Karam and Rishov Sarkar and Allison Seigler and Sean Lowe and Zhigang Wei and Hanqiu Chen and Nanditha Rao and Lizy John and Aman Arora and Cong Hao},
      year={2024},
      eprint={2405.00820},
      archivePrefix={arXiv},
      primaryClass={cs.AR}
}

Source Code

The source code repository is hosted on GitHub: https://github.com/sharc-lab/hlsfactory

License

The source code is hosted under the AGPLv3 license. Please see the LICENSE file in the source code repository for more details.