IronMan:基于GNN辅助与强化学习的高层次综合设计空间探索
硬件体系结构
2021-12-10 v2 计算与语言
机器学习
摘要
尽管高层次综合(HLS)工具取得了巨大成功,我们观察到若干尚未解决的挑战:1)HLS中编程风格的高层抽象有时掩盖了优化机会;2)现有HLS工具在不同目标与约束间无法提供灵活的权衡(帕累托)解;3)所得RTL设计的实际质量难以预测。为应对这些挑战,我们提出了一个端到端框架,即IronMan。其主要目标是实现灵活自动的设计空间探索(DSE),以在用户指定约束下提供最优解,或在不同目标(如各类资源、面积与延迟)间提供多种权衡。此类DSE通过现有HLS工具要么需要繁琐的人工努力,要么无法实现。IronMan包含三个组件:1)GPP,一种基于图神经网络的高精度性能与资源预测器;2)RLMD,一种基于强化学习的多目标DSE引擎,探索最优资源分配策略,以提供不同目标间的帕累托解;3)CT,一种代码变换器,用于辅助RLMD与GPP,其从原始HLS C/C++中提取数据流图并自动生成带HLS指令的可综合代码。实验结果表明:1)GPP实现了高预测精度,将HLS工具在资源利用和时序上的预测误差分别降低10.9倍和5.7倍;2)RLMD获得的最优或帕累托解分别优于遗传算法和模拟退火12.7%和12.9%;3)IronMan能够找到完美匹配各种DSP约束的优化解,相比HLS工具少用2.54倍DSP且延迟最高缩短6倍,同时比启发式算法和HLS工具快达400倍。
引用
@article{arxiv.2102.08138,
title = {IronMan: GNN-assisted Design Space Exploration in High-Level Synthesis via Reinforcement Learning},
author = {Nan Wu and Yuan Xie and Cong Hao},
journal= {arXiv preprint arXiv:2102.08138},
year = {2021}
}