十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
云計算 1. 高性能計算中FPGA,GPU和CPU的簡介
近年來,傳統(tǒng)用于圖像處理的GPU逐漸被發(fā)掘用來進行高性能計算,并且達到了相當好的效果,在單精度浮點運算中的速度達到5TFLOPs,在雙精度浮點運算中的速度可以達到1TFLOPs。如今性能最好的GPU處理器(比如NVidea的Tesla K20和K40)與一些其他的多核處理器(比如Intel Xeon Phi處理器以及IBM和Inter的一些處理器)相比表現(xiàn)出了非常好的計算性能。

FPGA傳統(tǒng)上是應用于單精度的定點運算,不過現(xiàn)在也可以浮點數(shù)進行高性能的計算,單精度浮點數(shù)的運算峰值已經(jīng)超過1TFLOPs。但是運算的峰值并不能代表在特定環(huán)境下器件的持續(xù)工作性能,比如在計算2級的FFT時,Inter的80-teraflop持續(xù)工作性能只能達到其峰值性能的2.73%(20GFLOPs)。FPGA工作在一個較低的頻率下,運算峰值較低,但是可以通過硬件優(yōu)化來實現(xiàn)對特定應用的更好的運行效率,即持續(xù)性能能達到更接近峰值運算性能的值,同時與GPU和CPU相比FPGA的功率效率更高。
一個特定的應用在不同的平臺上運算是不一樣的,對于運算結果的評估可以基于以下幾點:性能、功耗、功率效率、運行效率、成本以及其他。在本文中,我們分析每個期間在峰值性能以及能耗方面的發(fā)展趨勢,并對三者在一些科學應用的持續(xù)性能進行對比,找出對于某一特定應用的運算平臺。
2. 峰值計算性能發(fā)展趨勢2.1 GPUGPU最初被設計用來進行圖像處理并在該方面顯示出了強大的優(yōu)勢,近10年來GPU逐漸被應用到通用計算領域,一般稱為GPGPU?;谄鋸姶蟮牟⑿杏嬎隳芰Γ谝恍┢渌挠嬎惴治龇矫嫫湫阅茉缫芽膳c多核CPU相媲美。
觀察多代GPU的發(fā)展,我們發(fā)現(xiàn)其峰值性能并不是簡單的線性增長,單精度浮點運算和雙精度浮點運算都是這樣。我們沒有辦法去簡單的描述GPU的全面的發(fā)展,因為各種GPU的結構非常多,所以在此只挑出在某個年份的性能的一些GPU進行分析。
每一代GPU之間的性能提升超過1TFLOP,同時右圖中可知在某些年份工藝技術沒有提升,但是性能提升了,說明性能的增長不僅與新的制造工藝有關也與結構的優(yōu)化有關。單精度和雙精度的性能差距由最初的相差10倍降到了最新一代的只差4倍左右。
關于能耗方面,GPU的功率效率(峰值性能與熱設計功耗(TDP)的比值)也是在穩(wěn)定則增長,單精度的功率效率由最初的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的核數(shù),這些處理器的功率效率和GPU相比較低。最初65nm技術的CPU的功率效率為0.1 GFLOPs/W,目前22nm技術下的CPU的功率效率已經(jīng)增加到單精度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 FPGAFPGA的峰值運算性能由它所包含的乘法器和LUT的資源決定,觀察Xilinx公司的一些產(chǎn)品發(fā)現(xiàn)乘法器和LUT的資源并不是線性增長的(如圖3所示)。最新的Virtex7系列FPGA中 XC7VX980T含有3600個18*18的乘法器和612000個LUT,XC7V2000T含有2160個乘法器和1221600個LUT。
如果要分析FPGA的峰值運算性能,我們需要考慮三種情況:只有加法器,只有乘法器,有乘法器和加法器。加法器可以只通過LUT就可以實現(xiàn),而乘法器的實現(xiàn)則需要DSP和LUT的不同組合(組合結構為M0,M1,M2)。乘加運算真是這些乘法器和加法器的一一組合。對于雙精度的峰值運算,只含有加法器運算的的峰值運算性能出現(xiàn)在XC7V2000T FPGA中,為671GFLOPs;只含有乘法器運算的峰值運算性能降為168GFLOPs;加法器和乘法器的組合運算的運算性能為302GFLOPs,由XC7VX980T獲得。
FPGA的功率效率超過10GFLOPs/W,一般來說是比CPU和GPU要高的,而且隨著技術的發(fā)展FPGA的功率效率也會繼續(xù)不斷提升。比如Altera的一款能達到5TFLOPs的高性能FPGA就應用了Intel的14nm Tri-Gate,功率效率達到100GFLOPs。
2.4 峰值計算性能的趨勢為了更好的理解GPU,CPU,F(xiàn)PGA的相對發(fā)展,下面選取他們中在某些年的性能的產(chǎn)品參數(shù)進行比較,包含單精度和雙精度的運算,結果如圖6,圖7所示。
在單精度的浮點運算中,GPU的性能一直是遙遙領先。在2011年FPGA和CPU的性能都有很大提升,而在2013年CPU的性能仍然在提升,而FPGA相對于GPU 的性能下降了。在2013年之前,F(xiàn)PGA的性能一直優(yōu)于CPU,但在2013年,出現(xiàn)了多核CPU比如Intel Phi,因此情況改變了。
對于雙精度浮點運算,可以看到GPU的性能除了在前幾年表現(xiàn)的差強人意,在2011年之后則一直領跑后兩者。同時在2011年之后CPU的性能也超過了FPGA,而且在2013年CPU和GPU的性能也已經(jīng)很接近了,大概只相差5%。