GPU挑戰CPU地位!詳解CUDA+OpenCL威力
分享
[泡泡網顯卡頻道 12月16日] 眾所周知,GPU擁有數十倍于CPU的浮點運算能力,但如此強大的實力多數情況下只能用來玩游戲,豈不可惜?因此近年來業界都在致力于發掘GPU的潛能,讓它能夠在非3D、非圖形領域大展拳腳。
- 1999年,首顆GPU(GeForce 256)誕生,GPU從CPU手中接管T&L(坐標轉換和光源)
- 2000年,Hopf在GPU上實現小波變換
- 2001年,Larsen利用GPU的多紋理技術做矩陣運算
- 2002年,Harris在GPU上用細胞自動機(CA)仿真各種物理現象,Purcell第一次使用GPU加速光線跟蹤算法
- 2003年,是GPGPU領域具有里程碑意義的一年,Kruger實現了線性代數操作;Li實現了Lattice Boltzmann的流體仿真;Lefohn實現了Level Set方法等一大批成果
- 2004年,Govindaraju在數據庫領域應用GPU加速取得進展;商業領域,Apple推出支持GPU的視頻工具
- 2006年,首顆DX10 GPU(GeForce 8800)誕生,GPU代替CPU進行更高效的Geometry Shader(幾何著色)運算
- 2007年,主流DX10 GPU全面上市,將CPU從勞累不堪的高清視頻解碼運算中解放出來,如今整合GPU都完美支持硬解碼
- 2008年,CUDA架構初露鋒芒:PhysX引擎發布,GPU代替CPU和PPU進行物理加速運算;Badaboom、TMPGEnc等軟件開始利用GPU的并行計算能力來加速視頻編碼
- 2009年,CUDA、OpenCL、DX11 Compute Shader百花齊放,GPU將會全面取代CPU進行并行計算,大批應用軟件改投GPU門下……
可以這么說,CPU是功能較多的,它幾乎可以處理任何事情,但由于深度流水作業架構的特性、以及浮點運算能力的限制,它處理一些任務時的效率很低。縱觀近年來GPU的發展歷程,就是一步步的將那些不適合CPU處理、或CPU算不動的任務轉移過來,從而消除程序運算時的瓶頸,大幅提升電腦執行效能,以更小的代價(成本和功耗)實現更強大的性能。
但是,想要讓一大批應用軟件從CPU移植到GPU上,非一朝一夕所能完成,需要業界的大力推廣以及開發平臺及編程語言的支持。NVIDIA早在2005年開始就致力于研發CUDA架構及基于CUDA的C語言開發者平臺,并于2007年正式推出,而且專門發布了針對科學計算的Tesla品牌,在GPU計算方面一直處于領跑地位。
而今年由蘋果所倡導的OpenCL標準發布后,包括NVIDIA、Intel、AMD在內的所有IT巨頭都表示出了濃厚的興趣。有了統一的標準之后,GPU計算的推廣與普及就是水到渠成之事,GPU將會在電腦系統中扮演更重要的角色。
那么CUDA與OpenCL之間有什么利害關系呢?未來誰將左右GPU的發展?GPU會否取代CPU成為計算機核心?筆者通過搜集各方資料,并采訪NVIDIA相關技術研究人員,為大家深入分析GPU的通用計算之路。
2人已贊
關注我們



