FPGAGPUCPU在高性能计算的应用及展望总结.docx
- 文档编号:25614516
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:10
- 大小:444.76KB
FPGAGPUCPU在高性能计算的应用及展望总结.docx
《FPGAGPUCPU在高性能计算的应用及展望总结.docx》由会员分享,可在线阅读,更多相关《FPGAGPUCPU在高性能计算的应用及展望总结.docx(10页珍藏版)》请在冰豆网上搜索。
FPGAGPUCPU在高性能计算的应用及展望总结
FPGA,GPU和CPU在高性能计算领域的应用及展望
课程:
系统及可编程芯片设计专业:
微电子学与固体电子学姓名:
学号:
任课老师:
目前FPGA对于浮点数的运算速度已经达到1TFL0P(每秒万亿次浮点运算),同时GPU和多核CPU通过利用最新的IC设计技术也大大提高了其运算能力。
本文将对比三种结构对于高性能计算的发展趋势,同时也会介绍在特定运算环境下三种结构的持续性能。
1.高性能计算中FPGA,GPU和CPU的简介
近年来,传统用于图像处理的GPU逐渐被发掘用来进行高性能计算,并且达到了相当好的效果,在单精度浮点运算中的速度达到5TFL0PS,在双精度浮点运算中的速度可以达到lTFLOPSo如今性能最好的GPU处理器(比女口NVidea的TeslaK20和K40)与一些其他的多核处理器(比如IntelXeonPhi处理器以及IBM和Inter的一些处理器)相比表现出了非常好的计算性能。
FPGA传统上是应用于单精度的定点运算,不过现在也可以浮点数进行高性能的计算,单精度浮点数的运算峰值已经超过lTFLOPSo但是运算的峰值并不能代表在特定环境下器件的持续工作性能,比如在计算2级的FFT时,Inter的80-teraflop持续工作性能只能达到其峰值性能的2.73%(20GFLOPS)。
FPGA工作在一个较低的频率下,运算峰值较低,但是可以通过硬件优化来实现对特定应用的更好的运行效率,即持续性能能达到更接近峰值运算性能的值,同时与GPU和CPU相比FPGA的功率效率更高。
一个特定的应用在不同的平台上运算是不一样的,对于运算结果的评估可以基于以下几点:
性能、功耗'功率效率、运行效率、成本以及其他。
在本文中,我们分析每个期间在峰值性能以及能耗方面的发展趋势,并对三者在一些科学应用的持续性能进行对比,找出对于某一特定应用的最佳运算平台。
2.峰值计算性能发展趋势2.1GPU
GPU最初被设计用来进行图像处理并在该方面显示出了强大的优
势,近10
年来GPU逐渐被应用到通用计算领域,一般称为GPGPUo基于其强大的并行计算能力,在一些其他的计算分析方面其性能早已可与多核CPU相媲美。
观察多代GPU的发展,我们发现其峰值性能并不是简单的线性增长,单精度浮点运算和双精度浮点运算都是这样。
我们没有办法去简单的描述GPU的全面的发展,因为各种GPU的结构非常多,所以在此只挑出在某个年份的最佳性
能的一些GPU进行分析。
结果如图1所示⑴
图1GPU的峰值性能
观察图1可知,每一代GPU之间的性能提升超过1TFL0P,同时右图中可知在某些年份工艺技术没有提升,但是性能提升了,说明性能的增长不仅与新的制造工艺有关也与结构的优化有关。
单精度和双精度的性能差距由最初的相差10倍降到了最新一代的只差4倍左右。
关于能耗方面,GPU的功率效率(峰值性能与热设计功耗(TDP)的比值)也是在稳定则增长,单精度的功率效率由最初的0.5GFLOPS/W增加到了GFLOPs/W,双精度的功率效率由0・5GFLOPs/W增加到了6GFLOPS/Wo这意味着GPU以一个增长的功率效率提供着一个惊人的运算性能。
GPU的外部存储带宽也非常高,Geforce6800的带宽为35GBytes/s,K20,K20X和K40的带宽分别为208,250和288
GBytes/So・
2.2多核CPU
通用CPU的峰值运算性能在近年来也获得了显著提升,图2中显示了部分Intel的著名CPU的峰值运算性能。
Intel最近推出的XeonPHI7120P处理器的峰值运算性能可以达到单精度2416GFLOPS,双精度1208GFLOPS,Intel处理器计算性能的提升靠的是增加CPU的核数,这些处理器的功率效率和GPU相比较低。
最初65nm技术的CPU的功率效率为O.iGFLOPs/W,目前22nm技术下的CPU的功率效率已经增加到单精度9GFLOPs/W,双精度4.5GFLOPs/Wo
在Intel的这些处理器中,2008年出的一款多核处理器在3.16GHz频率1.07V电压下,峰值运算速度可以达到单精度1TFLOPoCPU或者
多核CPU的存储器带宽也很高。
比如XeonPHI7120P的带宽为352GBytes/s,比最近出的GPU稍
微高一些
图2CPU的峰值性能
2.3FPGA
FPGA的峰值运算性能由它所包含的乘法器和LUT的资源决定,观察刈inx公司的一些产品发现乘法器和LUT的资源并不是线性增长的
(如图3所示)。
最新的Virtex7系列FPGA中XC7VX980T含有3600个18*18的乘法器和612000个LUT,XC7V2000T含有2160个
乘法器和1221600个LUTo
如果要分析FPGA的峰值运算性能,我们需要考虑三种情况:
只有
加法器,只有乘法器,有乘法器和加法器。
加法器可以只通过LUT就
可以实现,而乘法器的实现则需要DSP和LUT的不同组合(组合结构
表1介绍了浮点运算中的不同资源组合
情况
表1浮点运算所占用的资源和频率
下面我们主要观察两款FPGA的峰值运算性能,它们是Xilinx公司的XC7VX980T和XC7V2000To两款产品对于不同的应用所占用的资源
是不同的,结果如图4,图5所示。
如果只考虑加法器,最好的单精度峰值运算性能为1.4TFL0PS;如果只考虑乘法器,最好的单精度峰值运算性能为1TFL0PS。
加法器和乘法器资源的组合中,能获得的最佳峰值运算性能为1.6TFLOPSo在这种情况下,我们可以看到
XC7V2000T比XC7VX980T更适合浮点数运算,即使它的DSP资源只有
图4两款产品单精度浮点运算占用不同资源的峰值性能对
于双精度的峰值运算,只含有加法器运算的最佳的峰值运算性能出现在XC7V2000TFPGA中,为671GFLOPS;只含有乘法器运算的最佳峰值运算性能降为168GFLOPS;加法器和乘法器的组合运算的最佳运算性能为302GFLOPS,由XC7VX980T获得。
FPGA的功率效率超过10GFLOPS/W,—般来说是比CPU和GPU要高的,而且随着技术的发展FPGA的功率效率也会继续不断提升。
比如Altera的一款能达到5TFL0PS的高性能FPGA就应用了Intel的
14nmTri-Gate,功率效率达到
lOOGFLOPSo
图5两款产品双精度浮点运算占用不同资源的峰值性能
2.4峰值计算性能的趋势
为了更好的理解GPU,CPU,FPGA的相对发展,下面选取他们中在某
些年
最佳的性能的产品参数进行比较,包含单精度和双精度的运算,结果如图6,图
7所示。
FPGA和CPU的性能都有很大提升,而在2013年CPU的性能仍然在提升,而FPGA相对于GPU的性能下降了。
在2013年之前,FPGA的性能一直优于CPU,但在2013年,出现了多核CPU比如IntelPhi,因此
情况改变了。
对于双精度浮点运算,可以看到GPU的性能除了在前几年表现的差强人意,在2011年之后则一直领跑后两者。
同时在2011年之后
CPU的性能也超过了FPGA,而且在2013年CPU和GPU的性能也已经
很接近了,大概只相差5%
系统及可编程芯片设计
图7与GPU相比CPU和FPGA的双精度峰值运算性能
3.特定环境下持续性能对比
峰值性能只是提供了一个理论上的对比,持续性能和功率效率在
特定的应用上会有很大不同。
因为这些处理器有着不同的结构,比
定的应用有关。
在这一章节,我们将对特定应用环境下的不同处理器性能进行对比。
3.1矩阵运算
矩阵运算与运算的精度以及通信模式有很大关系。
TeslaK20XGPU在计算密集型矩阵乘法时的性能为单精度3TFL0PS,双精度iTFLOP,大概为其峰值性能的70%oIntel的XeonPhi7120P的性能为单精度2.2TFLOPS,双精度1TFLOPS,为其峰值性能的92%。
功率效率分别为GPU的单精度12GFLOPS、双精度5GFLOPs,CPU单精度4・2GFLOPs、双精度3.6GFLOPSo在⑵中作者对比了I7-960CPU,GTX480GPU和Virtex-6FPGA在运行密集型矩阵乘法时的结果,结果显不GPU的持续性能为541GFLOPS,比FPGA快3倍、比CPU快6倍。
对于功率效率,FPGA和GPU相差无几,同比CPU的功率效率好3倍。
3.2FF7
7级4096个点的单精度浮点FFT运算在28nm的FPGA上的速度为500GFLOPS,功率效率为10GFLOPS,但是对于一个单一的FFT运算FPGA仅能达到lOOGFLOPSo—款GTXTitanGPU进行FFT计算时性能达到了单精度450
GFLOPSx双精度220GFLOPs,分别为其峰值性能的10%和17%。
多核CPU也获得了类似的结果,不过单精度的性能效率更高
系统及可编程芯片设计
3.3蒙特卡洛算法
基于蒙特卡洛算法的问题在科学算法中很常见,如在金融行业的某些计算。
蒙特卡洛算法的一个重要单元就是随机数的产生。
FPGA每秒获取的随机数大概是GPU的15倍,是CPU的60倍。
在[3]中作者对比了Virex-4FPGA、NVidia8800GTXGPU和一个2.8MHzXeonCPU在计算一种类蒙特卡洛算法的性能。
结果显示FPGA比基本的CPU性能好一个量级,与相同的GPU相比速度也要快3倍。
在功耗方面的对比为:
FPGA的能量利用率是CPU的336倍,是GPU的16倍。
在[4]中作者对比了i7-960CPU,GTX480GPU和Virtex-6FPGA在Black-Scholes期权模型的运算性能,结果显示在速度方面GPU比FPGA快1.4倍,比CPU快22倍;在能量利用率方面GPU比FPGA高i.3倍,比CPU高40倍。
3.4组合逻辑问题
FPGA在计算组合逻辑问题时有很大的优势,比如编解码问题、优化算法问题以及散列法。
FPGA的优势同样体现在计算有限状态机问题上,有限状态机包含压缩和细胞自动机模型,在这种情况下的运算量能达到万兆/So这种计算性能在除FPGA外的其他处理上是不能达到的。
将TeslaC2090GPU、ZYNQXC7Z020FPGA以及XeonCPU分别处理编解码算法,对比结果为GPU的吞吐率是CPU的13倍,FPGA对于8KB和16KB的明文块的吞吐率是GPU的6-9倍。
这种优势是由于FPGA的流计算能力。
对于更大的明文块,FPGA和GPU表现出相似的性能。
4.总结
作为通用的高性能计算处理器,GPU的性能无疑是最优秀的。
然而对于某种特定的应用,三种处理器体现出了不同的优势。
另外考虑到可重构的因素,FPGA的优势又会进一步提升。
所以对于未来高性能计算的发展可能会趋向于多核,并且会集合目前FPGA、GPU的各种优势,使其既能发挥高速的计算也能实现全部或者部分的可重构。
5.参考文献
[1]VestiasM,NetoH・Trendsofcpuzgpuandfpgaforhigh-performance
computing[C]//201424thInternationalConfereneeonFieldProgrammable
LogicandApplications(FPL).IEEE,2014:
1-6・
[2]ChungES,MilderPA,HoeJC,etal.Single-chipheterogeneouscomputing:
Doesthefutureincludecustomlogic,FPGAs,andGPGPUs?
[C]//Proceedingsofthe201043rdAnnualIEEE/ACMInternationalSymposiumonMicroarchitecture・IEEEComputerSociety,2010:
225-236・
[3]TianX,BenkridK・High-perfonnaneequasi-montecarlofinancialsimulation:
FPGAvs.GPPvs.GPU[J]・ACMTransactionsonReconfigurableTechnologyandSystems(TRETS),2010,3(4):
26・
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- FPGAGPUCPU 性能 计算 应用 展望 总结
![提示](https://static.bdocx.com/images/bang_tan.gif)