超级计算系统面临的两大挑战:计算能效和新兴应用的性能需求,而FPGA的低功耗和可重构特性对应对这些挑战的潜力。文章主要做了以下工作:
①FPGA、CPU和GPU在高性能计算模式下的性能和能耗对比。
②FPGA在map-reduce计算、自定义数据格式运算和组合逻辑运算上的优势。
③FPGA上典型计算核心的实现和性能优化
④FPGA与SW26010众核处理器的比较
⑤FPGA应用于高性能计算的挑战
下面来详细说明
在双精度浮点运算上,FPGA和传统CPU GPU存在一定的性能差距,但是文章也指出在一些其他种类的计算上,FPGA拥有很亮眼的优势,如稀疏线性代数、结构和非结构网格、 组合逻辑、动态规划和蒙特卡洛等计算模式,FPGA有望提升高性能计算典型计算核心的性能和能效。
除此之外,文章列出了高性能计算中常见的计算核心与应用,并针对这些计算核心在FPGA上的实现和性能优化做了总结。
Ⅰ 图遍历
以图论和图数据结构为基础的图遍历计算模式广泛存在 于机器学习、基因分析、社交网络等应用中。文章通过分析针对于图遍历计算在fpga上的文献,得出以下结论:图数据的预处理,表示 和存储优化,BRAM的高效利用以及HMC内存技术的采用,是提升FPGA上图遍历计算性能的关键。
Ⅱ 稀疏线性代数
稀疏矩阵向量乘SMVM是科学与工程应用中常用的计算核心,其计算形式是:Ax=y,也是很多应用的性能瓶颈。文章分析了多篇文献发现,稀疏矩阵A 的存储格式是影响FPGA计算平台上访存 带宽利用和 SMVM实际性能的重要因素。所以,以BRAM缓解SMVM 计算对访存带宽的需求,同 时 通 过数据通路和计算单元的定制实现访存带宽的高效利用,是提升FPGA上SMVM计算核心实际性能的关键。
Ⅲ 结构网格
stencil是结构网格计算模式的典型计算核心,在线性代数求解、计算流体力学、图像处理等应用中广泛使用,文章指出BRAM实现的循环缓冲是提升 stencil计算核心性能的关键,也是FPGA相 对 于CPU 和GPU的结构优势.
Ⅳ 动态规划
作为动态规划计算模式中的典型计算核心Smith-Waterman(SW)算法被广泛应用于生物信息学,实现了基因序列 的局部对比和数据库搜索。FPGA 细粒度的位级并行能力能够很好地适应SW 计算 核心的位运算特征和多样化的计算特征。FPGA上的加速计算结构可以将SW计算核心打分阶段的时间复杂度由 O(M×N)降为 O(M+N),因此以FPGA 为生物信息处理的计算平台 在性能方面较CPU 和GPU 具有潜在优势。FPGA上实现的阵列计算结构和定制数据表示可以开发 细粒度的计算并行并充分访存带宽,其有效提升了SW计算核心的性能。
Ⅴ 图模型
随着深度学习的兴起和广泛应用,以计算层为顶点、计算层之间的数据传输为边的卷积神经网络CNN成为图模型计算模式中重要的计算核心。文章指出FPGA上基于BRAM 的缓存设计、定制数据表示和运算为提升CNN的性能提供了可能。
与SW26010的能效对比:
-
性能对比:
- FPGA在某些计算核心上展现出与SW26010相当的性能,尤其是在访存带宽受限的计算核心,如广度优先搜索(BFS)和稀疏矩阵向量乘(SMVM)。
- 对于BFS和SMVM,Stratix-10 FPGA的性能分别达到了SW26010的26.61倍和3.46倍,表明采用当前最高性能的FPGA可以有效实现高性能计算领域的计算加速。
-
能效对比:
- FPGA在执行计算核心时的能效普遍优于SW26010。例如,Arria-10 FPGA在Smith-Waterman(SW)计算核心上的能效是SW26010的28.45倍。
- Stratix-10 FPGA的能效最高可达SW26010的63.86倍(在BFS计算核心上),这表明FPGA作为特定应用的计算平台可以有效提升超级计算系统的能效。
尽管FPGA在性能和能效上展现出优势,但在与主机的通信开销、编程与调试难度以及缺乏高性能科学计算软件库方面仍面临挑战。