nVIDIA與AMD最新GPU對撼
在未來的計算應用中,GPU承擔的任務將愈來愈重要,無論高清3D渲染、高清視頻播放,還是科學計算程序,都可以找到GPU的身影,也正因為如此,GPU在計算系統(tǒng)的地位日趨重要,甚至達到可與CPU分庭抗禮的地步—在半年之前,nVIDIA掀起一場與英特爾的口水戰(zhàn)就是最好的例證,nVIDIA認為GPU的重要性將逐漸超越CPU,用戶投資GPU將能獲得更高的效益。這場口水戰(zhàn)雖然沒有得出什么結(jié)論,但也從側(cè)面看出GPU已經(jīng)底氣十足。
nVIDIA與AMD都保持每隔一年半更新?lián)Q代的節(jié)奏,現(xiàn)在距離上一次GPU更新?lián)Q代已經(jīng)超過一年半時間,新一輪的GPU大戰(zhàn)已然拉開序幕:nVIDIA在今年6月份推出開發(fā)代號為“GT200”的GeForce GTX 200系列圖形處理器,AMD則針鋒相對帶來代號為RV770的Radeon HD 4800 系列產(chǎn)品,并祭出多芯片顯卡方案來與nVIDIA爭奪3D性能的王座。這場大戰(zhàn)不僅讓許多3D玩家關注,也將對通用計算的未來發(fā)展產(chǎn)生關鍵性的影響。
6月17日,nVIDIA正式將代號為GT200的新一代GPU公諸于眾,其正式名稱為GeForce GTX 200系列,nVIDIA先期推出針對高端市場的GTX 280和GTX 260,開始新一輪的更新?lián)Q代。GeForce GTX 200基于nVIDIA的第二代統(tǒng)一渲染架構(gòu),它依然采用“巨無霸”芯片的慣有設計——GeForce GTX 200集成的晶體管數(shù)高達14億個,比過去任何一款GPU都來得復雜,Intel Core 2 Quad、AMD Phenom X4之類的X86處理器在它面前基本不值一提。GeForce GTX 200采用臺積電65納米工藝制造,芯片DIE面積高達546平方毫米,它也是迄今為止最大的GPU芯片。
與此對應的是,GeForce GTX 200的性能提升相當令人興奮。相比同級GeForce 8或GeForce 9芯片,GeForce GTX 200系列GPU的平均性能增幅在1.5倍以上,能夠勝任更復雜3D畫面的渲染,同時也會給AMD更大的壓力。
GeForce GTX 280 GPU實物照片 |
第二代NV統(tǒng)一渲染架構(gòu)
nVIDIA的統(tǒng)一渲染架構(gòu)之旅始于G80,統(tǒng)一渲染架構(gòu)是微軟在DirectX 10中所提出的新概念:即利用一個通用的計算單元來取代傳統(tǒng)的頂點渲染單元(Vertex Shader)與像素渲染單元(Pixel Shader),其優(yōu)點在于硬件利用效率更高,也具有更強的可編程性。GeForce GTX 200同樣基于該架構(gòu),我們甚至可以將它簡單看作G80的擴展。
我們知道,G80擁有128個流處理器,這些流處理器被平均分配在8個TPC(Texture Processing Clusters)陣列中,每個陣列包括16個流處理器并分為兩組,以及8個紋理單元。GeForce GTX 200在這方面有了可觀的增強:它擁有240個流處理器,這些流處理器被分布在10個TPC陣列中,每個陣列包含24個流處理器(被劃分為3組)以及8個紋理單元,并共享L1緩存—從這些直觀的對比中,我們不難看出GeForce GTX 200仍奠基于G80之上。與流處理器數(shù)量提升相對應,GeForce GTX 200的紋理單元數(shù)量達到80個,ROP光柵處理器數(shù)量則提升到了32個,各項規(guī)格都有了全面性的提升。
GeForce GTX 200的流處理器架構(gòu)示意 |
GeForce GTX 200繼承了G80的頻率異步模式,即渲染單元(流處理器)的頻率與GPU核心頻率(主要指紋理單元和ROP單元)以異步的方式運作,以此大大提升顯卡的浮點計算能力。其中,旗艦定位的GeForce GTX 280的核心頻率為600MHz,流處理器頻率則達到1300MHz,理論計算能力高達933GFLOPS,相比GeForce 9800GTX的432GFLOPS提升一倍多。
與計算能力的躍升相匹配,GeForce GTX 280的顯存規(guī)格提升到了1024MB/512bit,帶寬從70.4GBps提升到了140.8GBps,相比GeForce 9800GTX同樣提升整整一倍,從而避免出現(xiàn)顯存資源拖性能后腿的情況。在容量方面,GeForce GTX 280、GTX 260分別內(nèi)建1GB和896MB的顯存容量,也比上一代GPU提升了一倍。
針對通用計算的加強
一款GPU能夠具有多高的通用計算,不僅決定于GPU的硬件指標,與其內(nèi)部設計關聯(lián)更大。在這一點上,GeForce GTX 200發(fā)揚了G80的優(yōu)良傳統(tǒng),不過更為關鍵的是引入了SIMT(Single instruction-multiple thread)單指令多線程架構(gòu),從而保證GeForce GTX 200的每個線程處理器能夠全負荷工作。
GeForce GTX 280與Penryn的DIE面積對比, |
必須提到的是,GeForce GTX 200執(zhí)行通用計算指令的方式與傳統(tǒng)的CPU完全不同—CPU靈活性極高,可以執(zhí)行標量和矢量程序指令,但付出的代價就是計算性能很難有跨越性的提升;而GeForce GTX 200的流處理器均為標量計算單元,在執(zhí)行純粹的數(shù)學計算指令具有很高的效率—這些指令包括科學計算、氣象預報、DNA建模、物理計算等等,基本覆蓋了各類需密集計算的場合。
我們不妨進一步分析GeForce GTX 200如何來執(zhí)行這些計算指令。前面我們介紹過,GeForce GTX 200擁有10組TPC陣列,每組TPC包含24個流處理器,而TPC陣列與流處理器對應的計算指令并不相同:TPC陣列支持MIMD(多重指令,多重數(shù)據(jù))模式的指令,這些指令具體進入到流處理器之后,流處理器所面對的其實是SIMT(單一指令,多重線程)的情況—作為標量計算,SIMT模式無需設置矢量寬度,故而流處理器單元可以全速執(zhí)行運算。
GeForce GTX 200的TPC陣列,該陣 |
在線程管理上,GeForce GTX 200也遠遠強于上一代GeForce 8和GeForce 9系列;后兩者的每個流處理器可應對96個線程,支持的總線程數(shù)達到12288個;而GeForce GTX 200的每個流處理器可支持128個線程,加之流處理器數(shù)量提升到240個,支持的線程數(shù)也猛增到3萬個以上。不僅如此,GeForce GTX 200的線程切換極其高效:倘若某個特殊線程在執(zhí)行過程中需等待內(nèi)存訪問,那么流處理器會迅速切換到另一個線程,繼續(xù)執(zhí)行運算任務,不會出現(xiàn)資源閑置的不良情況。
除了流處理器數(shù)量提升外,GeForce GTX 200的內(nèi)部設計也專門針對通用計算進行加強,例如TPC內(nèi)局部緩存的容量比GeForce 8和GeForce 9均增加一倍,更大的局部緩存可以允許更長、更復雜的計算指令。另外還有一項非常重要的改進就是支持64bit雙精度浮點運算—GeForce GTX 200的每一個TPC陣列內(nèi)都包含3個雙精度64位浮點運算單元,相當于每8個流處理器共享一個雙精度浮點單元,這樣GeForce GTX 200總計擁有30個雙精度單元,這一特點主要針對高端科技、大型工程以及金融領域運用,以及那些需要高精度的計算任務。
GeForce GTX 280顯卡實物圖 |
PhysX物理計算
Ageia是PPU物理處理器概念的開創(chuàng)者,早在2004年,它便推出PhysX PPU及對應的物理加速卡,在實際演示中,PhysX的性能比傳統(tǒng)的CPU高出百倍,可以為游戲帶來驚人的物理效果,極大程度提升游戲的真實性。PhysX一經(jīng)推出就引起業(yè)界的轟動,游戲業(yè)界迅速對其提供鼎力支持,其中包括三大游戲主機PS3、Wii和Xbox360,游戲開發(fā)者也迅速行動起來—攜上述資源的Ageia理所當然成為物理加速領域的領導者,而nVIDIA收購Ageia后完整地繼承了這一優(yōu)勢。
nVIDIA將PhysX技術(shù)融入到GeForce GTX 200 GPU中,得益于超凡的浮點性能以及靈活的密集計算架構(gòu),GeForce GTX 200的物理計算能力比前代產(chǎn)品有了巨大的提升。而在具體實現(xiàn)上,GeForce GTX 200采用了PhysX的技術(shù),在驅(qū)動程序?qū)用鎸崿F(xiàn)GPU物理計算—相比Havok的GPU物理加速,PhysX技術(shù)的優(yōu)點在于可以獲得大量游戲的支持,這樣,在GeForce GTX 200上市之后,3D游戲即可開啟物理效果,帶來更具真實性的3D視覺。
運用PhysX物理效果的爆炸場景,可提供極高的真實感。 |
PhysX驅(qū)動是通過nVIDIA的CUDA平臺實現(xiàn),即通過CUDA硬件接口獲得GPU的支持,由于每個流處理器都帶有16KB的高速緩存,這樣可大大節(jié)省運算時調(diào)用較慢的外部顯存上消耗的時間,具有很高的運算效率。此外,GeForce GTX 200的運算核心均支持沖突處理、重組排序、單指令多紋理,同時其標量架構(gòu)以及其支持的高級線程化,可以非常好地適應高度密集的物理運算。我們可以在下面的表格中了解到GeForce GTX 200家族的高端型號GTX 280同四核Core 2 Quad的物理性能對比,GTX 280在物理運算主要消耗的浮點運算能力上超出了Core 2 Quad近10倍,流體特效、布料特效、人體柔性特效上的處理能力也都超出Core 2 Quad的12至15倍。
PhysX可支持大量的物理效果,目前游戲中主要應用到的只是人體柔性、力場、粒子碎片等少數(shù)幾個效果,這幾個效果應用廣泛,在支持PhysX技術(shù)的硬件環(huán)境中也都可以流暢運行—如果改用CPU來運行的話,實現(xiàn)同樣效果的話將非常吃力。除此之外,PhysX還可支持包括:剛體動力、沖突檢出、反向隧道、裂縫、跳躍、啟動加速等在內(nèi)的許多視覺效果,而對于動態(tài)物理效果,PhysX也提供大量的候選,其中包括布料效果、金屬變形、力場、物理陰影、煙霧、流體等等,這些動態(tài)物理效果也都可以通過PhysX技術(shù)來實現(xiàn)。截止到目前,已經(jīng)有超過150款游戲支持了PhysX技術(shù),換句話說,這些游戲?qū)⒖梢栽贕eForce GTX 200平臺中完美運行,而GeForce GTX 200也是運行這些游戲的不二選擇。這股風潮在未來還將繼續(xù)下去,因為已有超過25000名游戲開發(fā)人員在為PhysX工作,世界上幾個頂級的游戲開發(fā)組織也都宣布采用PhysX技術(shù)來實現(xiàn)物理計算,比如我們熟悉的UE3、Gamebryo、Diesel、Vision3D幾個超級游戲引擎也都全部支持PhysX,而作為游戲開發(fā)工具Softinage、XSI、Autodesk、3DSMax、Maya和Natural Motion(角色動畫軟件)、Speedtree(實時樹狀圖形解決方案)都為PhysX作好了準備。
其他硬件規(guī)格
夸張的晶體管集成度預示著GeForce GTX 200將成為新一代的電老虎,其中高端定位的GeForce GTX 280的TDP功耗高達236瓦,全速運行時的功耗和發(fā)熱量都非常夸張。為了滿足供電和散熱的需要,GeForce GTX 280顯卡設計得頗為夸張,碩大的散熱器覆蓋了整塊顯卡,顯卡的長度也達28厘米。不過,GeForce GTX 200具有優(yōu)秀的能源管理技術(shù),這讓它可以在非3D狀態(tài)下保持冷靜運行,如在空閑/2D模式下,顯卡的功耗低于25W,比一顆移動處理器的能耗還低,也僅為最大功耗的十分之一;播放藍光高清電影或DVD時,顯卡的能耗則低于35瓦—倘若用戶使用HybridPower的nForce主板(比如nForce 780a),那么GTX 200 GPU就可以在不執(zhí)行其他高效繪圖操作時完全關閉獨立顯卡供電,由板載GPU完成顯示輸出任務,此時顯卡本身的能耗幾乎為零。
RV770 GPU芯片,DIE尺寸僅為GeForce GTX 280的二分之一不到 |
在nVIDIA發(fā)布GeForce GTX 200數(shù)天之后,AMD也正式推出代號為RV770的新一代圖形核心,并將其命名為Radeon HD 4800系列。從RV770開始,AMD與nVIDIA正式分道揚鑣—AMD沒有再沿用設計高復雜度芯片、然后再衍生出中低端產(chǎn)品的套路,而是設計中等復雜度的芯片,然后以多芯片設計來構(gòu)建高端產(chǎn)品。這種設計的優(yōu)點在于技術(shù)難度更低,制造上也更為容易,另外它擁有非常明顯的成本優(yōu)勢,可以保證產(chǎn)品的性價比優(yōu)于對手。
物理規(guī)格參數(shù)
RV770是在上一代RV670和R600的基礎上增強而來,它顯著的改進就是將流處理器數(shù)量從上一代的320個提升到驚人的800個,以此來實現(xiàn)效能的大幅提升。而與上一代GPU類似,RV770也都支持DirectX 10.1和Shader Model 4.1,看起來比GeForce GTX 200的DirectX 10要先進一些。晶體管集成度方面,RV770僅包含9.56億個晶體管,比GeForce GTX 200的14億個少了一大截,再者AMD采用55納米工藝來制造RV770,芯片DIE尺寸只有260平方毫米,還不到GeForce GTX 280的一半。
RV770的TDP功耗為157瓦,這個數(shù)字明顯低于GeForce GTX 280,不過考慮到182瓦的GeForce GTX 260才是它的對手,RV770的功耗指標也不能過于驕傲。
SIMD流處理器架構(gòu)
我們知道,AMD上一代R600(Radeon HD 2000系列)和RV670(Radeon HD 3000系列)都擁有320個流處理器—雖然數(shù)量比nVIDIA G80多了許多,但由于架構(gòu)不同,兩者的數(shù)量差異其實沒有什么可比性。具體點說,AMD GPU的流處理器采用的是單時鐘周期處理5個標量乘加指令的設計,也就是我們常說的4D+1D設計。這種設計在運算時間的靈活度和執(zhí)行效率均不如nVIDIA的全1D式設計,但所帶來的好處就是流處理器單元的設計復雜度低,因此可以輕松增加流處理器的數(shù)量,通過數(shù)量的優(yōu)勢來彌補流處理器效率較低的不足。因此,雖然R600和RV670都擁有320個流處理器,數(shù)量遠多于G80和G92,但它們的晶體管集成度卻更低,性能也不如對手。
RV770的流處理器架構(gòu)示意 |
RV770同樣繼承了4D+1D的流處理器設計,不過它將流處理器的數(shù)量提升到驚人800個,相當于RV670的2.5倍!800個流處理器實際上是這樣配置的:RV770 GPU核心由10個SIMD核心構(gòu)成,每個SIMD核心都包括16個流處理單元、獨立的紋理單元和L1緩存。由于取消了共用的緩存,各核心可以直接通過Global DataShare Unit互相溝通,這樣做可降低傳輸延遲,提升協(xié)作效率。此外,每個流處理單元又包括5個ALU,這樣一個SIMD核心有80個ALU—由此就推算出RV770的ALU總數(shù)達到800個,這也就是AMD所說的800個流處理器。而與上一代RV670有所改進的是,RV770的流處理器都可以進行整數(shù)運算,這樣可明顯提升GPU應用的效能。
RV770的流處理器頻率與核心頻率保持一致,其中,中端定位的Radeon HD 4850 GPU頻率為650MHz,稍高定位的Radeon HD 4870 GPU則達到750MHz,它的理論浮點性能高達1.2TFLOPS,比GeForce GTX 280高出不少—不過理論性能的對比并沒有太大意義,由于兩者架構(gòu)不同,它們的實際表現(xiàn)無法從理論浮點性能中看出,譬如AMD上一代RV670同樣在理論浮點性能指標方面占優(yōu),但實際性能卻明顯落后于對手。
紋理單元與顯存總線
RV770的每個SIMD核心都擁有4個紋理單元,換言之RV770的紋理單元總數(shù)為40個(GeForce GT200為80個),每個紋理單元內(nèi)都包括8個紋理定址單元、20個32位浮點紋理采樣單元和4個紋理過濾單元。ROP光柵單元的數(shù)量雖仍為16個(GeForce GT200為32個),但是AMD對其進行重新設計,將AA反鋸齒運算交由流處理器處理,從而顯著提升AA性能;另外提供透明、霧化效果的運算單元也被剔除。
RV770放棄了Ring Bus顯存架構(gòu),改用傳統(tǒng)的多路交叉顯存總線。原因在于Ring Bus架構(gòu)雖可提供更高的帶寬,但數(shù)據(jù)延遲率過高,抵消了高帶寬優(yōu)勢,同時該架構(gòu)需要耗用更多的晶體管,實際效益并沒有優(yōu)于傳統(tǒng)方案。有鑒于此,RV770走了回頭路:它僅采用256bit位寬顯存總線,不過可支持高頻率的GDDR5,由此保障較高的顯存帶寬。
通用加速與物理計算
RV770同樣為通用計算作好了準備:統(tǒng)一渲染架構(gòu)、數(shù)量眾多的流處理器、卓越的浮點性能讓它具備通用加速的能力,但遺憾的是,AMD未能打造一套通用開發(fā)平臺,僅提供ALC/Brook+開發(fā)工具,設計者仍需借助DirectX、OpenGL之類的API與硬件溝通,問題在于無論DirectX還是OpenGL,目前都只是圖形API而沒有針對通用計算設計,開發(fā)者不得不為此大費周章。也是由于這個原因,AMD所推出的FireStream流處理器平臺一直未見大的起色,而以AMD糟糕的現(xiàn)狀來看,AMD無力構(gòu)建起能與nVIDIA CUDA相提并論的開發(fā)環(huán)境,只能聯(lián)手其他廠商和機構(gòu)走開放標準的道路—還算幸運的是,微軟將通用計算作為DirectX的未來方向,下一代DirectX 11將增加新的計算技術(shù),允許GPU從事更多的通用計算工作而不僅僅從事3D渲染,這可以鼓勵開發(fā)人員更好地將GPU作為高并行處理器使用。但問題在于,CUDA目前已經(jīng)確立了在通用計算領域的領先地位,一旦這種領先繼續(xù)擴大,那么CUDA恐將成為GPU通用計算領域的事實標準;而DirectX 11要等到2009年才能發(fā)布,這對AMD尤其不利。
AMD Radeon 4870X2顯卡,通過兩枚 |
當nVIDIA宣布PhysX物理加速驅(qū)動的時候,AMD也不得不重啟一度中斷的GPU物理加速技術(shù)—AMD原本在兩年前就與Havok展開合作,但在Havok被英特爾收購后合作被迫中斷,出于共同的擔心,AMD與英特爾又走到了一起:AMD繼續(xù)與Havok聯(lián)合開發(fā)GPU物理加速技術(shù)。不過,Havok在游戲業(yè)界的支持度根本無法同PhysX技術(shù)相提并論,更何況nVIDIA的PhysX驅(qū)動即將發(fā)布并投入正式使用,而AMD的物理加速還處在開發(fā)階段。
RV770的多芯片構(gòu)建
RV770 GPU內(nèi)直接集成了CrossFireX端口,多枚GPU可以直接建立交叉火力模式,以此來同nVIDIA的高端產(chǎn)品相對抗。Radeon HD 4870X2便是這樣的產(chǎn)品—該款顯卡的開發(fā)代號為R700,它其實就是由兩枚RV770 GPU組成,由一枚橋接芯片提供的PCI-E 2.0通道互連(上一代Radeon HD 3870X2的橋接芯片只支持PCI-E 1.0)。Radeon HD 4870X2的規(guī)格十分可怕:GPU總計超過18億顆晶體管,擁有1600個流處理器、80個紋理單元、32個渲染后端單元、32個光柵化單元,浮點性能達到2.4TFlops,擁有2GB GDDR5顯存、2×256bit位寬和高達230GBps的內(nèi)存帶寬,各項指標完全壓倒nVIDIA的GeForce GTX 280。實際測試成績也在意料之中:Radeon HD 4870X2在各款3D游戲的實際測試中以大比分全面超越GeForce GTX 280,而單芯片的Radeon HD 4870也有優(yōu)秀表現(xiàn),性能在GeForce GTX 280與GTX 260之間。
與卓越性能相對應的是極富競爭力的價格:Radeon HD 4870X2售價為549美元,國內(nèi)售價預計在3999元人民幣左右,而GeForce GTX 280目前的價格為650美元,雖然7月份小降到549美元,但伴隨著Radeon HD 4870X2的上市,nVIDIA或許應該發(fā)起新一輪的降價。單芯片Radeon HD 4870的售價為299美元,與目前的GeForce GTX 260大體持平。#p#page_title#e#
今天的GPU已經(jīng)發(fā)展成為一種具有廣泛用途的超級浮點處理器,而非僅僅局限在3D渲染。首先,統(tǒng)一渲染架構(gòu)讓GPU在硬件上變得更為靈活,計算單元不再只針對頂點渲染或像素渲染,而可以執(zhí)行特定的通用計算指令,當然這要求通用程序指令符合GPU的運行要求。其次,nVIDIA已經(jīng)創(chuàng)建了完整的CUDA開發(fā)平臺,這套平臺包括硬件API、開發(fā)工具和編譯工具,開發(fā)者可以在CUDA上完成通用程序的編制,由于CUDA采用C、C++這樣的中級語言,且具備完整的硬件API接口,開發(fā)者不必深入研究硬件細節(jié)即能編制出通用程序,大大減輕了開發(fā)者的負擔。而對于GPU通用加速,業(yè)界的反應極為積極。
作為平臺的創(chuàng)建者,nVIDIA也將通用加速推向?qū)嶋H應用,它讓GPU來負責物理計算任務并獲得巨大的收益。這項計劃在2年前便開始啟動,當時Ageia公司推出PhysX PPU物理處理器,其性能大幅度優(yōu)于傳統(tǒng)的多核芯片;為與之抗衡,nVIDIA謀求利用GPU來進行物理計算,為此它與Havok合作,試圖利用Havok Fx引擎來實現(xiàn)GPU物理加速。不過這項計劃并沒有進行下去,因為Havok公司在今年初為英特爾收購,而nVIDIA則迅速作出應對,將Ageia公司收之麾下,在此之后nVIDIA的物理計算計劃隨之轉(zhuǎn)向。不過,nVIDIA并沒有考慮繼續(xù)推出單獨的PhysX PPU芯片,而是將其與GPU結(jié)合,最終仍由GPU來負責物理計算—只要用戶安裝PhysX驅(qū)動程序,便能夠開啟相應的功能。在實際測試中,GPU物理加速效果出眾:在Core 2 Extreme QX9650 OC 3.8GHz平臺上,單純使用CPU運行測試后,3DMark Vantage總分P10392,而改用一塊GTX 280配合PhysX驅(qū)動后升至P12468分,提高幅度20.0%;而CPU子項的變化更為驚人,得分從15005飆升至42436,增幅高達182.8%,也就是幾乎達到原來的三倍!這個案例足以說明GPU通用加速的優(yōu)勢所在。
GPU加速的第二個應用就是在圖像處理領域。Adobe公司即將推出的Photoshop CS4對GPU加速提供本地支持,可以借助GPU來完成圖像處理所需的巨量浮點運算。在實際演示中,Photoshop CS4輕松地打開一個2GB、4.42億像素的圖像文件,響應速度與在Intel Skulltrail八核心系統(tǒng)上打開一個500萬像素文件一樣迅速,而對圖片進行縮放、旋轉(zhuǎn)也不會存在任何延遲,處理速度比目前頂尖的四核處理器都快出十倍以上!GPU通用加速的威力在這里也得到充分體現(xiàn)。
除了高負荷的運算外,GPU加速還應用于PDF瀏覽、3D桌面等領域,并將其延伸到網(wǎng)頁Flash播放加速中。這些應用雖然不要求密集運算,但GPU加速功能可以顯著提升用戶的體驗:比如在查看稍復雜的一些PDF文檔時,無論用戶使用多高配置的電腦,都會遇到文字/圖像顯示滯后的情況,而啟用GPU加速功能之后PDF文檔的內(nèi)容顯示則沒有任何的延遲。3D桌面不僅可以帶來動感十足、漂亮動人的桌面GUI,而且可以有效提升桌面操作的響應速度,讓用戶為之心情暢快。網(wǎng)頁Flash動畫極其消耗CPU資源—即便你使用高端四核平臺,在打開一些含F(xiàn)lash較多的網(wǎng)頁時都會遭遇CPU占用率飆升的情況,嚴重拖慢了電腦的整體性能,這在某種程度上被認為是一個大笑話—畢竟Flash動畫遠比高清視頻播放任務來得簡單;同樣,GPU加速可在此領域大顯身手,GPU接管了Flash動畫的解碼任務,讓CPU獲得解放,而以GPU在視覺方面的卓越效能來對付Flash動畫無疑是小菜一碟。
AMD同樣意識到GPU通用計算的價值,但由于技術(shù)實力所限,AMD未能拿出類似CUDA的開發(fā)平臺,以至于開發(fā)者要為AMD GPU編程困難重重,在這種情況下,AMD很難獲得開發(fā)者的青睞,也無力阻止CUDA成為該領域的事實標準。不過,DirectX 10與統(tǒng)一渲染架構(gòu)同樣賦予AMD GPU卓越的靈活性,它同樣可加速3D桌面、PDF、Flash動畫等與視覺有關的應用,至于物理計算領域,AMD選擇與Havok合作的方式進行,遺憾的是,這項合作計劃剛開始恢復,尚不知曉何時能夠正式投入應用。
nVIDIA憑借CUDA平臺占據(jù)了通用計算的制高點,這讓它在新一輪圖形大戰(zhàn)中占得先手。我們可以預見,未來的GPU之戰(zhàn)不再像過去那樣只是產(chǎn)品性能的簡單對抗,通用平臺的支持將成為越來越重要的影響因素。#p#page_title#e#
早在GeForce 6時代,利用GPU來進行通用計算的應用已經(jīng)開始,譬如在2004年9月份,劍橋大學的BionicFX小組就率先采用GeForce 6800圖形處理器來完成音頻效果的計算。不過當時開發(fā)者必須通過圖形API來獲得硬件調(diào)用能力,而傳統(tǒng)的圖形API僅僅提供了圖形操作的功能,沒有提供類似于CPU那樣通用計算的接口,編制針對GPU平臺的高并行計算程序異常復雜—劍橋的BionicFX小組是通過一項自行發(fā)明的AVEX(Audio Video EXchange音頻視頻轉(zhuǎn)換)技術(shù)實現(xiàn)GPU加速的,AVEX的工作原理是將音頻流轉(zhuǎn)換成圖形格式的數(shù)據(jù),這些圖形數(shù)據(jù)在GeForce 6800 GPU上按照像素或區(qū)格來進行處理(按音頻效果算法),并于顯示內(nèi)存中讀取結(jié)構(gòu),最終計算結(jié)果再被還原為音頻信號,由此完成了GPU處理音頻效果生成的全過程。很顯然,這樣的實現(xiàn)委實過于復雜,而且通用計算程序的開發(fā)者們不可能都像BionicFX一樣自行開發(fā)翻譯程序,而只要這個問題沒有得到妥善解決,用GPU進行通用計算處理永遠都只是空中樓閣。
意識到這一點,nVIDIA認為有必要為開發(fā)者提供專用的通用計算API及開發(fā)環(huán)境,CUDA便是這種構(gòu)想的產(chǎn)物。CUDA很大程度參照了圖形API,重點在于驅(qū)動程序和函數(shù)庫方面的擴充,該平臺包括一套標準的FFT與BLAS庫,以及一個專門針對nVIDIA GPU設計的C編譯器(NVCC)。借助CUDA平臺,開發(fā)者可以編制出能夠為GPU執(zhí)行的高并行運算程序,負責編譯的NVCC編譯器則是一個預處理器和編譯器的混合體:當遇到CUDA代碼的時候,自動編譯為GPU執(zhí)行的代碼,也就是生成調(diào)用CUDA Driver代碼。如果碰到標準C++代碼,則調(diào)用平臺自己的C++編譯器(Visual Studio C++)進行編譯,代碼的執(zhí)行工作是由CPU來完成。
CUDA創(chuàng)建了一套非常完整的通用計算開發(fā)環(huán)境,開發(fā)者現(xiàn)在不需要考慮GPU硬件的問題,也不需要費盡心思研究如何將密集計算指令翻譯為圖形渲染指令,而只要調(diào)用CUDA提供的函數(shù)庫即可編制出想要的程序。如果說要有不足,那么就是采用CUDA環(huán)境開發(fā)的程序只能在nVIDIA GPU的硬件平臺上運作,屬于nVIDIA私有的技術(shù)。
在經(jīng)歷漫長的沉悶之后,AMD終于一掃陰霾,憑借創(chuàng)新設計重新奪回主動權(quán)。RV770所開創(chuàng)的多芯片拓展設計非常成功,它不僅確保AMD能夠在不犧牲利潤的前提下繼續(xù)保持性價比優(yōu)勢,同時還能夠在性能方面壓倒對手。AMD認為,nVIDIA最終也將走上這條道路,GeForce GT200也許是最后的巨無霸芯片,畢竟傳統(tǒng)設計的高難度和高成本并非必要,圖形廠商現(xiàn)在有了新的選擇。
憑借性能和性價比的優(yōu)勢,AMD將恢復自身在圖形市場的應有地位,維持對等競爭的格局,這對于消費者顯然非常有利,因為我們可以更低廉的價格買到更好的產(chǎn)品。AMD的隱憂在于物理加速、通用計算全面落后,問題在于這兩個領域更多是軟件層面,AMD暫時沒有有效的應對之策,所幸物理加速和通用計算的應用還不算普遍,PC用戶不會太刻意顧及這一點,否則AMD的優(yōu)勢將被大大削減—但我們可以看到,留給AMD的時間其實不多了。
在2009年,圖形市場將迎來第三個力量:英特爾將正式發(fā)布傳說已久的Larrabee,這場競爭也許更多是在英特爾和nVIDIA之間展開,焦點在于通用計算平臺的爭奪戰(zhàn):nVIDIA的CUDA將與英特爾的Larrabee X86擴展指令展開一場對抗,或許勝算更多朝向nVIDIA傾斜,畢竟CUDA已擁有足夠多的應用基礎。