文/王左利
GPU的花樣年華

文/王左利
全球TOP500排行榜出爐,使業(yè)界對GPU的關(guān)注又上了一層樓。可以說,2010年,GPU是HPC界當(dāng)仁不讓的主角。
2010年,GPU在高性能計(jì)算領(lǐng)域迎來了令人矚目的成績。在TOP500全球超級(jí)計(jì)算機(jī)排行榜中,冠軍天河1A,季軍星云和排名第四的日本Tsubame都使用了Tesla GPU。一瞬間,GPU成為HPC業(yè)界當(dāng)仁不讓的明星。
想要實(shí)踐GPU的高校也正在增加。在2010年底,清華大學(xué)百萬億次超算平臺(tái)始建,采用的正是CPU-GPU協(xié)同加速技術(shù)。而南京大學(xué),幾年前就開始了對GPU的測試,并在幾個(gè)月前貼出了對GPU服務(wù)器的招標(biāo)啟事。
一項(xiàng)技術(shù)要取得長足的發(fā)展,必須有產(chǎn)業(yè)界的支持。盡管Intel對GPU總是不屑一顧,但nVIDIA卻是GPU堅(jiān)定的支持者。在2010年底,nVIDIA公司創(chuàng)始人黃仁勛說,“過去的約10年中,TOP500 全球最高速超級(jí)計(jì)算機(jī)的總運(yùn)算性能提升速度基本上和摩爾定律保持一致。而在2007年左右,TOP500超級(jí)計(jì)算機(jī)的性能開始明顯地加速上漲。這一時(shí)間點(diǎn),正是GPU被引入超級(jí)計(jì)算機(jī)的開端。”
從技術(shù)上來說,GPU的發(fā)展并不是一帆風(fēng)順的。首先,GPU本身是一個(gè)特殊的多核處理器,并不是所有的計(jì)算都適合這樣的結(jié)構(gòu);其次,還需要開發(fā)新的算法和軟件。現(xiàn)成的軟件不可能通過重新編譯就能充分利用GPU的計(jì)算效能,必須要做一些移植和再開發(fā),對于很多人來講,或者對于很多企業(yè)來講,這是一個(gè)很高的門檻。
不過隨后CUDA(Compute Unified Device Architecture)平臺(tái)的推出,極大地推動(dòng)了GPU在高性能計(jì)算中的應(yīng)用。
業(yè)界此前就有質(zhì)疑的聲音出現(xiàn):未來GPU與CPU誰將是勝者?一些人認(rèn)為GPU最終將代替CPU,另一些觀點(diǎn)則恰好相反;而更多的人相信,未來它們將是融合而非戰(zhàn)爭。事實(shí)正在證明第三種猜測。天河1A使用了超過14000顆CPU,輔以7168顆Tesla M2050 GPU,總運(yùn)算能力2.5PFLOPS,成為當(dāng)今全球最強(qiáng)的超級(jí)計(jì)算機(jī)。據(jù)稱天河1A將GPU加速的效率從20%提升到了70%。
但是與此同時(shí),CPU與GPU的結(jié)合面臨著巨大的挑戰(zhàn)。“根據(jù)我們實(shí)驗(yàn)室的測試,當(dāng)CPU利用率越高時(shí),GPU的利用率就越低,二者之間的此消彼長使得這種GPU與CPU的融合無法達(dá)到完美效果。”南京大學(xué)周會(huì)群教授說,“我們今后很重要的任務(wù)就是解決平衡問題,利用GPU和CPU來設(shè)計(jì)我們的并行計(jì)算軟件,這是相當(dāng)大的挑戰(zhàn)。”
不言而喻,軟件應(yīng)用仍然面臨很大挑戰(zhàn)。依賴GPU的系統(tǒng)也意味著大部分現(xiàn)有的超級(jí)計(jì)算機(jī)軟件都必須全部重寫,這是目前困擾工程師的一個(gè)編程難題——從某種程度上看,這是一項(xiàng)“藝術(shù)多過科學(xué)”的任務(wù)。但這并不意味著這項(xiàng)任務(wù)無法完成。
另外,雖然Nvidia公司這幾年來也在不斷發(fā)展其CUDA軟件開發(fā)與應(yīng)用生態(tài)系統(tǒng),但GPU編程難、標(biāo)準(zhǔn)不統(tǒng)一、程序可移植性差仍然讓許多用戶望而生畏。
GPU要想發(fā)展,必須形成自己的產(chǎn)品生態(tài)鏈。而中國給予了GPU機(jī)會(huì)。從天河1A到星云,都在給予GPU機(jī)會(huì)。這也難怪一直在美國舉行年會(huì)的nVidia公司在2010年破例選擇了在北京召開了它的年會(huì),也許它認(rèn)為,正在新興發(fā)展并且投入巨資建設(shè)城市高性能計(jì)算中心的中國將是GPU發(fā)展的幸運(yùn)之地。
相關(guān)人士表示,正在打造圍繞GPU并行計(jì)算的開發(fā)人員生態(tài)系統(tǒng),包括多種數(shù)據(jù)庫、調(diào)優(yōu)工具、GPU編譯器、并行化編譯工具、各種工具包、CUDA咨詢與培訓(xùn)以及眾多的GPU計(jì)算解決方案。
盡管2010年GPU表現(xiàn)突出,但實(shí)際上目前占據(jù)主流的仍然是Intel的CPU,GPU要想更進(jìn)一步地發(fā)展,在改進(jìn)并行計(jì)算平臺(tái)之外,還必須和控制著主流編程語言走向并在廣大開發(fā)人員中具有巨大影響力的微軟(.net平臺(tái)),SUN(Java平臺(tái))和Google(Web平臺(tái))三巨頭有良好的合作。而對GPU來說,微軟正在與Intel分道揚(yáng)鑣,這也許就是它的一個(gè)機(jī)會(huì)。