GPU挑戰CPU地位!詳解CUDA+OpenCL威力
關于GPU并行計算,其實AMD比NVIDIA更早提出了GPGPU(通用GPU)的概念,那么NVIDIA怎么看老對手AMD在并行計算方面的發展呢?現在我們就看看NVIDIA技術人員對于AMD的評價。
● 衡量GPU并行計算的主要指標就是浮點運算能力,根據理論值來看,AMD GPU似乎要比NVIDIA GPU高不少(HD4850達到1TFLOPS、HD4870 1.2TFLOPS),那NVIDIA GPU的優勢是什么?
答:的確,GPU的浮點運算能力非常重要,但這只是理論值而已,理論與實際存在很大的差距,尤其是在GPU架構截然不同的情況下,幾乎沒有可比性。目前超級計算機500強的排名是使用統一的軟件進行評估獲得的實際浮點運算性能,而并非理論值,采用NVIDIA Tesla GPU的超級計算機初出茅廬就排行第29,實際運算能力得到了充分肯定。
任何架構都有效率高低之分,GPU也不例外,NVIDIA CUDA架構的GPU執行各種復雜的圖形指令及非圖形指令都有著非常高的效率,而競爭對手的產品聽起來擁有較多的流處理器、理論浮點運算能力也很夸張,但實際性能如何呢,通過最新DX10游戲來看其效率很低,GPU的本職工作都做不好,何談指令更加復雜的并行計算呢?
● 科學研究對運算精度要求非常高,雙精度浮點運算使用率很高,NVIDIA GPU的雙精度運算能力只有單精度的1/8,而AMD雙精度性能是單精度的1/5,這是為什么呢?
答:確實,在不少應用領域都須需要雙精度浮點運算,這方面NVIDIA上代GPU做得還不夠好,當初主要考慮提升單精度浮點運算的能力和效率,在民用場合會得到非常出色的效能(比如視頻轉碼、物理加速等)。
不過,新一代Tesla產品的雙精度浮點運算能力將會提高至原來的4倍之多,新一代核心不僅僅是工藝改進頻率提升而已,事實上我們對內核架構作了進一步優化,每個SM內部FP64運算單元達4個,這樣NVIDIA下一代GPU的雙精度浮點運算能力可以達到單精度的1/2,性能提升非??捎^!
● 對于AMD的FireStream流處理加速卡,NVIDIA怎么看?
答:AMD FireStream比NVIDIA Tesla誕生得早,但由于架構和開發平臺問題,市場占有率及用戶認可度根本無法同Tesla相提并論。大家看到的多是有關產品方面的報道,而不是有關應用及解決方案方面,因為AMD根本拿不出什么像樣的應用軟件,目前最流行的Folding@Home蛋白質分布式運算以及AVIVO視頻轉碼,其實早在X1000時代就存在了,時至今日產品更新換代了三四代,但GPU運算效率并沒有得到提升,為什么呢?
因為AMD沒有給用戶提供一種系統的開發平臺,而是僅使用匯編一類的低級語言去進行GPGPU編程,這樣的開發效率極低,而且移植起來非常困難,針對不同架構的GPU需要重新編寫軟件才能提供支持。舉個最簡單的例子,HD4000剛發布時候的Folding@Home運算效能甚至還不如HD3000,要知道HD4000的理論性能是后者的2.5倍之多!
可以這么說,AMD的GPU架構純粹是針對圖形渲染設計的,而且很落后,因為NVIDIA很久以前的NV30就是這種SIMD架構,并行計算只是AMD圖形架構的副產品,所以AMD在面對并行計算時能有多高的效率值得懷疑?;蛟SOpenCL的出現能給AMD一些機會,但AMD有的NVIDIA都有,而AMD沒有的正是NVIDIA的強項,優秀的CUDA架構再加上各類編譯器/API可以讓NVIDIA GPU大放異彩!
關注我們


