GPU的新舞臺 通用計算領(lǐng)域大展拳腳
自誕生之日起,GPU的高速發(fā)展就一直沒有停歇過。GPU的出現(xiàn)將CPU從繁重的圖形運算中解放出來,大大提高了計算機(jī)圖形處理的速度和質(zhì)量,為用戶帶來了更真實、更絢麗的畫面。到了今天,主流GPU的圖形處理能力已經(jīng)滿足并超越了大部分電腦用戶的需求,而且電腦也不可能每時每刻都在運行三維程序和游戲。于是越來越多的人開始關(guān)注一個問題:擁有強(qiáng)大浮點運算能力的GPU還能做些什么?
通用計算,GPU大展拳腳
GPU的迅速發(fā)展帶來的并不只是頻率的提高,還產(chǎn)生了很多全新的圖形硬件技術(shù),使GPU具有流處理、高密集并行運算、可編程流水線等特性,從而極大地拓展了GPU的處理能力和應(yīng)用范圍。正是由于GPU具有高效的并行性和靈活的可編程性等特點,越來越多的研究人員和商業(yè)組織開始利用GPU完成一些非圖形繪制方面的計算,并開創(chuàng)了一個新的研究領(lǐng)域——GPGPU(通用計算圖形處理單元),其主要研究內(nèi)容是在圖形處理之外的其他領(lǐng)域,如何利用GPU進(jìn)行更為廣泛的科學(xué)計算。
將GPU用于通用計算的主要目的是為了加速計算,加速的動力來自于GPU在高性能計算方面所具有的優(yōu)勢:1.高效的并行性(這一功能主要是通過GPU多條繪制流水線的并行計算來實現(xiàn));2.高密集的運算(GPU具有128bit/256bit或更大的顯存位寬);3.超長圖形流水線(以數(shù)據(jù)吞吐量的最大化為目標(biāo),在并行處理大規(guī)模數(shù)據(jù)流方面具有明顯優(yōu)勢)。
目前,GPGPU已成功應(yīng)用于代數(shù)計算、流體模擬、數(shù)據(jù)庫應(yīng)用、頻譜分析等非圖形應(yīng)用領(lǐng)域,甚至包括智能信息處理系統(tǒng)和數(shù)據(jù)挖掘工具等商業(yè)化應(yīng)用。同時,也產(chǎn)生了一些針對GPU開發(fā)的通用計算工具包,能夠基于GPU平臺排序及線性方程組求解等科學(xué)計算進(jìn)行優(yōu)化實現(xiàn)。
軟硬兼施,應(yīng)用更高效
光看GPGPU超越CPU的浮點運算能力的確令人興奮,但真正的應(yīng)用卻難以實現(xiàn)。這是因為圖形API限制太大,要通過DirectX、OpenGL等API來執(zhí)行其他應(yīng)用,不僅算法和程序會變得很復(fù)雜,還有大量的額外運算開銷。隨著GPU進(jìn)入DX10時代,統(tǒng)一渲染架構(gòu)在可編程性上更加靈活。而要充分發(fā)揮GPU通用計算性能,必須“拋棄”傳統(tǒng)的圖形API,NVIDIA適時推出了CUDA(統(tǒng)一計算設(shè)備架構(gòu))。
從GeForce 8系列產(chǎn)品開始,NVIDIA的GPU全部支持CUDA技術(shù)。軟件開發(fā)人員可以基于CUDA平臺開發(fā)計算軟件,借助這些軟件和GPU,用戶可以用比以往少得多的時間完成很多計算任務(wù)。
目前,CUDA已經(jīng)在游戲、圖形動畫、科學(xué)計算、地質(zhì)、生物、物理模擬等領(lǐng)域顯示出了威力。例如,以前將一系列2D X光圖像合成為3D圖像需要耗費5個小時,而通過CUDA和GPU可以將這個過程縮短為5分鐘。在模擬電腦波、視覺和嗅覺感官計算領(lǐng)域,CUDA讓CPU和GPU協(xié)同工作獲得了130倍的性能提升。在金融行業(yè),NVIDIA和財務(wù)分析軟件廠商Hanweek合作,在其股票和期權(quán)分析軟件中加入GPU加速功能,結(jié)果不到1秒鐘就完成對美國所有上市股票的期權(quán)分析。
乳癌超聲波檢測采用GPU加速及CUDA編程,處理時間由幾小時縮短至15分鐘
另外,Adobe最近發(fā)布的Photoshop CS4也支持GPU加速,Photoshop CS4里打開一個2GB大小、4.42億像素的圖片只需幾秒鐘,而對圖片進(jìn)行縮放、旋轉(zhuǎn)也不再“卡殼”。以往令人頭痛的全景圖拼合,在GPU的幫助下也能在瞬間完成。
Photoshop CS4加入了對CUDA的支持 #p#page_title#e#
并行計算時代的競爭
從上面可以看出,由于GPU架構(gòu)非常適用于需要高并行量的計算任務(wù),所以它在執(zhí)行金融分析、氣象預(yù)報、數(shù)據(jù)庫分析及人工智能等計算任務(wù)時具有很強(qiáng)的優(yōu)勢,圖形市場似乎面臨新的發(fā)展機(jī)遇。不過,看準(zhǔn)這個市場的除了NVIDIA之外,還有Intel和AMD兩個老牌芯片廠商和軟件巨頭微軟。
Intel計劃在2009年推出一款特殊的處理器——Larrabee。具有32個內(nèi)核的Larrabee不但能完成高質(zhì)量的圖形渲染,還能同時進(jìn)行大量的計算任務(wù),其浮點運算性能可媲美頂尖的GPU。除了運算能力出眾以外,Larrabee還帶來了一套基于x86的標(biāo)準(zhǔn)指令集。而作為GPU通用計算概念的另一個支持者,AMD雖然沒有拿出相應(yīng)的開發(fā)環(huán)境,但它提供的CTM瘦硬件接口,允許開發(fā)者直接訪問GPU的原生指令集和存儲器。另外,微軟也計劃在DX10.1中加入開發(fā)高并行計算程序所需的功能函數(shù),以便降低開發(fā)難度。
可以看到,由CUDA引發(fā)的市場和類似的技術(shù)正在啟動,隨著以這類技術(shù)為代表的可編程GPU技術(shù)的不斷成熟,未來的相關(guān)產(chǎn)品將變得無所不能,而并行計算時代的競爭也將異常激烈。
新技術(shù)讓生活更愉悅。
高端訪談
隨著技術(shù)的不斷發(fā)展,GPU的性能和功能越來越強(qiáng),特別是強(qiáng)大的浮點運算能力讓CPU也汗顏。不過,好馬也須配好鞍,硬件再強(qiáng),也要軟件扶持。近期比較熱門的CUDA就是NVIDIA為GPU量身定做的“馬鞍”。為了揭開CUDA的神秘面紗,本報記者采訪了NVIDIA亞太區(qū)市場總監(jiān)莊海鷗先生(以下簡稱莊):
記:GPU發(fā)展到今天,尤其是統(tǒng)一渲染架構(gòu)的實現(xiàn),其性能已經(jīng)遠(yuǎn)遠(yuǎn)超出了現(xiàn)有3D圖形計算領(lǐng)域的要求,GPU在通用計算方面的優(yōu)勢似乎沒有得到充分的發(fā)揮,對此您是怎么看的?
莊:是這樣的?;仡橤PU的發(fā)展過程我們不難發(fā)現(xiàn),GPU就是為了計算而生的。不過早期的GPU的發(fā)展比較“單純”,僅僅針對3D圖形計算領(lǐng)域。隨著技術(shù)的發(fā)展,GPU的可編程性越來越強(qiáng),特別是在GPU進(jìn)入DX10時代以后,統(tǒng)一渲染架構(gòu)在編程靈活性上獲得了進(jìn)一步的提升,GPU強(qiáng)大的浮點計算能力和數(shù)據(jù)流吞吐量使得人們希望用GPU來實現(xiàn)加速運算。這樣一來,不但可以提升整個PC平臺的計算性能,還可以大大拓展電腦的應(yīng)用領(lǐng)域和范圍。
記:CUDA能給我們?nèi)粘I罨蚬ぷ鲙硎裁礃拥膸椭?/strong>
莊:目前CUDA在許多領(lǐng)域已經(jīng)開始發(fā)揮重要的作用。比如在消費級領(lǐng)域,如果對一部兩小時的電影進(jìn)行視頻轉(zhuǎn)碼,單純依靠CPU可能需要6個小時甚至更長的時間,而借助一款針對GPU加速的Badaboom軟件,就可以在幾分鐘內(nèi)完成。此外,在醫(yī)療行業(yè),借助CUDA和GPU的加速功能,醫(yī)生對一些重大疾病的診斷速度也將大大加快。
記:您怎么看待CUDA的市場發(fā)展前景?它是否會成為一種行業(yè)標(biāo)準(zhǔn)?
莊:雖然目前許多浮點密集型應(yīng)用大多集中在高端科學(xué)領(lǐng)域,普通用戶只能從Photoshop、PowerDVD、Matlab等軟件中感受到GPU的威力,但隨著越來越多的研究人員致力于借助GPU完成視頻編碼、音頻處理等應(yīng)用,也許過不了多久,就會有越來越多的應(yīng)用程序加入到通用計算的行列。我認(rèn)為CUDA今后會成為高性能電腦的一個重要組成部分。從某種意義上說,CUDA已經(jīng)超越了一種行業(yè)標(biāo)準(zhǔn)的范疇。
記:前兩年業(yè)界曾經(jīng)提出過GPGPU的概念,現(xiàn)在NVIDIA又倡導(dǎo)CUDA平臺,請問這兩者之間有什么區(qū)別?
莊:傳統(tǒng)GPGPU仍然把GPU當(dāng)作一塊顯卡,使用DirectX或OpenGL之類的圖形API實現(xiàn)計算目的。而CUDA是專用于GPU計算的開發(fā)環(huán)境,它打破了圖形API的限制,普通編程人員在CUDA的幫助下,只要學(xué)習(xí)一點點GPU架構(gòu)知識,就能釋放出GPU強(qiáng)大的浮點運算能力。換句話說,CUDA的開發(fā)門檻大大降低了。
記:在CUDA在的推廣和發(fā)展方面,NVIDIA采取了哪些具體措施和方法?
莊:雖然現(xiàn)在很多人還不完全了解CUDA,但我們已經(jīng)采取了很多措施來加快CUDA的推廣和普及步伐。具體有以下幾個方面:一是聯(lián)合全球一些著名高校和研究機(jī)構(gòu),開設(shè)關(guān)于CUDA的教程;二是與許多科研機(jī)構(gòu)合作,幫助他們開發(fā)基于CUDA平臺的高性能軟件或程序;三是舉辦CUDA編程大賽,激發(fā)程序開發(fā)人員的熱情。目前僅從官方網(wǎng)站下載CUDA開發(fā)包的次數(shù)就達(dá)到了15萬次之多,而基于CUDA平臺進(jìn)行程序開發(fā)的人數(shù),據(jù)我們所知也有2萬以上?! ?/p>
記:在未來,電腦形態(tài)可能會有很大的變化,或許和我們現(xiàn)在看到的電腦有很大的區(qū)別,那么其中GPU又會以一個什么樣的形式存在?NVIDIA今后還會推出哪些更有利于我們生活的技術(shù)?
莊:你說的很對。在過去的這些年,人們使用電腦的方式發(fā)生了巨大的改變。以人機(jī)交流界面為例,早期是枯燥的字符(DOS)界面,后來隨著以Window為代表的圖形化操作系統(tǒng)的出現(xiàn),人機(jī)交流界面變成了2D圖形(Windows)。相信隨著新技術(shù)、新材料的發(fā)展和運用,人機(jī)交流界面一定會朝著高清、3D的方向發(fā)展。至于5年或10年后GPU會以什么樣的形態(tài)存在,現(xiàn)在還不好說。不過就NVIDIA來說,今后推出的新技術(shù)和新產(chǎn)品將從視覺體驗上(3D界面和3D內(nèi)容)給用戶帶來更多愉悅的享受。