中文

R-HLS:基于区域与状态边的动态高级综合与内存消歧中间表示

硬件体系结构 2024-08-19 v1

摘要

动态调度硬件使具有不规则控制流和延迟的应用能够实现高级综合(HLS),而这些应用在传统静态调度方法下表现不佳。由于动态调度硬件本质上是数据流驱动的,因此拥有一个能够捕获全局数据流的中间表示(IR)有助于简化变换。现有的动态HLS采用基于控制流的IR,仅在基本块级别建模数据流,需要重新发现块间并行性。区域化值状态依赖图(RVSDG)是一种IR,它利用区域将(1)控制流建模为全局数据流的一部分,并(2)使用状态边建模内存依赖。我们提出R-HLS,一种针对动态高级综合的新RVSDG方言。R-HLS显式建模控制流决策、路由和内存,这些在RVSDG中仅被抽象表示。将控制流作为数据流的一部分来表达,减少了对复杂优化以提取性能的需求,并实现了向并行电路的便捷转换。此外,我们提出了一种利用内存状态边解耦地址生成与数据访问的分布式内存消歧优化,从而实现了内存操作的高效乱序执行。我们的结果表明,R-HLS有效暴露了并行性,相比动态HLS的最先进方法(经过优化的内存消歧),减少了执行周期数,平均加速10%。这些结果是在资源利用率显著降低的情况下实现的,例如查找表平均减少79%,触发器平均减少22%。

关键词

引用

@article{arxiv.2408.08712,
  title  = {R-HLS: An IR for Dynamic High-Level Synthesis and Memory Disambiguation based on Regions and State Edges},
  author = {David Metz and Nico Reissmann and Magnus Själander},
  journal= {arXiv preprint arXiv:2408.08712},
  year   = {2024}
}

备注

ICCAD 2024