一般HPC都是做工程、橋梁飛機(jī)制造以及彈道等方面的計(jì)算及應(yīng)用工作,因此這些應(yīng)用對(duì)浮點(diǎn)運(yùn)算的要求比較高。而我們AMD的處理器做浮點(diǎn)運(yùn)算一直相當(dāng)出色,64位、直連架構(gòu)等特性都對(duì)HPC最終走向平民化起到了一個(gè)推動(dòng)作用,像現(xiàn)在TOP500中的Cray也采用的是我們AMD的皓龍芯片。
還有一個(gè)就是我們今年推出的Magny-cours 8核/12核產(chǎn)品,對(duì)HPC應(yīng)用上有出色的表現(xiàn)。其實(shí)HPC按照應(yīng)用來(lái)分,有的就可以用我們高端的皓龍6000系列芯片,而有的用我們的皓龍4000系列芯片就能夠滿(mǎn)足,最關(guān)鍵的是看你想用HPC來(lái)做什么。我們之所以會(huì)分成4000和6000兩個(gè)系列,就是因?yàn)橐槍?duì)不同的應(yīng)用?,F(xiàn)在雙路的應(yīng)用占有了75%之多的市場(chǎng),從某種角度來(lái)說(shuō)某些低端的應(yīng)用也可以做HPC,原先HPC也叫做集群,就是一組服務(wù)器放在一起統(tǒng)一管理,對(duì)某些經(jīng)費(fèi)有限的用戶(hù),比如大學(xué)或互聯(lián)網(wǎng)用戶(hù),皓龍4000系列處理器是非常合適的,因?yàn)樾詢(xún)r(jià)比很高。
DoSERV記者:如果從技術(shù)上來(lái)講,AMD的芯片在HPC優(yōu)化上能夠起到什么作用呢?
劉文卓先生:目前來(lái)講,我認(rèn)為功耗和性能是困擾HPC的兩大難題。以之前我們合作伙伴曙光5000A超級(jí)計(jì)算機(jī)為例,他們告訴我這臺(tái)機(jī)器僅一天的用電費(fèi)用就達(dá)到了1.6萬(wàn)到2萬(wàn)元,而現(xiàn)在我們的能源又那么緊缺,所以功耗的節(jié)省成為了HPC優(yōu)化的核心問(wèn)題。我們AMD 8/12核的產(chǎn)品不但性能有幾乎兩部的提升,而且可以為HPC應(yīng)用動(dòng)態(tài)降低能耗,它可以根據(jù)不同的應(yīng)用關(guān)掉暫時(shí)無(wú)負(fù)載的核心,當(dāng)機(jī)房供電能力不夠的時(shí)候可以對(duì)系統(tǒng)進(jìn)行功耗上限設(shè)置,或者通過(guò)AMD的PowerNow!等技術(shù)來(lái)完成能耗的節(jié)省。
DoSERV記者:現(xiàn)在有很多超級(jí)計(jì)算機(jī)都采用了CPU+GPU的混合計(jì)算模式,AMD在這個(gè)趨勢(shì)上也是領(lǐng)軍者之一,是什么促使AMD認(rèn)為這種模式可以為HPC帶來(lái)更大的性能提升呢?在這種處理器架構(gòu)模式上,AMD是怎么考慮和設(shè)計(jì)的呢?
劉文卓先生:CPU按照我們常用的摩爾定律來(lái)說(shuō),一般的更新?lián)Q代時(shí)間是18個(gè)月,也就是說(shuō)它能夠在18個(gè)月后性能就可以翻一番。而GPU的更新速度是CPU的1.5倍,也就是說(shuō)通常12個(gè)月的時(shí)間GPU的性能就翻了一番。大概五年前,CPU和GPU的晶體管數(shù)量是差不多的,而現(xiàn)在A(yíng)MD的GPU的最頂端產(chǎn)品擁有超過(guò)20億個(gè)晶體管,我們AMD的四核CPU產(chǎn)品有超過(guò)7億多個(gè)晶體管,這樣一來(lái)差距已經(jīng)差出很多來(lái)了。CPU相對(duì)來(lái)說(shuō)體系結(jié)構(gòu)復(fù)雜很多,有計(jì)算單元,有緩存,還有其他的邏輯部件如分支運(yùn)算的預(yù)測(cè)等工作,而GPU則相對(duì)簡(jiǎn)單,大部分是應(yīng)用在顯示運(yùn)算上的。
GGPU里面大約有超過(guò)40%是邏輯運(yùn)算單元,而CPU只有5%是邏輯運(yùn)算單元,所以說(shuō)單純從運(yùn)算速度來(lái)說(shuō),發(fā)展到現(xiàn)在,GPU比CPU要快很多。像我們的最快的12核心的皓龍CPU,主頻2.3GHz,運(yùn)算峰值為110.4Gflops。而我們最快的GPU Radeon HD 5970,含有3200個(gè)流計(jì)算單元,單精度32位的運(yùn)算峰值速度是4.64Teraflops,是CPU的42倍,雙精度64位是CPU 的8倍。對(duì)于一些特殊應(yīng)用,其加速比甚至可以上百倍。剛才講的能耗問(wèn)題,我們?cè)煲粋€(gè)超級(jí)計(jì)算機(jī)一天就要消耗掉2萬(wàn)元人民幣的電,如果采用GPU的話(huà),整個(gè)系統(tǒng)的規(guī)模就可以大大降低,同樣的計(jì)算能力GPU可以把能耗降到1/5或不到一半的規(guī)模。
像上次我在國(guó)外開(kāi)的一個(gè)超算會(huì)議,研究GPU運(yùn)算在國(guó)外很火,超過(guò)一半的HPC的應(yīng)用研發(fā)都集中在GPU上,大家都在研究如何在GPU上計(jì)算。其實(shí)對(duì)編程人員來(lái)說(shuō),在GPU上是很難做編程的,因?yàn)樗脑O(shè)計(jì)是為顯示用的,不是做計(jì)算的。但發(fā)展到現(xiàn)在,它的每瓦性能又確實(shí)很高,所以大家都在努力做編程以及遷移。
而我們?cè)谶@方面,AMD整合了ATI,所以在GPU技術(shù)上有著得天獨(dú)厚的優(yōu)勢(shì)。不過(guò),就目前來(lái)講,要把這樣的模式用好還很困難,我國(guó)的天河一號(hào)就采用了這種模式,但是要完全用好和充分發(fā)揮GPU的計(jì)算力至今還是一個(gè)難題,所以這里面還有很長(zhǎng)的路要走。
我們正在筆記本和臺(tái)式機(jī)上開(kāi)發(fā)一些利用GPU做加速運(yùn)算的應(yīng)用,到明年我們的新的Fusion平臺(tái)發(fā)布的時(shí)候大家就能看到,非常值得期待。,相信未來(lái)也可以遷移到服務(wù)器平臺(tái)。所以從此可以看出來(lái),GPU+CPU是肯定要做的事,而且日后也肯定會(huì)遷移到這個(gè)平臺(tái)上面。
DoSERV記者:從某種意義上講,內(nèi)存是CPU與I/O設(shè)備溝通的一個(gè)巨大的緩沖區(qū),是最為繁忙的數(shù)據(jù)跳轉(zhuǎn)站,而如果想要充分發(fā)揮CPU的浮點(diǎn)運(yùn)算性能,充足的內(nèi)存帶寬是必不可少的。而CPU作為HPC的核心,也必須擁有足夠的內(nèi)存通道,AMD在這方面有著那些準(zhǔn)備和計(jì)劃?還有在處理器架構(gòu)和協(xié)處理器設(shè)計(jì)上,AMD采取了怎樣的方式對(duì)內(nèi)存通道進(jìn)行優(yōu)化呢?這樣的優(yōu)化能夠?yàn)檎麄€(gè)HPC的優(yōu)化帶來(lái)怎樣的影響?
劉文卓先生:這個(gè)問(wèn)題很好。在目前的計(jì)算機(jī)體系結(jié)構(gòu)中,CPU核心速度最快,其次是二級(jí)緩存,然后是三級(jí)緩存,然后是內(nèi)存,硬盤(pán)最慢,內(nèi)存與緩存之間有著數(shù)量級(jí)上的速度差別。03年,AMD就推出了直連架構(gòu),就是為了提高內(nèi)存的訪(fǎng)問(wèn)速度。直連架構(gòu)、內(nèi)存控制器對(duì)提升CPU的總體效能有很大幫助。
AMD在最新的12核處理器中將內(nèi)存通道從原來(lái)的兩個(gè)增加到了4個(gè)。要想提升浮點(diǎn)運(yùn)算效能,就要把浮點(diǎn)運(yùn)算單元中的管道盡量灌滿(mǎn),而內(nèi)存通道越多它就灌得越快,算得也就越快。而如果用GPU加速運(yùn)算,就會(huì)存在大量數(shù)據(jù)從CPU的主存復(fù)制到GPU的顯存中的一個(gè)傳輸問(wèn)題,它算完了還要復(fù)制回來(lái),這個(gè)來(lái)回的傳輸比較占用時(shí)間。在現(xiàn)在體系結(jié)構(gòu)上,把大規(guī)模的數(shù)據(jù)扔給GPU去算,要盡量讓它算時(shí)間長(zhǎng)一些再傳回來(lái),這樣的模式會(huì)比較合算。因?yàn)槿绻麄鹘oGPU數(shù)據(jù)的時(shí)間超過(guò)了CPU自己算出結(jié)果的時(shí)間,那就不合算了。還有如果讓它做迭代或遞歸這樣的復(fù)雜計(jì)算也不行,為什么呢?我們都知道GPU是做流計(jì)算的,顯示屏上的每個(gè)像素都是算出來(lái)的,而且每個(gè)像素之間都沒(méi)有邏輯關(guān)系。所以GPU比較適合處理并行數(shù)據(jù),就是那種沒(méi)有橫向相關(guān)性的數(shù)據(jù)和任務(wù)。比如像加密和解密這樣的數(shù)據(jù)之間無(wú)邏輯關(guān)系的數(shù)據(jù)以及分子動(dòng)力學(xué)的數(shù)據(jù)等等,都比較適合它來(lái)做計(jì)算。
現(xiàn)在A(yíng)MD計(jì)劃在臺(tái)式機(jī)筆記本中推出的Fusion芯片會(huì)將CPU、GPU整合在一起,讓它共享內(nèi)存控制器。不是常規(guī)的通過(guò)PCI-E總線(xiàn)傳數(shù)據(jù),而是通過(guò)內(nèi)存通道來(lái)傳送數(shù)據(jù),這樣一來(lái)就可以解決剛才所說(shuō)那個(gè)傳輸過(guò)程耗費(fèi)時(shí)間的問(wèn)題。我們現(xiàn)在做的第一個(gè)版本CPU和GPU的數(shù)據(jù)還是分開(kāi)來(lái)存,第二版的Fusion將會(huì)把采用數(shù)據(jù)共享的方式,消除了數(shù)據(jù)拷貝的代價(jià)。,我們未來(lái)計(jì)劃在服務(wù)器上也這么做。不過(guò),服務(wù)器需要更好的穩(wěn)定性還有OpenCL這樣的開(kāi)放環(huán)境,所以就比較復(fù)雜。
DoSERV記者:AMD現(xiàn)在已經(jīng)推出了12核心的Magny-coursCPU,堪稱(chēng)業(yè)界核心數(shù)最多的處理器,而且在A(yíng)MD之前的會(huì)議上,也表示它將面向HPC和云計(jì)算,那么從雙核、四核再到八核、十二核,HPC在核心上的優(yōu)化都有著那些變革?
劉文卓先生:多核肯定是一個(gè)趨勢(shì),我們除了今年的8/12核馬爾庫(kù)尼產(chǎn)品外,在明年還會(huì)推出推土機(jī)系列芯片,每個(gè)CPU的核心數(shù)量達(dá)到16核
。純粹追求主頻的技術(shù)路線(xiàn)已經(jīng)證明是行不通的,因?yàn)闊o(wú)法解決CPU的功耗問(wèn)題。其實(shí)單線(xiàn)程頻率的提高是有意義的,但是在沒(méi)辦法把主頻推到最高的時(shí)候,只能采用多核心來(lái)分擔(dān)處理任務(wù)的負(fù)擔(dān)。當(dāng)然了,太多核心也會(huì)碰到問(wèn)題,核心之間溝通的開(kāi)銷(xiāo)也會(huì)比較大,所以在我們做到16核的時(shí)候在考慮利用GPU來(lái)做加速運(yùn)算。
云計(jì)算是一個(gè)確定的發(fā)展趨勢(shì)。舉個(gè)例子,像我們過(guò)去會(huì)將銀子埋存起來(lái),后來(lái)怕被偷就有了錢(qián)莊以及銀行。以前各個(gè)地方都是打井,現(xiàn)在就變成了自來(lái)水?,F(xiàn)在我背著本到處跑,背著內(nèi)存硬盤(pán)等等,以后我就不需要一直帶著這些東西,我只要把這些東西都存在后臺(tái)就好了。這就是一個(gè)很明顯的事,像現(xiàn)在我們會(huì)把照片放到網(wǎng)上,還有電子郵件等等,都是典型的云應(yīng)用。
由于云計(jì)算涉及的系統(tǒng)數(shù)量特別大,多則能夠到數(shù)十萬(wàn)臺(tái)服務(wù)器。在構(gòu)建這樣的數(shù)據(jù)中心或云中心時(shí),首先考慮的就是功耗問(wèn)題,其次是價(jià)格問(wèn)題,最后是性能夠不夠用的問(wèn)題。而且云計(jì)算里很多互聯(lián)網(wǎng)的應(yīng)用中,CPU的使用率都不會(huì)超過(guò)30%,這樣一來(lái),我們的4/6核的皓龍4000系列處理器就正好能夠滿(mǎn)足這種大規(guī)模數(shù)據(jù)中心的應(yīng)用了。如果運(yùn)算上的需求很高,也可以用我們的皓龍6000系列,可以充分滿(mǎn)足他們的計(jì)算需求。所以未來(lái)是這樣的一個(gè)發(fā)展趨勢(shì)。
DoSERV記者:據(jù)我所知一般芯片廠(chǎng)商都會(huì)為芯片產(chǎn)品提供一些相關(guān)技術(shù)的支持,比如推出編譯器,增強(qiáng)系統(tǒng)性能等等,在這方面AMD有哪些產(chǎn)品可以作為支持呢?還有在這種編譯器的設(shè)計(jì)上能夠?qū)幾g性能的優(yōu)化起到那些幫助呢?
劉文卓先生:在軟件上呢,其實(shí)X86的編譯器已經(jīng)很成熟了。我們采用的是Open64這樣的開(kāi)源軟件,AMD在上面做了很多編譯器上的調(diào)優(yōu)、適合多核的一些優(yōu)化選項(xiàng)、數(shù)學(xué)庫(kù)等等,根據(jù)我們AMD產(chǎn)品上的一些特性與軟件做結(jié)合。在GPU加速運(yùn)算方面我們推廣業(yè)界標(biāo)準(zhǔn)OpenCL這樣的編程環(huán)境。現(xiàn)在我們也在考慮與國(guó)內(nèi)的一些軟件企業(yè)和研究機(jī)構(gòu)合作,因?yàn)檫@些年來(lái)我國(guó)的軟件水平有了很大的提高。
DoSERV記者:那剛才談的編譯性能能夠?qū)PC的優(yōu)化起到什么樣的作用?
劉文卓先生:編譯器對(duì)實(shí)際應(yīng)用的優(yōu)化是很重要的,有很多現(xiàn)實(shí)的案例,,我們的工程師只要在編譯器上修改一兩個(gè)選項(xiàng),整個(gè)系統(tǒng)的性能就會(huì)有很大的提升,尤其是在多核應(yīng)用中,有的程序編得不好,只能用到1-2個(gè)核心,但現(xiàn)在我們就可以充分利用所有的12個(gè)核心。以前,設(shè)計(jì)CPU的時(shí)候都是把指令集做完后再做編譯優(yōu)化,我們自從巴塞羅那處理器以后在設(shè)計(jì)下一代CPU的時(shí)候,就跟編譯器軟件廠(chǎng)商合作,詢(xún)問(wèn)他們要加什么指令,然后我們?cè)谠O(shè)計(jì)核心的時(shí)候就加入進(jìn)去。