ForgeBench
收藏arXiv2025-04-21 更新2025-04-23 收录
下载链接:
https://github.com/hchen799/ForgeBench
下载链接
链接失效反馈官方服务:
资源简介:
ForgeBench是一个针对下一代高级综合(HLS)工具的机器学习基准测试套件,包含6000多个代表性的机器学习HLS设计。它旨在推动HLS工具在硬件模块提取和重用方面的进步,以支持灵活的数据流和控制。该套件不仅开放源代码,还包括自动生成的基准测试和手动确定的共享模块,以突出架构导向设计的必要性。
ForgeBench is a machine learning benchmark suite for next-generation high-level synthesis (HLS) tools, encompassing over 6000 representative machine learning HLS designs. It aims to advance the development of HLS tools in hardware module extraction and reuse to support flexible dataflow and control. This suite not only offers open-source code, but also includes automatically generated benchmarks and manually curated shared modules, to highlight the necessity of architecture-oriented design.
提供机构:
乔治亚理工学院电子与计算机工程学院
创建时间:
2025-04-21
搜集汇总
数据集介绍

构建方式
ForgeBench的构建采用了高度自动化的设计生成框架,通过Python脚本与JSON配置文件相结合的方式实现模块化HLS设计的快速生成。该框架内置了可扩展的C/C++模板库,涵盖通用机器学习算子(如GEMM、卷积、注意力机制等),用户仅需通过JSON文件定义硬件参数(如BRAM配置、数据流结构)和算子调用序列,系统即可自动生成符合HLS工具要求的完整代码。设计过程支持并行化综合与实现,并集成Vitis HLS工具链自动生成PPA报告,其模块化架构允许灵活扩展至其他HLS工作流。
特点
ForgeBench的核心特点在于其面向下一代架构导向型HLS工具的专项优化。数据集包含两个基准测试套件:一是覆盖6000余个ML设计案例的通用测试集,通过参数化配置生成多样化的GEMM、DNN和LLM硬件实现;二是聚焦硬件复用的模块化测试集,人工标注了可共享的计算模块(如卷积核、注意力头等),凸显跨设计资源调度的潜力。所有案例均支持算子级参数定制(如循环展开因子、数据维度等),并量化展示不同模块共享策略下的资源-延迟权衡,为评估HLS工具的架构抽象能力提供标准化基准。
使用方法
使用ForgeBench时,研究人员可通过编辑JSON配置文件定义目标硬件架构特征(如内存层次、接口协议)和机器学习算子的组合逻辑。框架自动生成的HLS代码可直接接入主流工具链进行综合实现,其输出的PPA指标支持横向比较不同HLS方法的优化效果。针对模块化研究,数据集提供的预标注共享模块案例可作为黄金参考,验证工具自动识别通用计算模式的能力。用户还可基于内置模板库快速扩展新型ML算子,通过Python脚本批量生成定制化测试场景,推动HLS工具在特定应用场景(如Transformer加速)的针对性优化。
背景与挑战
背景概述
ForgeBench是由佐治亚理工学院电气与计算机工程学院的Andy Wanna、Hanqiu Chen和Cong (Callie) Hao等研究人员于2025年提出的一个专注于机器学习的基准测试套件和自动生成框架,旨在推动下一代高层次综合(HLS)工具的发展。该数据集的创建背景源于当前HLS工具在机器学习硬件设计中的两大局限性:一是现有HLS基准测试套件未能覆盖现代机器学习应用,导致工具开发缺乏针对性;二是现有工具主要针对单一加速器设计,缺乏面向架构的视角,限制了其适应性和广泛适用性。ForgeBench通过提供6000多个代表性ML HLS设计和模块化测试用例,填补了这一空白,为HLS工具的开发与评估提供了重要支持。
当前挑战
ForgeBench面临的挑战主要体现在两个方面:一是领域问题的挑战,即如何有效解决机器学习硬件设计中模块共享和资源优化的问题。例如,不同ML模型(如LLaMa和GPT)虽然共享大量计算组件(如注意力机制和GEMM),但现有HLS工具难以自动识别和重用这些模块,导致硬件资源冗余。二是构建过程中的挑战,包括如何设计一个高度可扩展的框架以支持多样化的ML模型和操作符,以及如何通过自动化生成和手动提取相结合的方式,为模块化HLS设计提供可靠的基准测试用例。此外,数据集还需平衡资源共享与性能优化之间的权衡,例如在最小化和最大化分块策略中选择合适的模块共享方案。
常用场景
经典使用场景
ForgeBench作为一款专注于机器学习的高层次综合(HLS)基准测试套件,其经典使用场景在于为下一代HLS工具提供全面的评估平台。在硬件设计领域,ForgeBench通过自动生成超过6,000种代表性的ML HLS设计,覆盖了从通用矩阵乘法(GEMM)到卷积神经网络(CNN)和大型语言模型(LLM)的多样化计算任务。这一数据集特别适用于研究者在开发新型HLS工具时,测试其在不同ML工作负载下的性能表现和资源利用率,从而推动硬件设计方法的创新。
实际应用
在实际应用层面,ForgeBench已展现出在FPGA加速器设计中的重要作用。其生成的模块化HLS设计可直接应用于边缘计算设备,优化如ResNet、LLaMA等复杂模型的推理加速。通过与Vitis HLS等商业工具链集成,设计者能快速验证不同硬件架构下GEMM、注意力机制等核心算子的性能边界。例如,在ZCU102 FPGA平台上,ForgeBench测试用例已证明通过模块共享可实现最高76.6%的LUT资源节省,为实际部署中的功耗-面积-延迟权衡提供了量化依据。
衍生相关工作
该数据集已衍生出多个具有影响力的研究方向。基于ForgeBench的模块复用理念,研究者开发了基于等价图(e-graph)的硬件设计优化框架如Rover和Seer,实现了跨程序的自动模块提取。其测试用例还被集成到AutoDSE等自动化设计空间探索工具中,推动了对异构计算架构的联合优化。在LLM加速领域,ForgeBench提供的注意力机制变体(如滑动窗口注意力)启发了新一代Transformer加速器的数据流设计,相关成果发表在MICRO、ASPLOS等顶级会议。
以上内容由遇见数据集搜集并总结生成



