GPU挑戰CPU地位!詳解CUDA+OpenCL威力
可能很多朋友還心存疑惑:目前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架構的混合處理器。
就拿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產品的一面鏡子?,F有的Core 2和Core i7處理器將來會如何向PC&服務器通用處理器進化呢?從這些變種處理器身上我們也可以看到2010年以后Intel的發展方向。
或許我們可以這樣認為,未來CPU與GPU之間的界限會非常模糊,多核CPU的架構設計會向現有GPU的模式靠攏,而GPU也不會滿足于僅處理一些無聊的3D渲染任務,在特定API及開發平臺的支持下,GPU將會取代CPU處理繁重的并行計算任務。
關注我們


