首页> 外文会议>The 24th IEEE International Symposium on Field-Programmable Custom Computing Machines >Loop Splitting for Efficient Pipelining in High-Level Synthesis
【24h】

Loop Splitting for Efficient Pipelining in High-Level Synthesis

机译:循环拆分,用于高级综合中的高效流水线

获取原文
获取原文并翻译 | 示例

摘要

Loop pipelining is widely adopted as a key optimization method in high-level synthesis (HLS). However, when complex memory dependencies appear in a loop, commercial HLS tools are still not able to maximize pipeline performance. In this paper, we leverage parametric polyhedral analysis to reason about memory dependence patterns that are uncertain (i.e., parameterised by an undetermined variable) and/or non-uniform (i.e., varying between loop iterations). We develop an automated source-to-source code transformation to split the loop into pieces, which are then synthesised by Vivado HLS as the hardware generation back-end. Our technique allows generated loops to run with a minimal interval, automatically inserting statically-determined parametric pipeline breaks at those iterations violating dependencies. Our experiments on seven representative benchmarks show that, compared to default loop pipelining, our parametric loop splitting improves pipeline performance by 4.3× in terms of clock cycles per iteration. The optimized pipelines consume 2.0× as many LUTs, 1.8× as many registers, and 1.1× as many DSP blocks. Hence the area-time product is improved by nearly a factor of 2.
机译:循环流水线被广泛用作高级综合(HLS)中的关键优化方法。但是,当复杂的内存依存关系出现在循环中时,商用HLS工具仍无法最大化管道性能。在本文中,我们利用参数多面体分析来推断不确定(即由不确定变量参数化)和/或不一致(即在循环迭代之间变化)的内存依赖模式。我们开发了一种自动的源到源代码转换,以将循环分成多个部分,然后由Vivado HLS作为硬件生成后端进行合成。我们的技术允许生成的循环以最小的间隔运行,并在那些违反依赖关系的迭代中自动插入静态确定的参数管线中断。我们在七个代表性基准测试上的实验表明,与默认循环流水线相比,我们的参数化循环拆分在每次迭代的时钟周期方面将流水线性能提高了4.3倍。经过优化的流水线消耗的LUT数量是2.0倍,寄存器的数量是1.8倍,DSP模块的数量是1.1倍。因此,面积时间乘积提高了近2倍。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号