Skip to main content
QUICK REVIEW

[论文解读] Short reasons for long vectors in HPC CPUs: a study based on RISC-V

Pablo Vizcaíno, Georgios Ieronymakis|arXiv (Cornell University)|Sep 13, 2023
Parallel Computing and Optimization TechniquesComputer Science参考文献 12被引用 3
一句话总结

本论文通过一个可配置的RISC-V核心及支持每条指令最多256个双精度元素的可配置向量单元,评估了向量长度、内存带宽和延迟对非密集HPC内核的影响。结果表明,更长的向量长度能显著提高对内存延迟的容忍度,并实现对高带宽内存系统的高效利用,即使仅使用单核也能获得显著性能优势,其优势不仅限于密集线性代数工作负载。

ABSTRACT

For years, SIMD/vector units have enhanced the capabilities of modern CPUs in High-Performance Computing (HPC) and mobile technology. Typical commercially-available SIMD units process up to 8 double-precision elements with one instruction. The optimal vector width and its impact on CPU throughput due to memory latency and bandwidth remain challenging research areas. This study examines the behavior of four computational kernels on a RISC-V core connected to a customizable vector unit, capable of operating up to 256 double precision elements per instruction. The four codes have been purposefully selected to represent non-dense workloads: SpMV, BFS, PageRank, FFT. The experimental setup allows us to measure their performance while varying the vector length, the memory latency, and bandwidth. Our results not only show that larger vector lengths allow for better tolerance of limitations in the memory subsystem but also offer hope to code developers beyond dense linear algebra.

研究动机与目标

  • 研究向量长度、内存带宽和内存延迟如何影响非密集HPC内核的性能。
  • 通过基于FPGA的原型,在真实硬件上评估长达256个双精度元素的长向量架构的优势。
  • 证明使用大向量长度的向量化代码相比标量或短向量代码,能更高效地利用高带宽内存,并更好地容忍内存延迟。
  • 为HPC工作负载(尤其是非密集线性代数)提供一个灵活的软硬件协同设计平台。

提出的方法

  • 实现了一个基于FPGA的软件开发验证平台(FPGA-SDV),集成一个RISC-V超长指令字流水线核心与一个可配置的8通道向量处理单元(VPU),支持每条指令最多256个双精度元素。
  • 系统支持在运行时配置向量长度(VL)、内存带宽(1–64字节/周期)和内存延迟(通过增加周期实现)。
  • 实现了四种非密集HPC内核——SpMV、BFS、PageRank和FFT——并在不同架构参数下进行基准测试。
  • 通过将执行时间相对于1字节/周期带宽的基线进行归一化,实现对不同带宽和延迟条件下的性能比较。
  • 使用带宽限制工具人工约束内存吞吐量,以模拟不同系统带宽条件。
  • 采用协同设计方法,基于真实测量结果进行硬件与软件的迭代调优。

实验结果

研究问题

  • RQ1在非密集HPC内核中,增加向量长度在不同内存带宽和延迟条件下如何影响性能?
  • RQ2与标量或短向量实现相比,长向量架构(最多256个元素)在多大程度上能提升内存延迟容忍能力?
  • RQ3单核搭配长向量单元是否能有效利用高带宽内存系统?性能在何种带宽阈值下开始提升?
  • RQ4在内存受限条件下,不同向量长度下,非密集内核(如SpMV、BFS、PageRank和FFT)的行为表现如何?

主要发现

  • 标量实现的性能在内存带宽超过1–2字节/周期后不再提升,由于内存请求吞吐量受限,性能早期即达到平台期。
  • 采用较大向量长度的向量化实现(如VL=256)在高带宽条件下实现了显著性能提升,执行时间持续改善至64字节/周期。
  • 更长的向量长度显著增强了对内存延迟的鲁棒性,向量化代码在延迟增加时性能下降幅度小于标量代码。
  • 与标量或短向量(VL=8)版本相比,VL=256的向量化代码在内存带宽提升时表现出更优的性能扩展性,证明其对内存系统的利用效率更高。
  • FPGA-SDV平台实现了对架构权衡的精确、真实硬件测量,验证了长向量在提升延迟容忍度和带宽利用率方面的有效性。
  • 结果表明,具有大向量长度的向量架构能为非密集科学工作负载带来切实优势,使向量化技术的应用范围超越传统的密集线性代数计算。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。