高性能計(jì)算的另類思維
隨著IBM高性能計(jì)算機(jī)“走鵑”于2008年6月誕生,高性能計(jì)算機(jī)(HPC)邁入千萬(wàn)億次門檻。用戶對(duì)高性能計(jì)算需求的持續(xù)增長(zhǎng),推動(dòng)著HPC規(guī)模越做越大。在由CPU構(gòu)成的高性能計(jì)算的世界中,由于CPU計(jì)算性能的提升速度遠(yuǎn)遠(yuǎn)落后于高性能計(jì)算需求增長(zhǎng)的速度,增加CPU的個(gè)數(shù)便成為提高HPC性能的主要途徑。如今全球高性能計(jì)算500強(qiáng)(Top500)中已經(jīng)出現(xiàn)內(nèi)核累計(jì)總數(shù)多達(dá)20多萬(wàn)個(gè)的HPC。
本文引用地址:http://m.butianyuan.cn/article/91321.htm但是,在提升性能的同時(shí),CPU個(gè)數(shù)的增加也給HPC增添了復(fù)雜性,并帶來(lái)可用性降低、系統(tǒng)功耗驚人、成本高居不下等問(wèn)題,讓HPC廠商日益感到頭痛。于是,高性能計(jì)算廠商開(kāi)始探索新的提升HPC性能的途徑。IBM的“走鵑”就是采用CPU和Cell處理器的混合架構(gòu),AMD和Intel也都分別對(duì)外發(fā)布了各自的CPU+GPU(圖形處理器)的混合架構(gòu)。
作為GPU領(lǐng)域龍頭老大的NVIDIA自然不會(huì)放棄在高性能計(jì)算這一CPU的傳統(tǒng)領(lǐng)地炫耀性能的機(jī)會(huì)。它先是推出了CUDA架構(gòu),使得程序員可以用C語(yǔ)言對(duì)CPU和基于CUDA架構(gòu)的GPU進(jìn)行統(tǒng)一編程,從而解決了因編程復(fù)雜而被程序員敬而遠(yuǎn)之所造成的GPU應(yīng)用難以普及的問(wèn)題。進(jìn)而,它又推出了面向高性能計(jì)算的Tesla系列GPU。2008年11月21日,NVIDIA在美國(guó)德克薩斯州奧斯汀市舉辦的2008超級(jí)計(jì)算大會(huì)上聯(lián)手HPC的巨頭Crayon推出個(gè)人HPC。與此同時(shí),會(huì)上公布的Top500中,采用Tesla技術(shù)的HPC首戰(zhàn)便占據(jù)了第29名的位置,標(biāo)志著NVIDIA從個(gè)人HPC和高端HPC全面切入高性能計(jì)算領(lǐng)域。
為此,本報(bào)記者獨(dú)家專訪了NVIDIA高性能計(jì)算事業(yè)部總經(jīng)理Andy Keane。
Andy Keane 2006年加盟NVIDIA,出任GPU計(jì)算事業(yè)部總經(jīng)理,全面負(fù)責(zé)這一全新業(yè)務(wù)部門的組建和運(yùn)營(yíng)。他曾為3dfx和QED的快速發(fā)展以及公開(kāi)上市做出了卓越貢獻(xiàn)。3dfx帶動(dòng)了消費(fèi)級(jí)3D圖形加速器的發(fā)展,而QED則是世界首批多核處理器供應(yīng)商之一。他還在Xilinx早期進(jìn)行的可重配置計(jì)算以及FPGA系統(tǒng)的開(kāi)發(fā)過(guò)程中發(fā)揮了重要作用。Keane還曾任職于英特爾生產(chǎn)設(shè)計(jì)部門,從事容錯(cuò)并行計(jì)算技術(shù)的生產(chǎn)設(shè)計(jì)。
最近,剛剛慶祝了十周歲生日的英特爾中國(guó)研究中心迎來(lái)了英特爾研究獲取的兩項(xiàng)最新成果——按Tick-Tock戰(zhàn)略完成下一代32納米芯片制造工藝開(kāi)發(fā)工作和在硅光電子領(lǐng)域做出基于硅的、擁有創(chuàng)世界紀(jì)錄性能和明顯成本優(yōu)勢(shì)的雪崩光電探測(cè)器。這兩項(xiàng)成果讓我們這些在英特爾內(nèi)部從事研發(fā)工作的人振奮不已。這種振奮,一方面是源于它們可以大大增強(qiáng)英特爾在技術(shù)上的領(lǐng)先地位和未來(lái)產(chǎn)品的競(jìng)爭(zhēng)力;另一方面,則是因?yàn)樗鼈儊?lái)的很是時(shí)候,正好趕上了大有愈演愈烈之勢(shì)的全球金融風(fēng)暴。
或許有朋友會(huì)問(wèn),英特爾發(fā)布技術(shù)創(chuàng)新成果,和眼下的經(jīng)濟(jì)形勢(shì)有什么關(guān)系?事實(shí)上,這場(chǎng)危機(jī)的影響已經(jīng)開(kāi)始從很多IT企業(yè)的業(yè)務(wù)部門波及到了研發(fā)部門,讓他們不得不開(kāi)始緊縮在研發(fā)上的投入。在這種情況下,英特爾是不是也要采取類似的措施,放慢技術(shù)創(chuàng)新的腳步?對(duì)于這個(gè)問(wèn)題,我們的董事會(huì)主席貝瑞特和CEO歐德寧早已做出了回答:即使全球經(jīng)濟(jì)出現(xiàn)衰退,英特爾也會(huì)堅(jiān)持對(duì)產(chǎn)品和技術(shù)領(lǐng)域的創(chuàng)新投入。
英特爾本身就是一個(gè)以領(lǐng)先產(chǎn)品和技術(shù)為安身立命之本的企業(yè),而且在過(guò)去40年的發(fā)展歷程中,它已經(jīng)形成了一個(gè)傳統(tǒng),那就是要用加大技術(shù)創(chuàng)新的力度方式來(lái)主動(dòng)對(duì)抗危機(jī),而不是僅僅依靠壓縮支出被動(dòng)地熬過(guò)困難期。因?yàn)楹笠环N策略即便奏效,也會(huì)讓公司大傷元?dú)?,無(wú)法在經(jīng)濟(jì)形勢(shì)轉(zhuǎn)暖時(shí)迅速恢復(fù)原有的競(jìng)爭(zhēng)力,而前一種辦法不但有助于公司在危機(jī)后獲得進(jìn)一步拓展業(yè)務(wù)領(lǐng)域和競(jìng)爭(zhēng)優(yōu)勢(shì)的機(jī)會(huì),甚至在危機(jī)持續(xù)過(guò)程中,它也可能為公司找到新增長(zhǎng)點(diǎn),化危機(jī)為轉(zhuǎn)機(jī)。
早在上世紀(jì)70年代中期第一次石油危機(jī)導(dǎo)致美國(guó)經(jīng)濟(jì)蕭條時(shí),英特爾就堅(jiān)持走技術(shù)創(chuàng)新的道路,并給剛畢業(yè)的大學(xué)生提供了很多機(jī)會(huì),這種看似逆勢(shì)而為的做法不但沒(méi)有讓當(dāng)時(shí)成立只有數(shù)年的英特爾倒下,反而還提升了公司在產(chǎn)業(yè)和市場(chǎng)上的影響力。在80年代中期美國(guó)半導(dǎo)體存儲(chǔ)行業(yè)因日本同行壓價(jià)行為而受到強(qiáng)力沖擊時(shí),英特爾再次憑借在處理器領(lǐng)域的技術(shù)創(chuàng)新,用最快的速度從一家以半導(dǎo)體存儲(chǔ)器為主營(yíng)業(yè)務(wù)的企業(yè)轉(zhuǎn)型成為一家處理器制造商,從而避過(guò)了那次危機(jī),并為我們催生全球PC和互聯(lián)網(wǎng)革命打下了基礎(chǔ)。在2000年前后.com泡沫破滅,全球IT產(chǎn)業(yè)進(jìn)入寒冬時(shí),英特爾又是在很多同行都削減研發(fā)投資時(shí),反其道而行之,加大了對(duì)技術(shù)創(chuàng)新的投資,最終使公司憑借迅馳平臺(tái)這樣的突破性創(chuàng)新技術(shù)獲得了新的、更具增值潛力的發(fā)展機(jī)會(huì),實(shí)現(xiàn)了持續(xù)穩(wěn)定的發(fā)展。
這些過(guò)往的經(jīng)歷讓我們認(rèn)識(shí)到,每次危機(jī)就好比是一次考驗(yàn),只有把它的壓力轉(zhuǎn)變?yōu)閯?dòng)力,積極革新和完善自身,才有可能避免損失,并獲取進(jìn)一步強(qiáng)大的資本。因此對(duì)一家以技術(shù)研發(fā)為核心競(jìng)爭(zhēng)力的IT企業(yè)來(lái)說(shuō),越是在危機(jī)時(shí)刻,就越要加注創(chuàng)新、拓展新的市場(chǎng)機(jī)遇。如果產(chǎn)業(yè)界有更多同仁能夠在這次經(jīng)濟(jì)危機(jī)中堅(jiān)持這一策略,并攜起手來(lái)迅速推廣每一項(xiàng)創(chuàng)新成果,兌現(xiàn)它們應(yīng)有的價(jià)值,那么整個(gè)IT產(chǎn)業(yè)擺脫危機(jī)影響,也就可以是一件指日可待的事情了。
越是危機(jī)時(shí)刻 越要重視創(chuàng)新。
HPC中的GPU
記者:GPU在高性能計(jì)算中的性能已經(jīng)到達(dá)了何種地步?
Keane:CPU的運(yùn)算速度在很大程度上還取決于緩存的大小,而GPU則是在任務(wù)并行化后用大量的線程來(lái)進(jìn)行運(yùn)算。雖然CPU已經(jīng)多核心化,可以多達(dá)8個(gè)內(nèi)核,但在并行計(jì)算時(shí),顯然不是GPU上千個(gè)線程的對(duì)手。
比利時(shí)有所大學(xué),以前用的是512個(gè)CPU組建的HPC,當(dāng)他們了解到GPU的運(yùn)行功能很強(qiáng)后,試著自己搭建了一臺(tái)配置有8個(gè)GPU的臺(tái)式機(jī),結(jié)果性能竟與以前512個(gè)CPU的HPC不相上下。
記者:既然GPU的性能遠(yuǎn)遠(yuǎn)超過(guò)CPU,那么NVIDIA何時(shí)開(kāi)始關(guān)注GPU的計(jì)算能力?
Keane:15年前,我們就開(kāi)始針對(duì)3D游戲開(kāi)發(fā)GPU了。但GPU的編程很復(fù)雜,因而應(yīng)用主要是集中在圖形顯示領(lǐng)域。之后,我們開(kāi)發(fā)了CUDA架構(gòu),你可以把CUDA想象成與x86相似的硬件架構(gòu),它允許應(yīng)用開(kāi)發(fā)者用他們熟悉的語(yǔ)言對(duì)GPU進(jìn)行快速編程,從而為GPU拓寬了應(yīng)用范圍。現(xiàn)在,NVIDIA所有的GPU都支持CUDA架構(gòu)。
記者:懂得計(jì)算機(jī)的人都知道,并行編程要比串行編程復(fù)雜得多。程序員如何在CUDA平臺(tái)上對(duì)CPU和GPU統(tǒng)一編程?
Keane:盡管CPU與GPU之間在架構(gòu)上存有很大的區(qū)別,但我們覺(jué)得CPU與GPU的結(jié)合才是最好的計(jì)算架構(gòu)。于是我們?cè)贑UDA上推出了C語(yǔ)言編譯器,程序員在開(kāi)發(fā)應(yīng)用程序時(shí),只要對(duì)序列執(zhí)行的程序代碼和并行執(zhí)行的程序代碼簡(jiǎn)單地進(jìn)行標(biāo)注,C編譯器就可以向PC解釋哪部分該由CPU做,哪部分該由GPU做。
記者:CUDA的編程看來(lái)不難,那么搭建一個(gè)個(gè)人HPC難不難?
Keane:用Tesla組建個(gè)人HPC是件很容易的事。你只要把買到的Tesla卡插到PC主板上的PCI插槽,你的PC就變成了1臺(tái)個(gè)人HPC。
記者:Tesla貴嗎?
Keane:4個(gè)GPU的價(jià)格在9500美元~1萬(wàn)美元之間,3個(gè)GPU的Tesla價(jià)格為7000多美元。但與同等價(jià)位的工作站相比,我們的性能應(yīng)該有百倍的提升。
記者:我們看到現(xiàn)在全球性能最高的HPC“走鵑”所采用的CELL處理器實(shí)際上就是一個(gè)集成了8個(gè)流處理器和一個(gè)CPU內(nèi)核的處理器,而GPU也是由數(shù)百個(gè)流處理器構(gòu)成的。你是如何看待CELL的?
Keane:CELL的編程要比CUDA復(fù)雜得多。CUDA本身就是一個(gè)GPU架構(gòu),我們所有GeForce、Quadro和Tesla產(chǎn)品線都可以很完美地對(duì)其提供支持。它的編程模式是很簡(jiǎn)單的,語(yǔ)言與C語(yǔ)言非常接近,編譯器與C語(yǔ)言也基本一致。唯一的改變是將之前的串行計(jì)算更新為并行計(jì)算。在過(guò)去的一年中,CUDA積累了大量的應(yīng)用程序,而且在美國(guó),也有很多活躍的論壇討論CUDA的編程問(wèn)題。我們也在CUDA中文網(wǎng)站上開(kāi)設(shè)了CUDA中國(guó)專區(qū),上面有144個(gè)使用的案例。對(duì)于程序員而言,這些編碼都是開(kāi)放的。
記者:在基于Tesla搭建的HPC中,GPU與CPU從指令集上看是異構(gòu)的。而英特爾最新展示的具有80個(gè)內(nèi)核的Larrabee卻采用的是x86指令集,從而實(shí)現(xiàn)了CPU和GPU在指令集上的兼容,對(duì)于程序員來(lái)說(shuō),這是否會(huì)比Tesla編程更為容易呢?
Keane:我并不這樣認(rèn)為。在NVIDIA的CUDA平臺(tái)上,不管面對(duì)何種架構(gòu),編程人員都可以用很普及的C語(yǔ)言去對(duì)CPU和GPU進(jìn)行統(tǒng)一編程。對(duì)于程序員來(lái)說(shuō),Tesla的編程是很簡(jiǎn)單的。而Larrabee無(wú)法用C語(yǔ)言來(lái)編程,程序員要學(xué)習(xí)這種新架構(gòu)和它的語(yǔ)言并用兩種語(yǔ)言分別對(duì)CPU和GPU進(jìn)行編程。
記者:AMD選擇GPGPU(通用GPU)來(lái)切入高性能計(jì)算領(lǐng)域,對(duì)此你有何見(jiàn)解?
Keane:關(guān)鍵要看它的普及率了。這里有兩個(gè)數(shù)據(jù):英特爾x86處理器市場(chǎng)占有85%的份額,AMD只占15%;同時(shí),AMD的FireStream只有5%的使用率。你為客戶定制產(chǎn)品的確會(huì)又好又快,但如果產(chǎn)量不高,成本無(wú)法有效攤薄,價(jià)格就會(huì)非常高。 而我們主要針對(duì)主流市場(chǎng),用更加標(biāo)準(zhǔn)的界面來(lái)制作,讓用戶很容易使用,而且有能力承受。我們能夠讓很多研究人員將原本要跑到數(shù)據(jù)中心去做的計(jì)算轉(zhuǎn)移到插有Tesla卡的工作站上,并很容易地獲得高性能計(jì)算的體驗(yàn)。
應(yīng)用領(lǐng)域
記者:TOP 500中,x86架構(gòu)CPU已經(jīng)占據(jù)了90%的地盤。請(qǐng)問(wèn)Tesla進(jìn)入高性能計(jì)算市場(chǎng)的機(jī)會(huì)有多大?
Keane:幾乎是100%。我們強(qiáng)調(diào)的是異構(gòu)計(jì)算,GPU不可能完全取代CPU,只是能顯著地減少CPU的數(shù)量。如果我們從另外一個(gè)角度上看這個(gè)問(wèn)題,其實(shí)全都采用一樣的架構(gòu)未必是件好事。如同在GPU領(lǐng)域,因?yàn)橛形覀僄PU、Intel的Larrabee和AMD的ATI的存在,因此大家可以互相激勵(lì),充分開(kāi)展競(jìng)爭(zhēng),刺激創(chuàng)新。但是服務(wù)器領(lǐng)域的架構(gòu)幾乎統(tǒng)一,這對(duì)創(chuàng)新是不利的。
記者:那么在工作站方面呢?
Keane:工作站的限制主要在于工作站機(jī)箱內(nèi)部空間的限制,例如工作站的電源只能提供1000W的功率,那么,我們可以在這1000W之內(nèi)給你提供盡可能高的計(jì)算性能,比如說(shuō)1T的性能。
記者:無(wú)疑,Tesla個(gè)人高性能計(jì)算機(jī)的性能遠(yuǎn)好于現(xiàn)在的工作站,但目前工作站上的很多應(yīng)用軟件都是基于UNIX系統(tǒng),廠商們?cè)敢獍阉鼈円浦驳絋esla平臺(tái)上嗎?
Keane:這些開(kāi)發(fā)商面臨著決定應(yīng)用何種并行運(yùn)算解決方案的選擇。其中之一為多核CPU解決方案,即將計(jì)算工作分配到雙核、四核甚至八核上。這樣,對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),如果他們要想通過(guò)并行計(jì)算來(lái)得到性能的提升,就必須將應(yīng)用分解為4塊甚至8塊。這其中最大的挑戰(zhàn)是如何將計(jì)算工作劃分為完全均衡的4塊或者8塊。另外一種解決方案類似Intel的Larrabee,開(kāi)放人員可以用比多核解決方案更為簡(jiǎn)單的方式解決并行計(jì)算的問(wèn)題。但是針對(duì)并行運(yùn)算,GPU架構(gòu)可以非常簡(jiǎn)單地實(shí)現(xiàn)非常大規(guī)模的并行計(jì)算。如果你要按照時(shí)間和效率來(lái)衡量這幾種選擇方案,GPU無(wú)疑是效率最高的。
記者:未來(lái)工作站會(huì)不會(huì)被Tesla個(gè)人超級(jí)計(jì)算機(jī)替代?
Keane:對(duì)于任何使用集群的用戶,都有應(yīng)用Tesla GPU的需要。我將努力說(shuō)服他們中的所有人。利用工作站進(jìn)行高性能計(jì)算的用戶也是我們的目標(biāo)人群,我們也希望讓他們認(rèn)識(shí)到我們的好處。事實(shí)上,如果用戶很看重預(yù)算和效率,對(duì)成本和時(shí)間很敏感,那么Tesla對(duì)他們來(lái)說(shuō)就很有價(jià)值。
未來(lái)發(fā)展
記者:在CPU領(lǐng)域,虛擬化是一個(gè)很時(shí)尚的話題,Tesla也能虛擬化嗎?
Keane:如果CPU可以做到虛擬化,那么GPU也可以做到虛擬化。因?yàn)樗麄兌际腔谔幚砥骷軜?gòu)的。就好像將GPU作為CPU的一個(gè)資源,只要CPU可以實(shí)現(xiàn)虛擬化,那么GPU也可以作為CPU的資源實(shí)現(xiàn)虛擬化。
記者:Tesla現(xiàn)在使用C語(yǔ)言編程。我們知道C語(yǔ)言與硬件很容易結(jié)合,也易于控制。聽(tīng)說(shuō)NV還要在Tesla上使用Fortran,這樣會(huì)不會(huì)影響到效率?未來(lái)還會(huì)有其他語(yǔ)言嗎?
Keane:Fortran是非常結(jié)構(gòu)化的語(yǔ)言,并行計(jì)算的性能非常好,在GPU上的執(zhí)行效率甚至更高。同時(shí),在未來(lái)我們還將增加C++等語(yǔ)言。
記者:既然在Tesla計(jì)算機(jī)中,Tesla GPU要與CPU協(xié)同工作,那么,未來(lái)GPU和CPU會(huì)不會(huì)集成在一個(gè)芯片上?
Keane:我們不認(rèn)為GPU和CPU將會(huì)融合。因?yàn)槟壳癎PU的設(shè)計(jì)比CPU還要復(fù)雜,GPU擁有更多的核心,更高的內(nèi)存容量,芯片的面積也很大。我們的客戶也對(duì)計(jì)算性能和內(nèi)存提出更高的要求。我們所能做的是提升制造工藝,從而降低芯片的面積。
我們當(dāng)然可以把一個(gè)小型CPU集成進(jìn)來(lái),但這樣對(duì)GPU計(jì)算性能的提升并沒(méi)有益處。就高性能計(jì)算而言,高速異構(gòu)計(jì)算架構(gòu)是一個(gè)CPU搭配多個(gè)GPU,然后更多的CPU搭配更多的GPU,這樣,GPU就可以發(fā)揮加速器的作用。
記者:既然高性能計(jì)算市場(chǎng)這么大, NVIDIA會(huì)不會(huì)借助Tesla成為HPC廠商?
Keane:不會(huì)的。我們的優(yōu)勢(shì)就在GPU上,我們也生產(chǎn)主板,但是我們的研發(fā)都是投在GPU上。這一點(diǎn),我們的CEO說(shuō)得很清楚,NVIDIA會(huì)一直專注在GPU上,不會(huì)在其他地方分神。
評(píng)論