陈奇网络工作室

高性能计算第四系列——高性能计算中的FPGA、GPU和CPU

云计算

1.高性能计算中的FPGA、GPU和CPU简介。

近年来,传统的用于图像处理的GPU逐渐被探索用于高性能计算,并取得了相当不错的效果。单精度浮点运算中的速度可以达到5TFLOPs,双精度浮点运算中的速度可以达到1TFLOPs。现在最好的GPU处理器(比如NVidea的Tesla K20和K40)相比其他一些多核处理器(比如Intel Xeon Phi处理器和IBM、Inter的一些处理器)表现出非常好的计算性能。

FPGA传统上用于单精度定点运算,现在也可以用浮点数进行高性能计算,单精度浮点数峰值已经超过1TFLOPs。但是,工作峰值并不代表器件在特定环境下的持续性能。比如计算两级FFT时,Inter的80万亿次浮点运算的连续性能只能达到其峰值性能的2.73%%。FPGA工作频率较低,峰值较低,但通过硬件优化可以针对特定应用实现更好的运行效率,即持续性能可以达到更接近峰值运行性能的数值,FPGA的功耗效率高于GPU和CPU。

一个具体应用的运行在不同的平台上是不一样的,对运行结果的评价可以基于以下几点:性能、功耗、功效、运行效率、成本和其他。本文分析了各个时期峰值性能和能耗的发展趋势,并比较了三者在一些科学应用中的持续性能,为特定应用寻找最佳的计算平台。

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提高到6 gflops/w.这意味着GPU提供了惊人的计算性能和更高的能效。

GPU的外存带宽也很高。Geforce 6800的带宽为35 GB字节/秒,K20、K20X和K40的带宽分别为208、250和288 GB字节/秒。

2.2多核CPU

通用CPU的峰值计算性能近年来也有了显著提升。图2显示了一些著名的英特尔CPU的峰值计算性能。

英特尔最近推出的Xeon PHI 7120P处理器峰值计算性能可以达到单精度2416GFLOPs,双精度1208GFLOPs。英特尔处理器的计算性能是通过增加CPU核的数量来提升的,这些处理器的功效比GPU低。起初,65纳米工艺的CPU的功耗效率为0.1 GFLOPs/W,但目前,22纳米工艺的CPU的功耗效率已经提高到单精度9 GFLOPs/W,双精度4.5 GFLOPs/W。

在英特尔的处理器中,2008年开发的多核处理器可以在伏特下实现单精度1 TFLOP

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,并且会随着技术的发展不断提高。比如Altera的高性能FPGA,可以达到5TFLOPs,使用的是Intel的14nm三栅极,功效达到100GFLOPs。

2.4峰值计算性能的趋势

为了更好的了解GPU、CPU、FPGA的相对发展情况,下面对比一些年份性能最好的产品参数,包括单精度和双精度运算。结果如图6和图7所示。

在单精度浮点运算中,GPU的性能一直遥遥领先。2011年,FPGA和CPU的性能都有了很大的提升,但是2013年,CPU的性能还是提升了,而FPGA相对于GPU的性能却下降了。在2013年之前,FPGA的性能一直优于CPU,但2013年出现了Intel Phi等多核CPU,于是情况发生了变化。

对于双精度浮点运算,我们可以看到除了前几年,GPU的表现都不尽如人意,从2011年开始一直领先后两者。同时,在2011年之后,CPU的性能已经超越FPGA,而在2013年,CPU和GPU的性能已经非常接近,相差只有5%%u3002左右。

更多关于云服务器,域名注册,虚拟主机的问题,请访问西部数码代理官网:www.chenqinet.cn。

相关推荐

后台-系统设置-扩展变量-手机广告位-内容页底部广告位3