高性能计算系列之四-高性能计算中FPGA,GPU和CPU

发布时间:2024-01-31
云计算
1. 高性能计算中fpga,gpu和cpu的简介
近年来,传统用于图像处理的gpu逐渐被发掘用来进行高性能计算,并且达到了相当好的效果,在单精度浮点运算中的速度达到5tflops,在双精度浮点运算中的速度可以达到1tflops。如今性能最好的gpu处理器(比如nvidea的tesla k20和k40)与一些其他的多核处理器(比如intel xeon phi处理器以及ibm和inter的一些处理器)相比表现出了非常好的计算性能。
fpga传统上是应用于单精度的定点运算,不过现在也可以浮点数进行高性能的计算,单精度浮点数的运算峰值已经超过1tflops。但是运算的峰值并不能代表在特定环境下器件的持续工作性能,比如在计算2级的fft时,inter的80-teraflop持续工作性能只能达到其峰值性能的2.73%%uff0820gflops)。fpga工作在一个较低的频率下,运算峰值较低,但是可以通过硬件优化来实现对特定应用的更好的运行效率,即持续性能能达到更接近峰值运算性能的值,同时与gpu和cpu相比fpga的功率效率更高。
一个特定的应用在不同的平台上运算是不一样的,对于运算结果的评估可以基于以下几点:性能、功耗、功率效率、运行效率、成本以及其他。在本文中,我们分析每个期间在峰值性能以及能耗方面的发展趋势,并对三者在一些科学应用的持续性能进行对比,找出对于某一特定应用的最佳运算平台。
2. 峰值计算性能发展趋势2.1 gpu
gpu最初被设计用来进行图像处理并在该方面显示出了强大的优势,近10年来gpu逐渐被应用到通用计算领域,一般称为gpgpu。基于其强大的并行计算能力,在一些其他的计算分析方面其性能早已可与多核cpu相媲美。
观察多代gpu的发展,我们发现其峰值性能并不是简单的线性增长,单精度浮点运算和双精度浮点运算都是这样。我们没有办法去简单的描述gpu的全面的发展,因为各种gpu的结构非常多,所以在此只挑出在某个年份的最佳性能的一些gpu进行分析。
每一代gpu之间的性能提升超过1tflop,同时右图中可知在某些年份工艺技术没有提升,但是性能提升了,说明性能的增长不仅与新的制造工艺有关也与结构的优化有关。单精度和双精度的性能差距由最初的相差10倍降到了最新一代的只差4倍左右。
关于能耗方面,gpu的功率效率(峰值性能与热设计功耗(tdp)的比值)也是在稳定则增长,单精度的功率效率由最初的0.5gflops/w增加到了gflops/w,双精度的功率效率由0.5gflops/w增加到了6gflops/w。这意味着gpu以一个增长的功率效率提供着一个惊人的运算性能。
gpu的外部存储带宽也非常高,geforce 6800的带宽为35 gbytes/s,k20, k20x 和 k40的带宽分别为208,250和288 gbytes/s。.
2.2 多核cpu
通用cpu的峰值运算性能在近年来也获得了显著提升,图2中显示了部分intel的著名cpu的峰值运算性能。
intel最近推出的xeon phi 7120p处理器的峰值运算性能可以达到单精度2416gflops,双精度1208gflops,intel处理器计算性能的提升靠的是增加cpu的核数,这些处理器的功率效率和gpu相比较低。最初65nm技术的cpu的功率效率为0.1 gflops/w,目前22nm技术下的cpu的功率效率已经增加到单精度9 gflops/w,双精度4.5 gflops/w。
在intel的这些处理器中,2008年出的一款多核处理器在3.16ghz频率1.07v电压下,峰值运算速度可以达到单精度1 tflop。cpu或者多核cpu的存储器带宽也很高。比如xeon phi 7120p的带宽为352gbytes/s,比最近出的gpu稍微高一些。
2.3 fpga
fpga的峰值运算性能由它所包含的乘法器和lut的资源决定,观察xilinx公司的一些产品发现乘法器和lut的资源并不是线性增长的(如图3所示)。最新的virtex7系列fpga中 xc7vx980t含有3600个18*18的乘法器和612000个lut,xc7v2000t含有2160个乘法器和1221600个lut。
如果要分析fpga的峰值运算性能,我们需要考虑三种情况:只有加法器,只有乘法器,有乘法器和加法器。加法器可以只通过lut就可以实现,而乘法器的实现则需要dsp和lut的不同组合(组合结构为m0,m1,m2)。乘加运算真是这些乘法器和加法器的一一组合。
对于双精度的峰值运算,只含有加法器运算的最佳的峰值运算性能出现在xc7v2000t fpga中,为671gflops;只含有乘法器运算的最佳峰值运算性能降为168gflops;加法器和乘法器的组合运算的最佳运算性能为302gflops,由xc7vx980t获得。
fpga的功率效率超过10gflops/w,一般来说是比cpu和gpu要高的,而且随着技术的发展fpga的功率效率也会继续不断提升。比如altera的一款能达到5tflops的高性能fpga就应用了intel的14nm tri-gate,功率效率达到100gflops。
2.4 峰值计算性能的趋势
为了更好的理解gpu,cpu,fpga的相对发展,下面选取他们中在某些年最佳的性能的产品参数进行比较,包含单精度和双精度的运算,结果如图6,图7所示。
在单精度的浮点运算中,gpu的性能一直是遥遥领先。在2011年fpga和cpu的性能都有很大提升,而在2013年cpu的性能仍然在提升,而fpga相对于gpu 的性能下降了。在2013年之前,fpga的性能一直优于cpu,但在2013年,出现了多核cpu比如intel phi,因此情况改变了。
对于双精度浮点运算,可以看到gpu的性能除了在前几年表现的差强人意,在2011年之后则一直领跑后两者。同时在2011年之后cpu的性能也超过了fpga,而且在2013年cpu和gpu的性能也已经很接近了,大概只相差5%%u3002
上一个:双光束紫外可见分光光度计的具体作用如下
下一个:珍珠奶茶珍珠制作方法 怎么做珍珠奶茶里的珍珠

交通医疗费用超过一万元后由谁垫付
成都双年展怎么预约
云服务器怎么部署测试环境
故意伤害罪判几年什么情形下会减刑
雾霾口罩怎么戴 纳米雾霾口罩的佩戴方法
卖服务器云服务的网站模板
上海旅游节自然博物馆门票活动
承包食堂需要什么条件
我们这边备案的时候经常没有地方上传法人的证件
网站建设如何提高文章质量