PolyBench, Machsuite, CHStone, Rosetta, Parallel Programming for FPGAs, Vitis HLS Examples, FlowGNN, DGNBooster + Gaussian Process + MaskNet + SkyNet
收藏github2024-05-23 更新2024-05-31 收录
下载链接:
https://github.com/sharc-lab/HLSFactory
下载链接
链接失效反馈官方服务:
资源简介:
HLSFactory包含多个HLS设计数据集,用于机器学习和相关研究,包括PolyBench(一个多面体编译基准套件)、Machsuite和CHStone(HLS基准套件)、Rosetta(针对机器学习、深度学习和信号处理应用的HLS基准套件)、Parallel Programming for FPGAs(来自PP4FPGA教科书的内核)、Vitis HLS Examples(来自Vitis HLS工具的示例集合)、FlowGNN(GNN加速器设计集合)以及其他来自Sharc Lab的加速器内核。
HLSFactory集成了一系列HLS(硬件描述语言)设计数据集,旨在服务于机器学习及相关领域的学术研究。这些数据集涵盖了诸如PolyBench(一种多面体编译基准套件)、Machsuite与CHStone(HLS基准套件)、Rosetta(专注于机器学习、深度学习与信号处理应用的HLS基准套件)、来自PP4FPGA教科书的FPGA并行编程内核、Vitis HLS工具的示例集合、FlowGNN(GNN加速器设计集合)以及其他源自Sharc Lab的加速器内核等多源内容。
创建时间:
2024-03-29
原始信息汇总
数据集概述
HLSFactory是一个用于高层次综合(HLS)设计数据集的框架,旨在为机器学习和相关领域提供数据集支持。该框架不仅支持收集和构建自定义的HLS数据集,还提供了预设的设计数据集源,方便用户直接进行实验。
数据集内容
-
预设数据集:
- PolyBench: 针对HLS调整的多面体编译基准套件。
- Machsuite: HLS基准套件。
- CHStone: HLS基准套件。
- Rosetta (建设中): 针对机器学习、深度学习和信号处理应用的HLS基准套件。
- Parallel Programming for FPGAs: 来自PP4FPGA教科书的内核。
- Vitis HLS Examples: Vitis HLS工具的示例集合。
- FlowGNN: GNN加速器设计集合。
- DGNBooster + Gaussian Process + MaskNet + SkyNet: Sharc Lab选定的加速器内核。
-
支持的工具流:
- AMD/Xilinx Vitis HLS和Vivado。
- Intel HLS Compiler和Quartus (建设中)。
使用方法
用户可以通过安装HLSFactory包来运行演示,导入自己的HLS设计,并使用HLSFactory进行研究和实验。安装命令如下:
bash pip install git+https://github.com/sharc-lab/HLSFactory
演示
HLSFactory提供了详细的演示,包括Python脚本和Jupyter笔记本,位于demo/目录中。用户可以通过这些演示快速开始使用HLSFactory框架。
自定义设计数据集
框架还提供了一个Jupyter笔记本,指导用户如何导入自己的HLS设计到HLSFactory框架中,以运行自己的流程并收集数据进行实验和研究。该笔记本位于demo/demo_custom_datasets/。
搜集汇总
数据集介绍

构建方式
HLSFactory数据集的构建方式主要通过整合多个现有的HLS(高层次综合)设计源,包括PolyBench、Machsuite、CHStone等,以及从Vitis HLS工具和Parallel Programming for FPGAs教材中提取的示例。这些数据集通过HLSFactory框架进行统一管理和处理,用户可以通过该框架导入自定义的HLS设计,并利用支持的工具流(如AMD/Xilinx Vitis HLS和Vivado)进行设计空间采样和数据聚合。此外,HLSFactory还支持用户贡献新的HLS设计,以丰富现有的设计数据集。
特点
HLSFactory数据集的特点在于其多样性和可扩展性。它不仅包含了多个知名的HLS基准测试套件,如PolyBench和Machsuite,还整合了来自不同领域的加速器设计,如FlowGNN和DGNBooster等。这些数据集覆盖了从传统算法到机器学习和深度学习应用的广泛领域。此外,HLSFactory框架的灵活性允许用户自定义设计流程,支持新的前端设计空间采样和供应商工具,从而满足不同研究需求。
使用方法
使用HLSFactory数据集的方法相对直观。用户可以通过pip或conda安装HLSFactory包,并利用提供的Jupyter笔记本和脚本进行演示。框架内置了多个数据集的完整流程演示,用户可以快速上手,通过Vitis HLS和Vivado工具流进行设计实现和数据输出。此外,HLSFactory还提供了详细的教程和文档,指导用户如何导入自定义的HLS设计,并利用框架进行实验和研究。
背景与挑战
背景概述
HLSFactory是一个专注于高层次综合(HLS)设计数据集的框架,旨在通过机器学习和相关技术推动HLS领域的发展。该框架由Sharc Lab开发,主要研究人员包括Stefan Abi-Karam等。HLSFactory的核心研究问题是如何高效地收集、构建和利用HLS设计数据集,以支持各种前端设计空间采样、HLS工具支持和数据聚合。该框架不仅提供了内置的HLS设计数据集,如PolyBench、Machsuite和CHStone等,还支持用户自定义设计数据集的导入和扩展。HLSFactory的推出,极大地促进了HLS领域的研究与应用,为相关领域的学者和工程师提供了丰富的资源和工具。
当前挑战
尽管HLSFactory在HLS设计数据集的构建和应用方面取得了显著进展,但仍面临若干挑战。首先,数据集的多样性和覆盖范围需要进一步扩展,以涵盖更多类型的HLS设计。其次,支持的HLS工具和前端设计空间采样方法有限,特别是对Intel HLS Compiler和Quartus的支持仍在建设中。此外,数据集的构建过程中,如何确保数据的质量和一致性也是一个重要挑战。最后,随着HLS技术的不断发展,如何持续更新和维护数据集,以适应新的工具和方法,也是HLSFactory需要解决的问题。
常用场景
经典使用场景
在高级综合(HLS)领域,HLSFactory数据集的经典使用场景主要集中在设计空间采样与优化。通过整合PolyBench、Machsuite、CHStone等基准套件,研究人员能够系统地探索不同硬件设计的高层次综合策略。例如,利用Vitis HLS和Vivado工具链,研究者可以对设计进行前端采样,进而实现硬件加速器的优化设计。
衍生相关工作
HLSFactory数据集的推出,催生了众多相关研究工作。例如,基于PolyBench和Machsuite数据集的研究,推动了多项关于硬件设计空间优化的论文发表。同时,FlowGNN和DGNBooster等数据集的应用,也促进了图神经网络加速器设计的创新与发展。这些衍生工作不仅丰富了高级综合领域的研究内容,也为实际应用提供了更多可能性。
数据集最近研究
最新研究方向
在高级综合(HLS)领域,HLSFactory框架的最新研究方向主要集中在利用机器学习技术优化HLS设计流程。通过整合PolyBench、Machsuite、CHStone等内置数据集,研究者们致力于开发自动化工具,以提升设计空间采样和优化效率。此外,结合FlowGNN、DGNBooster等前沿加速器设计,该框架还探索了如何将高性能计算与机器学习模型无缝集成,从而在FPGA上实现更高效的并行计算。这些研究不仅推动了HLS技术的边界,也为未来在机器学习和高性能计算领域的应用奠定了坚实基础。
以上内容由遇见数据集搜集并总结生成



