霍 光
曾幾何時(shí),CPU就是計(jì)算領(lǐng)域的絕對(duì)主宰。不過(guò),當(dāng)GPU不僅僅被應(yīng)用在圖形方面,它就開(kāi)始占據(jù)計(jì)算的一席之地。而未來(lái),它更可能成為計(jì)算的新的中堅(jiān)力量。隨著開(kāi)發(fā)工具的日趨成熟,GPU的應(yīng)用領(lǐng)域得到了不斷的拓展。
近日,中國(guó)科學(xué)院和清華大學(xué)分別被授予CUDA卓越中心,同時(shí),NVIDIA在中國(guó)舉辦的CUDA編程競(jìng)賽——CUDA未來(lái)之星評(píng)選也告一段落。這次評(píng)選中,很多優(yōu)秀的CUDA應(yīng)用涌現(xiàn)出來(lái),將GPU計(jì)算向前推進(jìn)了一大步。這次競(jìng)賽展示了中國(guó)科學(xué)院和清華大學(xué)在GPU計(jì)算方面的豐碩教學(xué)成果,顯示了中國(guó)在GPU計(jì)算方面的實(shí)力。
低成本高效率
今天,超級(jí)計(jì)算系統(tǒng)已經(jīng)被廣泛應(yīng)用在科學(xué)計(jì)算、石油石化、冶金、氣象等眾多領(lǐng)域。然而,很多模型模擬過(guò)程非常復(fù)雜,即使使用大規(guī)模的計(jì)算系統(tǒng),計(jì)算同樣需要很長(zhǎng)的時(shí)間。同時(shí),峰值性能和持續(xù)性能的不一致也帶來(lái)了計(jì)算的瓶頸。
在CUDA卓越中心授牌儀式上,來(lái)自中科院和清華的專(zhuān)家學(xué)者們展示了其研究成果。
中科院基因組研究所將在當(dāng)今生物信息學(xué)領(lǐng)域得到廣泛應(yīng)用的BLAST算法向GPU進(jìn)行了移植。這是一套針對(duì)DNA、蛋白序列數(shù)據(jù)庫(kù)的序列查詢(xún)算法和軟件包。盡管BLAST處理少量序列的速度不慢,但隨著DNA側(cè)序技術(shù)的飛速發(fā)展,研究人員可以在短短幾天內(nèi)得到海量序列數(shù)據(jù),這樣,對(duì)這些數(shù)據(jù)的分析就成了瓶頸。
通過(guò)從串行到并行的轉(zhuǎn)變,BLAST算法成功在GPU上得以實(shí)現(xiàn),大大提升了效率。根據(jù)中科院的實(shí)踐結(jié)果,基于NVIDIA Tesla平臺(tái)的BLAST軟件中的一個(gè)關(guān)鍵模塊運(yùn)行速度比單個(gè)CPU快35倍。
基于GPU,中科院過(guò)程所建立了一臺(tái)自己的超級(jí)計(jì)算系統(tǒng)。與通用系統(tǒng)比較,運(yùn)營(yíng)系統(tǒng)成本從約2億元降到不到2000萬(wàn)元,峰值能耗從約1.5兆瓦降至不到0.3兆瓦,占地面積也明顯減少,然而其效率卻很高。在對(duì)中石化清潔汽油工藝的放大和優(yōu)化模擬程序中,進(jìn)行內(nèi)部結(jié)構(gòu)優(yōu)化時(shí),單CPU的處理效率為每天計(jì)算可以模擬4~5秒現(xiàn)實(shí)時(shí)間,而單GPU在一個(gè)小時(shí)內(nèi)就可模擬3~5秒現(xiàn)實(shí)時(shí)間。
清華大學(xué)計(jì)算機(jī)系副系主任陳文光教授對(duì)GPU編程進(jìn)行了理論探討。他也展示了在EDA模擬方面GPU的高運(yùn)行效率。他指出,在某些邏輯模擬方面,GPU的效率可以提升10~100倍;在DSP-FIR filtering的模擬上,GPU的效率提升可達(dá)280倍之多。
API推動(dòng)應(yīng)用前進(jìn)
毋庸置疑,NVIDIA在2006年成功推出的CUDA架構(gòu)是最早大規(guī)模應(yīng)用的GPU計(jì)算架構(gòu)。它具備一個(gè)更適合于并行計(jì)算的架構(gòu),提供了硬件的直接訪問(wèn)接口,并率先提供了針對(duì)GPU編程的C語(yǔ)言開(kāi)發(fā)環(huán)境。
不過(guò),當(dāng)GPU計(jì)算日漸火熱,新的異構(gòu)計(jì)算運(yùn)算應(yīng)用程序接口也逐漸出臺(tái)。OpenCL和DirectX Compute就是兩個(gè)代表性產(chǎn)品。
OpenCL是由曾推出OpenGL的開(kāi)發(fā)組織Khronos推出。而DirectX Compute則將被包含在微軟的DirectX 11中。
比較起來(lái),CUDA的優(yōu)勢(shì)在于,它不僅僅是一套程序接口,更是一套包含基礎(chǔ)的GPU架構(gòu)及其上的軟件環(huán)境的整體解決方案,它同樣支持OpenCL或DirectX等API。
實(shí)際上,無(wú)論是OpenCL還是DirectX Compute,都是NVIDIA非常歡迎的。NVIDIA總裁黃仁勛向記者表示,NVIDIA的目標(biāo)是推動(dòng)整個(gè)GPU計(jì)算的前進(jìn),在GPU計(jì)算方面的每一個(gè)API都是GPU計(jì)算前進(jìn)的動(dòng)力。同時(shí),黃仁勛也表示,CUDA的優(yōu)勢(shì)在于,它是一整套軟硬件架構(gòu),因而可以廣泛應(yīng)用在Windows、Linux等不同的應(yīng)用環(huán)境中。
另一方面,由于OpenCL和DirectX在消費(fèi)類(lèi)軟件中的影響力,“異構(gòu)計(jì)算”有望在個(gè)人用戶(hù)中得到更廣泛的應(yīng)用,真正實(shí)現(xiàn)系統(tǒng)整體計(jì)算能力的最大化。