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