[论文解读] Optimizing Memory Performance of Xilinx FPGAs under Vitis
本文提出了一套全面的基准测试框架,通过 Vitis 高层次综合(HLS)在 Xilinx FPGA 上优化 HBM 内存性能,表明内存访问模式和地址映射策略对带宽具有决定性影响。该工作实现了高达 431 GB/s 的吞吐量(HBM2),并表明多通道、大单位大小的访问模式在 AI 推理工作负载中相比 CPU 实现了 100 倍的性能提升。
Plenty of research efforts have been devoted to FPGA-based acceleration, due to its low latency and high energy efficiency. However, using the original low-level hardware description languages like Verilog to program FPGAs requires generally good knowledge of hardware design details and hand-on experiences. Fortunately, the FPGA community intends to address this low programmability issues. For example, , with the intention that programming FPGAs is just as easy as programming GPUs. Even though Vitis is proven to increase programmability, we cannot directly obtain high performance without careful design regarding hardware pipeline and memory subsystem.In this paper, we focus on the memory subsystem, comprehensively and systematically benchmarking the effect of optimization methods on memory performance. Upon benchmarking, we quantitatively analyze the typical memory access patterns for a broad range of applications, including AI, HPC, and database. Further, we also provide the corresponding optimization direction for each memory access pattern so as to improve overall performance.
研究动机与目标
- 为解决在使用 Vitis 和 HLS 进行高层次编程时,FPGA 潜力与实际内存带宽之间的性能差距。
- 系统性地评估内存访问模式对 Xilinx FPGA 上 Vitis 环境中 HBM2 性能的影响。
- 识别并量化地址映射策略、单位大小和内存访问模式对吞吐量和延迟的影响。
- 建立一个可重用、开源的基准测试框架,用于在不同工作负载下评估 FPGA 外部内存性能。
- 对比基于 HLS 的 Vitis 实现与 RTL 及基于 Vivado 的设计,评估性能与可编程性之间的权衡。
提出的方法
- 在 Xilinx U280 FPGA 上,使用 Vitis 和 HLS 对 HBM2 内存访问进行了大规模、系统性的基准测试,测量吞吐量、延迟和资源利用率。
- 评估了四种基本的数据库内存访问模式:顺序访问、随机访问、重复顺序访问和嵌套多游标遍历。
- 实现了单通道与多通道(最高 32 通道)HBM 访问的对比,涵盖不同的单位大小和步长。
- 通过 AXI 接口直接访问 HBM2,确保结果反映真实系统级行为,避免缓存干扰。
- 与 CPU、RTL(Vivado)以及 DDR4/DDR5 基线进行对比,以隔离 Vitis/HLS 特有的性能特征。
- 分析了地址映射策略对带宽的影响,显示顺序访问的吞吐量最高可达 10 倍的差异。
实验结果
研究问题
- RQ1在基于 Vitis/HLS 的 FPGA 上,内存访问模式的选择(如顺序访问与随机访问)如何影响 HBM2 的带宽和延迟?
- RQ2地址映射策略对 HBM2 内存吞吐量有何影响?如何针对不同访问模式进行优化?
- RQ3与基于 RTL 的实现相比,Vitis/HLS 能在多大程度上达到 HBM2 的峰值带宽?
- RQ4单位大小和步长在 AI 推理和数据库操作等内存受限应用中如何影响内存性能?
- RQ5在基于 HLS 的 FPGA 设计中,单核与多核(多通道)HBM 访问在性能和资源使用方面存在哪些权衡?
主要发现
- 在 Xilinx U280 上,基于 HLS 的 Vitis 实现可达到高达 431 GB/s 的内存带宽(HBM2),与理论峰值和 RTL 层次性能一致。
- 采用最优地址映射的顺序访问可实现 421.68 GB/s 的吞吐量,而随机访问(LFSR)则降至仅 5.82 GB/s,凸显了访问模式的关键作用。
- 嵌套多游标顺序访问模式实现了最高吞吐量(421.89 GB/s),证明了大单位大小和对齐步长的优势。
- 多通道 HBM 访问(32 通道)相比单通道(2 通道)实现 10 倍性能提升,且资源利用率仅增加 2 倍。
- 采用 32 通道 HBM 访问的 AI 推理工作负载相比 CPU 实现超过 100 倍的性能提升,资源占用为 18.8% LUT 和 14.8% FF。
- 与 Vivado/RTL 相比,Vitis 平台由于内核封装引入了约 10% 的延迟开销,但其 HBM 访问延迟与 CPU/GPU 保持一致。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。