自從多核心出來以後CPU效能增漲減慢.但是GPU卻沒有眾所周知,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的通用計算之路。   可能很多朋友還心存疑惑:目前CPU的性能已經很強大了,為什麼還要花很大的代價讓GPU進行輔助運算呢?這個問題可以從兩個角度來回答:一般我們認為 CPU在浮點運算/並行計算方面的性能遠不膠原蛋白如GPU強大,所以將GPU的實力釋放出來可以將電腦獲得新的飛躍;如果從更深層面考慮的話,目前CPU的發展 已經遇到了瓶頸,無論核心架構的效率還是核心數量都很難獲得大幅提升,而GPU則是新的突破點,它的潛力幾乎是無限的!  ● CPU核心效率提升舉步維艱   就拿目前Intel最強的Core i7處理器來說,架構方面相比上代Core 2 Quad發生了天翻地覆的變化:膠水四核變成了原生四核、引入三級緩存、高速QPI總線、三通道DDR3內存控制器、超線程技術、諸多內核及指令集優化等 等……,所有這些技術共同作用的結果就是——同頻率下i7 965的綜合性能僅比上代QX9770提升了10-20%,這說明了什麼呢?說明Intel的處理器架構已經非常優賣屋秀了,以至於在此基礎上很難再有 Pentium D到Core 2 Duo那種飛躍式提升。Core i7的性能表現沒有帶來驚喜  AMD方面的情況也大致如此,Phenom II相比Phenom的提升主要來自於45nm工藝帶來的高頻率,核心架構優化的貢獻僅有不到5%。目前兩大處理器巨頭單核心效能都已接近極限,只能依靠新工藝帶來的大緩存、高頻率,而獲得微弱的性能提升。● CPU核心數量不能盲目增加   既然單核效率已經很難取得突破,於是處理器巨頭近年來都將發展方向轉為多核心產品,雙核四核六 核八核相繼誕生。但美國Sandia國家實驗室日前的一項模擬測試卻讓人大跌眼鏡:由於存儲機制和內存帶寬的限制,16核、32核甚至64核處理器對於超 級計算機來膠原蛋白說,不僅不能帶來性能提升,甚至可能導致效率的大幅度下降。 根據他們的模擬,8核心之後再往處理器內塞入更多的核心,並不能帶來性能提升,在數據處理應用中反而會出現性能下滑。「16核的表現就和雙核差不多」。他 們近一年來和業內處理器廠商、超級計算機廠商以及超級計算機用戶進行了大量討論。得出的結論是,如果不對計算機架構作出修改,未來當出現16核32核處理 器時,為超級計算機編程的程序員或許只好屏蔽部分核心,或是將這些處理器用於非重點運算應用。  ● Intel的"80核CPU"其實是顆GPU  當然業界領袖Intel也意識到了多核CPU發展之路遇到了瓶頸,因此在準備傳統六核/八核處理器的同時,也在緊鑼密鼓襯衫的研製另一種群核處理器——GPU以及類似於GPU架構的混合處理器。擁有無數顆「核心」的Larrabee圖形處理器   就拿Intel代號為「Larrabee」的GPU來說,它是對IA-32(x86)新指令集的一種擴展,其內部是由N顆Pentium處理器核心加上 一個16路的向量處理器組合而成的。Larrabee最初的目標是獨立顯示處理領域,與CPU組合使用。可是Larrabee與GPU相比又有所不同,所 謂的Larrabee是能夠支持某種程度scalar運算的支持單體OS的CPU。80核心處理器結構示意圖   此外,Intel還公佈了另一款研發中的80核心處理器實物和架構,事實上這是一顆徹頭徹尾的並行計算處理器,每顆核心都包括了兩個浮點運算單元,怎麼 看都像是一顆GPU的架構房屋二胎。從這個意義來看,Larrabee與80核CPU是Intel將來CPU產品的一面鏡子。現有的Core 2和Core i7處理器將來會如何向PC&服務器通用處理器進化呢?從這些變種處理器身上我們也可以看到2010年以後Intel的發展方向。  或許我們可以這樣認為,未來CPU與GPU之間的界限會非常模糊,多核CPU的架構設計會向現有GPU的模式靠攏,而GPU也不會滿足於僅處理一些無聊的3D渲染任務,在特定API及開發平台的支持下,GPU將會取代CPU處理繁重的並行計算任務。   超多核CPU確實很誘人,但只能存在於實驗室中,距離我們似乎非常遙遠。由於超多核CPU的架構與目前的雙核/四核CPU有很大的不同,因此大家不必拘 泥於傳統處理器的概念。其實超多核處信用卡代償理器「遠在天邊、近在眼前」——高配置電腦當中肯定擁有一顆GPU(顯卡),9800GTX+是128核心、 GTX280則擁有240顆核心,GPU的每一個流處理器就是一顆核心。  目前X86架構的處理器經過30年的發展,指令集、平台、系統和軟件支持已經接近完美,因此使用CPU處理數據是天經地義的。GPU雖然也誕生了近20年,但它從來都只能渲染圖形,想要讓他進入全新並行計算領域,無論硬件架構還是軟件平台都需要作相應的調整。引用:http://tw.myblog.yahoo.com/jw!FfQHqVqBFQOMrSWpU5k-/article?mid=4406 


.msgcontent .wsharing ul li { text-indent: 0; }



分享

Facebook
Plurk
YAHOO!

租屋
創作者介紹

BD-1

lq46lqztqg 發表在 痞客邦 PIXNET 留言(0) 人氣()