[论文解读] When HLS Meets FPGA HBM: Benchmarking and Bandwidth Optimization
本文提出基于HLS的优化技术,通过解决HLS工具在访问多个HBM内存通道时的局限性,提升配备HBM的FPGA上的有效带宽。通过引入BICA(突发交错通道访问)和BIPA(突发交错处理单元架构),作者在Intel Stratix 10 MX和Xilinx Alveo U280平台上的内存密集型应用(如桶排序和二分查找)中,实现了2.4倍至3.8倍的有效带宽提升。
With the recent release of High Bandwidth Memory (HBM) based FPGA boards, developers can now exploit unprecedented external memory bandwidth. This allows more memory-bounded applications to benefit from FPGA acceleration. However, we found that it is not easy to fully utilize the available bandwidth when developing some applications with high-level synthesis (HLS) tools. This is due to the limitation of existing HLS tools when accessing HBM board's large number of independent external memory channels. In this paper, we measure the performance of three recent representative HBM FPGA boards (Intel's Stratix 10 MX and Xilinx's Alveo U50/U280 boards) with microbenchmarks and analyze the HLS overhead. Next, we propose HLS-based optimization techniques to improve the effective bandwidth when a PE accesses multiple HBM channels or multiple PEs access an HBM channel. Our experiment demonstrates that the effective bandwidth improves by 2.4X-3.8X. We also provide a list of insights for future improvement of the HBM FPGA HLS design flow.
研究动机与目标
- 解决由于HLS工具链对HBM多通道架构支持不足,导致内存密集型FPGA应用性能差距的问题。
- 识别并分析在近期FPGA开发板(Stratix 10 MX、Alveo U50、U280)上访问多个HBM通道时HLS的开销。
- 开发HLS优化技术,提升单个处理单元访问多个HBM通道或多个处理单元共享访问单个通道时的有效带宽。
- 为HLS工具厂商提供可操作的建议,以增强对基于HBM的FPGA设计流程的支持。
提出的方法
- 设计并评估微基准测试,测量在三种HBM2 FPGA平台下,不同访问模式下的基线性能。
- 提出BICA(突发交错通道访问),通过虚拟通道和优化的FIFO管理,使单个处理单元能够高效访问多个HBM PC。
- 提出BIPA(突发交错处理单元架构),允许多个处理单元共享访问单个HBM PC,降低仲裁开销并提升带宽利用率。
- 在Xilinx和Intel HBM FPGA平台上,使用C语言内核实现并评估上述两种技术。
- 采用自定义交叉开关设计,实现多对多的处理单元到HBM PC映射,并分析资源与性能之间的权衡。
- 在HLS中引入虚拟通道抽象,以减少FIFO控制逻辑和FPGA资源消耗,支持可扩展的内存访问模式。
实验结果
研究问题
- RQ1为何现有HLS工具尽管理论峰值带宽高达约400 GB/s,仍无法充分利用HBM2 FPGA平台的高带宽?
- RQ2在访问多个HBM内存通道时,实现高有效带宽的关键架构瓶颈和HLS特定瓶颈是什么?
- RQ3如何优化基于HLS的设计,以提升单个处理单元访问多个HBM通道时的带宽?
- RQ4在HLS生成的设计中,当多个处理单元共享访问单个HBM通道时,性能与资源之间的权衡如何?
- RQ5HLS工具中需要哪些设计流程改进,以更好地支持HBM2 FPGA内存架构?
主要发现
- HBM2 FPGA上内存密集型应用的有效带宽显著受限于HLS工具链开销,例如在Alveo U280上桶排序的观测带宽低至2.3 GB/s。
- BICA通过实现多个HBM PC之间的高效突发访问,使二分查找和深度优先搜索等应用的有效带宽最高提升3.8倍。
- 在Alveo U280上,BIPA通过允许多达16个处理单元共享访问单个HBM PC,最高实现3.8倍的有效带宽提升,克服了HLS在多处理单元访问方面的局限。
- 在Stratix 10 MX上,使用BICA后,桶排序的有效带宽从基线的137 GB/s提升至370 GB/s,实现2.7倍加速。
- 本研究发现,当前HLS工具中的深度内存流水线会降低延迟敏感型应用(如二分查找)的性能,表明需要提供低延迟内存流水线选项。
- 对未来HLS工具的启示包括:支持可定制的交叉开关模板、虚拟通道以实现FIFO共享,以及提供低延迟内存流水线选项,以提升可用性和性能。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。