什么運(yùn)算速度可以達(dá)至一般四核心CPU的100倍以上?
NVIDIA 26 日于美國圣荷西舉行的 NVISION 08 論壇上, NVIDIA 首席科學(xué)家 David Kirk 講述未來 CUDA 技術(shù)發(fā)展方向,認(rèn)為 GPU 不只是為了視覺運(yùn)算而生,未來角色將會進(jìn)一步強(qiáng)化,不僅針對財經(jīng)、科學(xué)及設(shè)計模擬運(yùn)算領(lǐng)域,更能針對一般主流應(yīng)用軟件進(jìn)行加速, NVIDIA GPU 將可協(xié)助 CPU 運(yùn)算加速,并成為未來 PC 內(nèi)部不可或缺的組件。
David Kirk 指出 CUDA 技術(shù)正在高速成長,其 CUDA Compiler ( 翻譯器 ) 由 2007 年 7 月僅有 ~ 2000 次下載,提升至 2008 年 4 月的 ~ 55,000 次,證明有更多程序設(shè)計師正在考慮采用 CUDA 技術(shù),并以 GPU 進(jìn)行運(yùn)算單元取代統(tǒng)傳的單純 CPU 運(yùn)算模式。
事實(shí)上, GPU 擁有大量的運(yùn)算單元,而且可以作平行運(yùn)算 ( Parallel Execution ) , CUDA 線程是極之輕型并且不會出現(xiàn)大量的 Overhead ,加上擁有實(shí)時切換的特性,令 GPU 同一時間可以處理超過 1000 個以上的 CUDA 線程,并且效率十分之高,指令周期可以達(dá)至一般四核心 CPU 的 100 倍以上。
此外, CUDA 程序是采用業(yè)界主流語言的 C Language ,并與 CPU 所采用的 C Language 完全相同,因此現(xiàn)有的程序設(shè)計師要為 CUDA 編寫程序并不困難,只是程序設(shè)計師要顧及平行運(yùn)算應(yīng)用,由比較直述的 Standard C Code 改為能同一時間進(jìn)行多個線程的 Parallel C Code ,才能完全發(fā)揮 GPU 擁有大量運(yùn)算單元的優(yōu)勢。
很多人會把 NVIDIA 的 CUDA 與 AMD 的 GPGPU 混為一談,但其實(shí)兩者并不一樣, AMD 的 GPGPU 是以 GPU 的現(xiàn)有繪圖架構(gòu),并采用 OpenCL 接口讓 GPU 進(jìn)行繪圖以外的運(yùn)算,而 NVIDIA 則是 GPU 擁有兩個模式,一個是 GPU Mode ,另一個是 Computing Mode ;在 Computing Mode 下 GPU 并不需要 OpenCL 接口,能直接執(zhí)行 C 程序,因此效率相比對手更高。
David Kirk 以 Folding@Home 為例,雖然現(xiàn)時只有 2.43 萬臺 PC 采用 CUDA 版本的 Folding@home ,所占比例不到 1% ,但卻擁供了 1.4 Petaflops 的運(yùn)算能力,這相等于由 CPU 運(yùn)算的 5 倍,不少研究人員相信未來將會有更多科學(xué)運(yùn)算應(yīng)用采用 GPU 作運(yùn)算加速,令研究速度大幅提升,超級計算機(jī)服務(wù)器將會由單純 CPU 架構(gòu),變成 CPU + GPU 架構(gòu),現(xiàn)時更有超過 40 家美國大學(xué)教授如何使用 CUDA 進(jìn)行平行運(yùn)算,前景令人樂觀。
值得注意的是,一般消費(fèi)者會以為 CUDA 僅會應(yīng)用于科學(xué)應(yīng)用上,但其實(shí) CUDA 已經(jīng)開始進(jìn)入一般主流應(yīng)用軟件進(jìn)行加速,包括影像編碼程序 BadaBOOM Media Converter ,另外剛發(fā)布的 CUDA 2.0 套件中,擁有支持 CUDA 的 Adobe Photoshop 影像過濾及變更的 plug-in 套件,未來 6 個月將會有約 20 ~ 30 個應(yīng)用軟件加入 CUDA 運(yùn)加速支持。
為了讓 CUDA 應(yīng)用更見普及, David Kirk 透露未來 CUDA 除了支持 C Language 外,將進(jìn)一步支持 C++ 及 Fortran Language 這些都是業(yè)界中最廣泛應(yīng)用的程序語言。 CUDA 2.1 版本更會支持 Many-Core + Multi-Core 運(yùn)算,讓系統(tǒng)效能可進(jìn)一步強(qiáng)化。
David Kirk 認(rèn)為,如果 CUDA 僅擁比 CPU 快 2-3x ,這其實(shí)并不多,根本無需要去為它而重新編寫,如果是比 CPU 快 5-10x ,部份程序可能只會為部份程序重寫以引入 CUDA 的好處,但 CUDA 所帶來的是比 CPU 快 100x+ 的速度,程序設(shè)計師是無法抵擋 CUDA 帶來的好處, NVIDIA 的最目標(biāo)是 CUDA Everywhere 。
有 PC 業(yè)者指出,在 Intel 與 AMD 的平臺化政策下, NVIDIA 的確處于劣勢,而 CUDA 正好是它的最佳武器,亦是唯一出路,如果 CUDA 成功沖出處理器雙雄的包圍,的確未來每一臺 PC 也會內(nèi)建 NVIDIA GPU 也未必沒可能,因此 CUDA 的成功關(guān)鍵將是它普及至一般主流應(yīng)用軟件的時間先機(jī),能否在 Intel Larrabee 推出前搶先卡位。