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