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