幾十年來,計(jì)算機(jī)CPU芯片一直按照摩爾定律飛速發(fā)展,每隔十八個(gè)月,單位芯片面積上的晶體管數(shù)量就增加一倍,性能提高一倍。由于物理極限的限制,單純依靠制造工藝的提升已經(jīng)無法滿足計(jì)算需求,X86傳統(tǒng)計(jì)算平臺陷入了技術(shù)發(fā)展的瓶頸。內(nèi)存延時(shí)長、頻率低導(dǎo)致緩存面積越來越大,邏輯控制越來越復(fù)雜。緩存消耗了70%以上的芯片面積,同時(shí)也消耗了70%以上的電能,真正有效的運(yùn)算部件面積比重很小。芯片上的晶體管密度越來越大,使得單位面積上功耗持續(xù)增加,散熱問題日益嚴(yán)重。
由于CPU的性能提升并不是無止境的,這也就催生出計(jì)算技術(shù)向多樣化發(fā)展,而不僅僅依賴于傳統(tǒng)的計(jì)算平臺。當(dāng)計(jì)算技術(shù)進(jìn)一步細(xì)化,GPU作為一種獨(dú)立的計(jì)算單元,以其優(yōu)異的運(yùn)算性能脫穎而出,為計(jì)算技術(shù)的革新帶來了一種新的思路。
GPU計(jì)算是指利用圖形卡來進(jìn)行一般意義上的計(jì)算,而不是傳統(tǒng)意義上的圖形繪制。時(shí)至今日,GPU已發(fā)展成為一種高度并行化、多線程、多核的處理器,具有杰出的計(jì)算功率和極高的存儲器帶寬,如圖所示。
圖:CPU和GPU的每秒浮點(diǎn)運(yùn)算次數(shù)和存儲器帶寬
這種新技術(shù)并非突破了馮?諾依曼,而是參考CPU中傳統(tǒng)的ALU單元,將眾多的ACL單元集成到一顆芯片內(nèi)部,形成ALU運(yùn)算單元陣列,簡化邏輯控制結(jié)構(gòu),從而滿足計(jì)算密集型程序的運(yùn)行,成為一個(gè)獨(dú)立的計(jì)算加速單元。
CPU和GPU之間浮點(diǎn)功能之所以存在這樣的差異,原因就在于GPU專為計(jì)算密集型、高度并行化的計(jì)算而設(shè)計(jì),上圖顯示的正是這種情況,因而,GPU的設(shè)計(jì)能使更多晶體管用于數(shù)據(jù)處理,而非數(shù)據(jù)緩存和流控制,如圖所示。
圖:GPU中的更多晶體管用于數(shù)據(jù)處理
GPU計(jì)算得到了業(yè)界的廣泛支持,NVIDIA、AMD、INTEL等都對芯片市場的微妙變化和GPU計(jì)算的技術(shù)發(fā)展前景都極為關(guān)注,并展開了激烈的技術(shù)競賽。
作為異構(gòu)計(jì)算領(lǐng)域堅(jiān)定的支持者和踐行者,曙光公司從國內(nèi)第一套異構(gòu)集群開始到HC2000異構(gòu)計(jì)算方案的推出,一直在積極推進(jìn)國內(nèi)HPC領(lǐng)域的異構(gòu)計(jì)算加速技術(shù)。
GPU計(jì)算方案配置選擇,主要考慮以下因素:
1. 計(jì)算比例,通常應(yīng)用程序的執(zhí)行需要GPU與CPU協(xié)同完成,可根據(jù)GPU計(jì)算部分所占比重,配置節(jié)點(diǎn)GPU卡密度;
2. 計(jì)算規(guī)模,根據(jù)不同應(yīng)用數(shù)據(jù)規(guī)模及計(jì)算類型,可以選擇單機(jī)單GPU卡、單機(jī)多GPU卡和GPU集群應(yīng)用模式;
3. 數(shù)據(jù)通信,在GPU集群模式下,可根據(jù)應(yīng)用程序?qū)和ㄐ艓捈把舆t的需求,選擇高速Infiniband網(wǎng)絡(luò)或萬兆網(wǎng)絡(luò);
4. 存儲系統(tǒng):單節(jié)點(diǎn)應(yīng)用模式下一般數(shù)據(jù)量比較小,對存儲系統(tǒng)性能要求不高,一般采用本地存儲;集群環(huán)境下,應(yīng)用數(shù)據(jù)量比較大,一般配置大容量、統(tǒng)一、高速的并行文件系統(tǒng),另外對一些特殊應(yīng)用,如石油、天然氣應(yīng)用,可以在每個(gè)GPU計(jì)算節(jié)點(diǎn)內(nèi)部配置SSD硬盤,作為分級存儲使用,加速節(jié)點(diǎn)內(nèi)部數(shù)據(jù)交換;
5. 管理調(diào)度,合理選擇GPU集群的作業(yè)調(diào)度和監(jiān)控系統(tǒng),可以提升集群的使用效率,降低維護(hù)成本。