摘要
高层次综合(HLS)是一种自动化设计流程,它将高级代码转换为硬件设计,从而实现硬件加速器的快速开发。HLS依赖于编译指示(pragmas),这些指示插入到源代码中以指导综合过程,并且编译指示具有多种设置和值,这些设置和值显著影响最终的硬件设计。现有的基于机器学习(ML)的HLS方法,如HARP,首先训练一个深度学习模型,通常基于应用于源代码和编译指示的图表示的图神经网络(GNNs)。然后,它们进行设计空间探索(DSE)以探索编译指示设计空间,使用模型对候选设计进行排序,并返回顶级设计。然而,传统的DSE方法面临挑战,因为编译指示设置与性能指标之间存在高度非线性关系,以及编译指示之间复杂的相互作用以非显而易见的方式影响性能。为了应对这些挑战,我们提出了compareXplore,这是一种新颖的方法,用于学习比较硬件设计以实现有效的HLS优化。compareXplore引入了一种混合损失函数,该函数结合了成对偏好学习和点对点性能预测,使模型能够捕捉相对偏好和绝对性能。此外,我们引入了一种新颖的节点差异注意力模块,该模块专注于设计之间最具信息量的差异,使模型能够识别对性能影响至关重要的编译指示。compareXplore采用两阶段DSE,其中点对点预测模型用于初始设计修剪,随后是成对比较阶段用于精确性能验证。在广泛的实验中,compareXplore在排名指标上取得了显著改进,并为所选设计生成了高质量的HLS结果,优于现有的最先进方法。