高级综合中编译器发现的不规则代码的动态调度
摘要:动态调度高层次综合(HLS)在具有不可预测内存访问和控制流的代码中比静态HLS具有更高的吞吐量。然而,过多的数据流调度导致电路使用更多资源并具有较慢的关键路径,即使只有一部分电路表现出动态行为。最近的研究表明,标记数据流电路的部分进行静态调度可以节省资源并提高性能(混合调度),但是电路的动态部分仍然成为关键路径的瓶颈。我们提出了一种选择性地将动态调度引入静态HLS的方法。本文提出了一种用于识别适合动态调度的代码区域的算法,并展示了一种将动态调度的基本块、循环和内存操作引入静态HLS的方法。我们的算法受到模调度的启发,并可以集成到任何模调度的HLS工具中。在十个基准测试中,我们展示了我们的方法平均可以相对于动态调度和混合调度分别获得高达3.7倍和3倍的加速效果,与静态HLS相比,面积开销为1.3倍,频率降低为0.74倍。
作者:Robert Szafarczyk, Syed Waqar Nabi, and Wim Vanderbauwhede
论文ID:2308.15120
分类:Distributed, Parallel, and Cluster Computing
分类简称:cs.DC
提交时间:2023-08-30