FPGAGPUCPU在高性能计算的应用及展望总结

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

FPGA,GPU和CPU在高性能计算领域的应用及展望
课程:系统及可编程芯片设计专业:
微电子学与固体电子学姓名:
学号:任课老师:
FPGA,GPU和CPU在高性能计算领域的应用及展
目前FPGA对于浮点数的运算速度已经达到1TFL0P (每秒万亿次浮点运算),同时GPU和多核CPU通过利用最新的IC设计技术也大大提高了其运算能力。

本文将对比三种结构对于高性能计算的发展趋势,同时也会介绍在特定运算环境下三种结构的持续性能。

1.高性能计算中FPGA,GPU和CPU的简介
近年来,传统用于图像处理的GPU逐渐被发掘用来进行高性能计算,并且达到了相当好的效果,在单精度浮点运算中的速度达到
5TFL0PS,在双精度浮点运算中的速度可以达到lTFLOPSo如今性能最好的GPU处理器(比女口NVidea的Tesla K20和K40)与一些其他的多核处理器(比如Intel Xeon Phi处理器以及IBM和Inter的一些处理器)相比表现出了非常好的计算性能。

FPGA传统上是应用于单精度的定点运算,不过现在也可以浮点数进行高性能的计算,单精度浮点数的运算峰值已经超过lTFLOPSo但是运算的峰值并不能代表在特定环境下器件的持续工作性能,比如在计算2级的FFT时,Inter的80-teraflop持续工作性能只能达到其峰值性能的
2.73%(20GFLOPS)。

FPGA工作在一个较低的频率下,运算峰值较低,但是可以通过硬件优化来实现对特定应用的更好的运行效率,即持续性能能达到更接近峰值运算性能的值,同时与GPU 和CPU相比FPGA的功率效率更高。

一个特定的应用在不同的平台上运算是不一样的,对于运算结果的评估可以基于以下几点:性能、功耗' 功率效率、运行效率、成本以及其他。

在本文中,我们分析每个期间在峰值性能以及能耗方面的发展趋势,并对三者在一些科学应用的持续性能进行对比,找出对于某一特定应用的最佳运算平台。

2.峰值计算性能发展趋势 2.1 GPU
GPU最初被设计用来进行图像处理并在该方面显示出了强大的优
势,近10年来GPU逐渐被应用到通用计算领域,一般称为GPGPUo基于其强大的并行计算能力,在一些其他的计算分析方面其性能早已可与多核CPU相媲美。

观察多代GPU的发展,我们发现其峰值性能并不是简单的线性增长,单精度浮点运算和双精度浮点运算都是这样。

我们没有办法去简单的描述GPU的全面的发展,因为各种GPU的结构非常多,所以在此只挑出在某个年份的最佳性
能的一些GPU进行分析。

结果如图1所示⑴
图1 GPU的峰值性能
观察图1可知,每一代GPU之间的性能提升超过1TFL0P,同时右图中可知在某些年份工艺技术没有提升,但是性能提升了,说明性能的增长不仅与新的制造工艺有关也与结构的优化有关。

单精度和双精度的性能差距由最初的相差10倍降到了最新一代的只差4倍左右。

关于能耗方面,GPU的功率效率(峰值性能与热设计功耗(TDP)的比值)也是在稳定则增长,单精度的功率效率由最初的0.5GFLOPS/W增加到了GFLOPs/W,双精度的功率效率由0・5GFLOPs/W 增加到了
6GFLOPS/Wo这意味着GPU以一个增长的功率效率提供着一个惊人的运算性能。

GPU的外部存储带宽也非常高,Geforce 6800的带宽为35 GBytes/s, K20, K20X 和K40 的带宽分别为208, 250 和288 GBytes/So ・
2.2多核CPU
通用CPU的峰值运算性能在近年来也获得了显著提升,图2中显示了部分Intel的著名CPU的峰值运算性能。

Intel最近推出的Xeon PHI 7120P处理器的峰值运算性能可以达到单精度2416GFLOPS,双精度1208GFLOPS, Intel处理器计算性能的提升靠的是增加CPU的核数,这些处理器的功率效率和GPU相比较低。

最初
65nm技术的CPU的功率效率为O.i GFLOPs/W,目前22nm技术下的CPU 的功率效率已经增加到单精度9 GFLOPs/W ,双精度4.5 GFLOPs/Wo 在Intel的这些处理器中,2008年出的一款多核处理器在3.16GHz 频
率1.07V电压下,峰值运算速度可以达到单精度1 TFLOPo CPU或者
多核CPU的存储器带宽也很高。

比如Xeon PHI 7120P的带宽为352GBytes/s,比最近出的GPU稍
微高一些
图2 CPU的峰值性能
2.3 FPGA
FPGA的峰值运算性能由它所包含的乘法器和LUT的资源决定,观察刈inx公司的一些产品发现乘法器和LUT的资源并不是线性增长的
(如图3所示)。

最新的Virtex7系列FPGA中XC7VX980T含有3600 个18*18 的乘法器和612000 个LUT , XC7V2000T 含有2160 个乘法器和1221600个LUTo
如果要分析FPGA的峰值运算性能,我们需要考虑三种情况:只有
加法器,只有乘法器,有乘法器和加法器。

加法器可以只通过LUT就可以实现,而乘法器的实现则需要DSP和LUT的不同组合(组合结构为MO, Ml, M2)o 乘加运算真是这些乘法器和加法器的一一组合。

表1介绍了浮点运算中的不同资源组合
情况
表1浮点运算所占用的资源和频率
下面我们主要观察两款FPGA的峰值运算性能,它们是Xilinx公司的XC7VX980T和XC7V2000T o两款产品对于不同的应用所占用的资源
是不同的,结果如图4,图5所示。

如果只考虑加法器,最好的单精度峰值运算性能为1.4TFL0PS;如果只考虑乘法器,最好的单精度峰值运算性能为1TFL0PS。

加法器和乘法器资源的组合中,能获得的最佳峰值运算性能为1.6TFLOPSo在这种情况下,我们可以看到
XC7V2000T比XC7VX980T更适合浮点数运算,即使它的DSP资源只有
图4两款产品单精度浮点运算占用不同资源的峰值性能对
于双精度的峰值运算,只含有加法器运算的最佳的峰值运算性能出现在XC7V2000T FPGA中,为671GFLOPS;只含有乘法器运算的最佳峰值运算性能降为168GFLOPS;加法器和乘法器的组合运算的最佳运算性能为302GFLOPS, 由XC7VX980T 获得。

FPGA的功率效率超过10GFLOPS/W,—般来说是比CPU和GPU要高的,而且随着技术的发展FPGA的功率效率也会继续不断提升。

比如
Altera的一款能达到5TFL0PS的高性能FPGA就应用了Intel的
14nm Tri-Gate,功率效率达到
lOOGFLOPSo
800
图5两款产品双精度浮点运算占用不同资源的峰值性能
2.4峰值计算性能的趋势
为了更好的理解GPU, CPU, FPGA的相对发展,下面选取他们中在某
些年
最佳的性能的产品参数进行比较,包含单精度和双精度的运算,结果如
图6,图
7所示。

在单精度的浮点运算中,GPU的性能一直是遥遥领先。

在2011年FPGA和CPU的性能都有很大提升,而在2013年CPU的性能仍然在提升,而FPGA相对于GPU的性能下降了。

在2013年之前,FPGA的性能一直优于CPU,但在2013年,出现了多核CPU比如Intel Phi,因此
情况改变了。

图6与GPU相比CPU和FPGA的单精度峰值运算性能对于双精度浮点运算,可以看到GPU的性能除了在前几年表现的差强人意,在2011年之后则一直领跑后两者。

同时在2011年之后
CPU的性能也超过了FPGA,而且在2013年CPU和GPU的性能也已经很接近了,大概只相差5%
系统及可编程芯片设计
图7与GPU相比CPU和FPGA的双精度峰值运算性能
3.特定环境下持续性能对比
峰值性能只是提供了一个理论上的对比,持续性能和功率效率在
特定的应用上会有很大不同。

因为这些处理器有着不同的结构,比
如存储器的结构、外部存储器带宽以及互联网络,这些特点都和特
定的应用有关。

在这一章节,我们将对特定应用环境下的不同处理器性能进行对比。

3.1矩阵运算
矩阵运算与运算的精度以及通信模式有很大关系。

Tesla K20X GPU 在计算密集型矩阵乘法时的性能为单精度3TFL0PS,双精度iTFLOP, 大概为其峰值性能的70%o Intel的Xeon Phi 7120P的性能为单精度 2.2TFLOPS,双精度1TFLOPS,为其峰值性能的92%。

功率效率分别为GPU的单精度12GFLOPS、双精度5 GFLOPs, CPU单精度4・2 GFLOPs、双精度3.6 GFLOPSo在⑵ 中作者对比了I7-960CPU, GTX480 GPU和Virtex-6 FPGA在运行密集型矩阵乘法时的结果,结果显不GPU的持续性能为541GFLOPS,比FPGA快3倍、比CPU 快6倍。

对于功率效率,FPGA和GPU相差无几,同比CPU的功率效率好3倍。

3.2 FF7
7级4096个点的单精度浮点FFT运算在28nm的FPGA上的速度为500GFLOPS,功率效率为10GFLOPS,但是对于一个单一的FFT运算FPGA仅
能达到lOOGFLOPSo —款GTX Titan GPU进行FFT计算时性能达到了单精度450
GFLOPSx双精度220 GFLOPs,分别为其峰值性能的10%和17%。

多核CPU 也获得了类似的结果,不过单精度的性能效率更高
系统及可编程芯片设计
3.3蒙特卡洛算法
基于蒙特卡洛算法的问题在科学算法中很常见,如在金融行业的某
些计算。

蒙特卡洛算法的一个重要单元就是随机数的产生。

FPGA每秒获取的随机数大概是GPU的15倍,是CPU的60倍。

在[3]中作者对比了Virex-4 FPGA、NVidia8800GTX GPU 和一个 2.8MHz Xeon CPU 在计算一种类蒙特卡洛算法的性能。

结果显示FPGA比基本的CPU性能好一个量级,与相同的GPU相比速度也要快3倍。

在功耗方面的对比为:FPGA的能量利用率是CPU的336倍,是GPU的16倍。

在[4] 中作者对比了i7-960 CPU, GTX480 GPU 和Virtex-6 FPGA 在Black-Scholes 期权模型的运算性能,结果显示在速度方面GPU比FPGA快1.4倍,比CPU快22倍;在能量利用率方面GPU比FPGA高i.3倍,比CPU高40 倍。

3.4组合逻辑问题
FPGA在计算组合逻辑问题时有很大的优势,比如编解码问题、优化算法问题以及散列法。

FPGA的优势同样体现在计算有限状态机问题上,有限状态机包含压缩和细胞自动机模型,在这种情况下的运算量能达到万兆/So这种计算性能在除FPGA外的其他处理上是不能达到的。

将Tesla C2090 GPU、ZYNQXC7Z020 FPGA 以及Xeon CPU 分别处理编解码算法,对比结果为GPU的吞吐率是CPU的13倍,FPGA对于8KB和16KB的明文块的吞吐率是GPU的6-9倍。

这种优势是由于FPGA的流计算能力。

对于更大的明文块,FPGA和GPU表现出相似的性能。

4.总结
作为通用的高性能计算处理器,GPU的性能无疑是最优秀的。

然而对于某种特定的应用,三种处理器体现出了不同的优势。

另外考虑到可重构的因素,FPGA的优势又会进一步提升。

所以对于未来高性能计算的发展可能会趋向于多核,并且会集合目前FPGA、GPU的各种优势,使其既能发挥高速的计算也能实现全部或者部分的可重构。

5.参考文献
[1]Vestias M, Neto H・ Trends of cpu z gpu and fpga for high-performance
computi ng[C]//2014 24th International Con fere nee on Field Programmable Logic and Applications (FPL). IEEE, 2014: 1-6・
[2]Chung E S, Milder P A, Hoe J C, et al. Single-chip heterogeneous computing:
Does the future include custom logic, FPGAs, and GPGPUs?[C]//Proceedings of the 2010 43rd Annual IEEE/ACM International Symposium on
Microarchitecture・ IEEE Computer Society, 2010: 225-236・
[3]Tian X, Benkrid K・ High-perfonnanee quasi-monte carlo financial simulation:
FPGA vs. GPP vs. GPU[J]・ ACM Tran sactions on Rec on figurable
Technology and Systems (TRETS), 2010, 3(4): 26・。

相关文档
最新文档