“CPU+GPU”:解決超算中心性能與能耗的矛盾
作為世界上首個把GPU加速器與通用CPU計算相結(jié)合的超級計算機,“天河一號A”與“CPU+GPU“架構(gòu)的淵源其實早在2005年就開始了。
劉光明主任介紹道,當(dāng)時,超級計算機的已經(jīng)達到了千萬億級或者更高級別,用通用CPU計算機去做的話規(guī)模和功耗都太大,而且使用起來不一定很好。一個非常典型的例子,2011年下半年,美國IBM承擔(dān)的一個美國計算機的研究項目——完全通用CPU的方法去構(gòu)建最快計算機,結(jié)果由于研制費用高、機器占地規(guī)模和功耗大導(dǎo)致項目流產(chǎn)了。
針對CPU計算在HPC領(lǐng)域的瓶頸,國防科技大學(xué)于2005年到2007年之間研究了如何將用通用CPU與GPU加速器結(jié)合起來,并加速高性能計算的應(yīng)用。當(dāng)時國防科大自己做了一個流處理器,結(jié)合起來之后發(fā)現(xiàn)有很大一類高性能計算機的應(yīng)用,比如流體力學(xué)、氣動力學(xué)、FFT、CFD,還有很多算法都適合這種結(jié)構(gòu),非常適用于解決復(fù)雜的數(shù)學(xué)問題。于是,2009年的天河一號第一期就選用了AMD的GPU來替代當(dāng)時國防科技大學(xué)自己研究的流處理器,這就是當(dāng)時排名是世界第五,亞洲第一的“天河一號”。
2010年開始,天津超算中心決定使用NVIDIA Tesla 2050。劉光明表示,之所以將GPU換成了NVIDIA Tesla 2050,主要是因為AMD的GPU沒有ECC校驗,而Tesla有ECC校驗。與此同時,將天河一號的高速互聯(lián)系統(tǒng)換成了自主研發(fā)的銀河的高速互聯(lián),操作系統(tǒng)也換成了自己強化的操作系統(tǒng),并且在升級之后又做了一些優(yōu)化,這樣就誕生了2010年11月Top500排行榜的冠軍——“天河一號A”。憑著“CPU+GPU異構(gòu)融合體系結(jié)構(gòu)、64位多核多線程自主飛騰1000CPU,以及自主高速互聯(lián)通信技術(shù)”等三大技術(shù)創(chuàng)新,“天河一號A”給全世界留下了深刻的印象。也是從那時開始,CPU+GPU異構(gòu)融合體系結(jié)構(gòu)作為一個全新的HPC體系結(jié)構(gòu)開始受到世界范圍內(nèi)的關(guān)注。
當(dāng)時,國際上對于天河一號A所采用的“CPU+GPU”異構(gòu)融合計算體系存在諸多爭議,一些國家認為這樣的計算架構(gòu)對于實際的應(yīng)用環(huán)境價值不大,主要原因是基于異構(gòu)混合架構(gòu)的編程難度太大,而且原有的應(yīng)用移植也比較困難,所以就算Linpack測試性能再好,對于實際生產(chǎn)并沒有多大的價值。
而事實上,在兩年多以后的今天,“CPU+GPU”異構(gòu)融合架構(gòu)體系已經(jīng)被越來越多的超級計算機所采用,像美國高性能超算中心、德國超算中心等這些國家或地區(qū)最大的系統(tǒng),都紛紛的采用了GPU加速并行計算。人們對于“CPU+GPU”異構(gòu)計算的態(tài)度的轉(zhuǎn)變,與“天河一號A”在“CPU+GPU”架構(gòu)的應(yīng)用方面令人矚目的成就是不可分割的。
劉光明主任介紹道,天河一號A系統(tǒng)分成兩部分,一部分是Intel CPU加上NVIDIA GPU構(gòu)成了一個新的系統(tǒng),這個系統(tǒng)占整個天河系統(tǒng)的7/8,另外1/8的部分是用自主研發(fā)的CPU——飛騰1000,這套系統(tǒng)主要是進行實驗優(yōu)化的環(huán)境,有很多科技計算的程序和應(yīng)用都在上面做測試。
“目前,基于‘天河一號A’的異構(gòu)結(jié)構(gòu)的幾個典型的應(yīng)用情況還是很不錯的”,劉光明向記者分享了在異構(gòu)架構(gòu)應(yīng)用方面的經(jīng)驗和感觸,“以最典型的石油勘探數(shù)據(jù)處理,經(jīng)過天河一號A,已經(jīng)完成了具有自主知識產(chǎn)權(quán)的石油三維歷史偏移。石油勘探數(shù)據(jù)處理軟件過去是掌握在國外公司手上,這對于我們來講是很不利的,一方面價格很高,另一方面,有的東西就算有錢也不賣給你。從2011年年初開始,基于‘天河一號A’跟東方物理進行合作,用了兩年的時間,將該軟件從通用CPU的版本上升到CPU+GPU的版本,整體性能提升了大概六倍。同時在這個基礎(chǔ)上又將磁盤的數(shù)據(jù)處理系統(tǒng)變成一個基于內(nèi)存的數(shù)據(jù)系統(tǒng)。”
除此之外,現(xiàn)在的氣動力學(xué)、大飛機的仿真,還有一些源的分析等應(yīng)用都是基于CPU+GPU的異構(gòu)計算體系,現(xiàn)在應(yīng)用的效果都不錯。
除了在性能方面的提升之外,CPU+GPU架構(gòu)帶來的能效的提升也是非??捎^的,據(jù)透露,整個天河一號A系統(tǒng)的平均利用率達到40%,而電費成本每年大約在1500萬到2000萬人民幣之間,這樣的能效相比其他的超算中心而言大有提升。
NVIDIA:基于開普勒架構(gòu)的HPC應(yīng)用數(shù)數(shù)量將突破一千
“CPU+GPU”架構(gòu)在一定程度上緩解了超算中心的計算能力與能耗之間的矛盾,。然而,正如本文開篇所提到的,如何把這強大的計算能力轉(zhuǎn)化成生產(chǎn)力才是超算中心最應(yīng)該關(guān)注的?畢竟,對于一個國家而言,HPC產(chǎn)業(yè)發(fā)展的目的遠遠不止那個峰值計算的數(shù)值或者排行榜上的名次。這就意味著需要把強大的計算能力應(yīng)用到各行各業(yè)的實際應(yīng)用當(dāng)中,對于“CPU+GPU”異構(gòu)架構(gòu)而言,就需要通過更多的應(yīng)用程序,才能把這強大的計算能力傳遞到應(yīng)用領(lǐng)域。
作為“CPU+GPU”異構(gòu)架構(gòu)的最主要的推動者之一,NVIDIA一直在努力推動異構(gòu)編程,并且取得了一定的成績。Shanker 表示,現(xiàn)在有300個以上應(yīng)用軟件支持開普勒架構(gòu),一到兩年內(nèi),這個數(shù)字將會突破1000個,各種各樣的解決科學(xué)問題的工具都可以在CPU+GPU的異構(gòu)體系上運行。
Shanker介紹道,在CPU+GPU的異構(gòu)架構(gòu)上進行編程主要有三種方式:對于存在了很多年的應(yīng)用,可以采用OpenACC的開放標準進行小小的改動,只需要通過一些標記代碼,就可以將傳統(tǒng)的應(yīng)用很快速地轉(zhuǎn)移到CPU+GPU的架構(gòu)上來運行。比如美國能源實驗室的S3D核聚變應(yīng)用程序有100萬行代碼,后來只改了400行,然后通過編譯器編譯,就簽到了CPU+GPU的混合計算平臺上,并取得了六倍的速度提升。
第二種方法,對于一些需要重頭開始寫的應(yīng)用程序,NVIDIA建議用CUDA GPU并行編程的方法, CUDA實際上就是把傳統(tǒng)的C語言進行一些語法方法的擴展,寫程序的方法不變,重新寫出來的程序效率可以大大的提升。
最后一種方法,就是針對一些比較規(guī)范的程序,可以調(diào)用庫函數(shù)。NVIDIA提供了很多系統(tǒng)級的基于GPU的庫函數(shù),還有很多是大學(xué)、科研機構(gòu)提供的。
聯(lián)合實驗室推動產(chǎn)業(yè)轉(zhuǎn)型升級
為了進一步推動在CPU+GPU的異構(gòu)計算的應(yīng)用,2013年1月17日,天津超算中心和NVIDIA宣布建立聯(lián)合實驗室。聯(lián)合實驗室將依托“天河一號A”超級計算機,主要研究任務(wù)包括兩個方面:一個方面就是在異構(gòu)結(jié)構(gòu)上再優(yōu)化,用NVIDIA的一些新的軟件,提升用戶使用的效率。第二個方面,基于天河一號A新的通信處理技術(shù)、硬件和軟件,實現(xiàn)云計算、物聯(lián)網(wǎng),包括智慧城市和三網(wǎng)合一等。
劉光明表示,跟有很強優(yōu)勢的國外的公司合作,目的就是實現(xiàn)強強結(jié)合,將國外的技術(shù)優(yōu)勢與我們自身的優(yōu)勢相結(jié)合,達到雙贏,最終目的是推動我們國家向新的生產(chǎn)方式轉(zhuǎn)變。
此次聯(lián)合實驗室的成立,標志著我國HPC產(chǎn)業(yè)從硬件資源的升級轉(zhuǎn)變?yōu)檐浖腿瞬刨Y源的升級,作為“CPU+GPU”異構(gòu)計算的重要推動者,NVIDIA也將繼續(xù)在推動天津超算中心未來的發(fā)展和應(yīng)用中扮演重要的角色。
后記:隨著環(huán)境問題不斷加劇,綠色節(jié)能已經(jīng)成為當(dāng)今全球范圍內(nèi)最受關(guān)注話題之一,“CPU+GPU”異構(gòu)計算的架構(gòu)將會在未來的HPC領(lǐng)域更大的空間,當(dāng)前,異構(gòu)計算生態(tài)系統(tǒng)正在不斷成熟壯大,越來越多的組織和機構(gòu)加入到異構(gòu)計算的隊伍,基于“CPU+GPU”架構(gòu)的應(yīng)用不斷豐富,全球范圍內(nèi)的超算中心或?qū)⒂瓉硪粋€異構(gòu)計算的新時代。