nVIDIA与AMD最新GPU对撼
在未来的计算应用中,GPU承担的任务将愈来愈重要,无论高清3D渲染、高清视频播放,还是科学计算程序,都可以找到GPU的身影,也正因为如此,GPU在计算系统的地位日趋重要,甚至达到可与CPU分庭抗礼的地步—在半年之前,nVIDIA掀起一场与英特尔的口水战就是最好的例证,nVIDIA认为GPU的重要性将逐渐超越CPU,用户投资GPU将能获得更高的效益。这场口水战虽然没有得出什么结论,但也从侧面看出GPU已经底气十足。
nVIDIA与AMD都保持每隔一年半更新换代的节奏,现在距离上一次GPU更新换代已经超过一年半时间,新一轮的GPU大战已然拉开序幕:nVIDIA在今年6月份推出开发代号为“GT200”的GeForce GTX 200系列图形处理器,AMD则针锋相对带来代号为RV770的Radeon HD 4800 系列产品,并祭出多芯片显卡方案来与nVIDIA争夺3D性能的王座。这场大战不仅让许多3D玩家关注,也将对通用计算的未来发展产生关键性的影响。
6月17日,nVIDIA正式将代号为GT200的新一代GPU公诸于众,其正式名称为GeForce GTX 200系列,nVIDIA先期推出针对高端市场的GTX 280和GTX 260,开始新一轮的更新换代。GeForce GTX 200基于nVIDIA的第二代统一渲染架构,它依然采用“巨无霸”芯片的惯有设计——GeForce GTX 200集成的晶体管数高达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统一渲染架构
nVIDIA的统一渲染架构之旅始于G80,统一渲染架构是微软在DirectX 10中所提出的新概念:即利用一个通用的计算单元来取代传统的顶点渲染单元(Vertex Shader)与像素渲染单元(Pixel Shader),其优点在于硬件利用效率更高,也具有更强的可编程性。GeForce GTX 200同样基于该架构,我们甚至可以将它简单看作G80的扩展。
我们知道,G80拥有128个流处理器,这些流处理器被平均分配在8个TPC(Texture Processing Clusters)阵列中,每个阵列包括16个流处理器并分为两组,以及8个纹理单元。GeForce GTX 200在这方面有了可观的增强:它拥有240个流处理器,这些流处理器被分布在10个TPC阵列中,每个阵列包含24个流处理器(被划分为3组)以及8个纹理单元,并共享L1缓存—从这些直观的对比中,我们不难看出GeForce GTX 200仍奠基于G80之上。与流处理器数量提升相对应,GeForce GTX 200的纹理单元数量达到80个,ROP光栅处理器数量则提升到了32个,各项规格都有了全面性的提升。
GeForce GTX 200的流处理器架构示意 |
GeForce GTX 200继承了G80的频率异步模式,即渲染单元(流处理器)的频率与GPU核心频率(主要指纹理单元和ROP单元)以异步的方式运作,以此大大提升显卡的浮点计算能力。其中,旗舰定位的GeForce GTX 280的核心频率为600MHz,流处理器频率则达到1300MHz,理论计算能力高达933GFLOPS,相比GeForce 9800GTX的432GFLOPS提升一倍多。
与计算能力的跃升相匹配,GeForce GTX 280的显存规格提升到了1024MB/512bit,带宽从70.4GBps提升到了140.8GBps,相比GeForce 9800GTX同样提升整整一倍,从而避免出现显存资源拖性能后腿的情况。在容量方面,GeForce GTX 280、GTX 260分别内建1GB和896MB的显存容量,也比上一代GPU提升了一倍。
针对通用计算的加强
一款GPU能够具有多高的通用计算,不仅决定于GPU的硬件指标,与其内部设计关联更大。在这一点上,GeForce GTX 200发扬了G80的优良传统,不过更为关键的是引入了SIMT(Single instruction-multiple thread)单指令多线程架构,从而保证GeForce GTX 200的每个线程处理器能够全负荷工作。
GeForce GTX 280与Penryn的DIE面积对比, |
必须提到的是,GeForce GTX 200执行通用计算指令的方式与传统的CPU完全不同—CPU灵活性极高,可以执行标量和矢量程序指令,但付出的代价就是计算性能很难有跨越性的提升;而GeForce GTX 200的流处理器均为标量计算单元,在执行纯粹的数学计算指令具有很高的效率—这些指令包括科学计算、气象预报、DNA建模、物理计算等等,基本覆盖了各类需密集计算的场合。
我们不妨进一步分析GeForce GTX 200如何来执行这些计算指令。前面我们介绍过,GeForce GTX 200拥有10组TPC阵列,每组TPC包含24个流处理器,而TPC阵列与流处理器对应的计算指令并不相同:TPC阵列支持MIMD(多重指令,多重数据)模式的指令,这些指令具体进入到流处理器之后,流处理器所面对的其实是SIMT(单一指令,多重线程)的情况—作为标量计算,SIMT模式无需设置矢量宽度,故而流处理器单元可以全速执行运算。
GeForce GTX 200的TPC阵列,该阵 |
在线程管理上,GeForce GTX 200也远远强于上一代GeForce 8和GeForce 9系列;后两者的每个流处理器可应对96个线程,支持的总线程数达到12288个;而GeForce GTX 200的每个流处理器可支持128个线程,加之流处理器数量提升到240个,支持的线程数也猛增到3万个以上。不仅如此,GeForce GTX 200的线程切换极其高效:倘若某个特殊线程在执行过程中需等待内存访问,那么流处理器会迅速切换到另一个线程,继续执行运算任务,不会出现资源闲置的不良情况。
除了流处理器数量提升外,GeForce GTX 200的内部设计也专门针对通用计算进行加强,例如TPC内局部缓存的容量比GeForce 8和GeForce 9均增加一倍,更大的局部缓存可以允许更长、更复杂的计算指令。另外还有一项非常重要的改进就是支持64bit双精度浮点运算—GeForce GTX 200的每一个TPC阵列内都包含3个双精度64位浮点运算单元,相当于每8个流处理器共享一个双精度浮点单元,这样GeForce GTX 200总计拥有30个双精度单元,这一特点主要针对高端科技、大型工程以及金融领域运用,以及那些需要高精度的计算任务。
GeForce GTX 280显卡实物图 |
PhysX物理计算
Ageia是PPU物理处理器概念的开创者,早在2004年,它便推出PhysX PPU及对应的物理加速卡,在实际演示中,PhysX的性能比传统的CPU高出百倍,可以为游戏带来惊人的物理效果,极大程度提升游戏的真实性。PhysX一经推出就引起业界的轰动,游戏业界迅速对其提供鼎力支持,其中包括三大游戏主机PS3、Wii和Xbox360,游戏开发者也迅速行动起来—携上述资源的Ageia理所当然成为物理加速领域的领导者,而nVIDIA收购Ageia后完整地继承了这一优势。
nVIDIA将PhysX技术融入到GeForce GTX 200 GPU中,得益于超凡的浮点性能以及灵活的密集计算架构,GeForce GTX 200的物理计算能力比前代产品有了巨大的提升。而在具体实现上,GeForce GTX 200采用了PhysX的技术,在驱动程序层面实现GPU物理计算—相比Havok的GPU物理加速,PhysX技术的优点在于可以获得大量游戏的支持,这样,在GeForce GTX 200上市之后,3D游戏即可开启物理效果,带来更具真实性的3D视觉。
运用PhysX物理效果的爆炸场景,可提供极高的真实感。 |
PhysX驱动是通过nVIDIA的CUDA平台实现,即通过CUDA硬件接口获得GPU的支持,由于每个流处理器都带有16KB的高速缓存,这样可大大节省运算时调用较慢的外部显存上消耗的时间,具有很高的运算效率。此外,GeForce GTX 200的运算核心均支持冲突处理、重组排序、单指令多纹理,同时其标量架构以及其支持的高级线程化,可以非常好地适应高度密集的物理运算。我们可以在下面的表格中了解到GeForce GTX 200家族的高端型号GTX 280同四核Core 2 Quad的物理性能对比,GTX 280在物理运算主要消耗的浮点运算能力上超出了Core 2 Quad近10倍,流体特效、布料特效、人体柔性特效上的处理能力也都超出Core 2 Quad的12至15倍。
PhysX可支持大量的物理效果,目前游戏中主要应用到的只是人体柔性、力场、粒子碎片等少数几个效果,这几个效果应用广泛,在支持PhysX技术的硬件环境中也都可以流畅运行—如果改用CPU来运行的话,实现同样效果的话将非常吃力。除此之外,PhysX还可支持包括:刚体动力、冲突检出、反向隧道、裂缝、跳跃、启动加速等在内的许多视觉效果,而对于动态物理效果,PhysX也提供大量的候选,其中包括布料效果、金属变形、力场、物理阴影、烟雾、流体等等,这些动态物理效果也都可以通过PhysX技术来实现。截止到目前,已经有超过150款游戏支持了PhysX技术,换句话说,这些游戏将可以在GeForce GTX 200平台中完美运行,而GeForce GTX 200也是运行这些游戏的不二选择。这股风潮在未来还将继续下去,因为已有超过25000名游戏开发人员在为PhysX工作,世界上几个顶级的游戏开发组织也都宣布采用PhysX技术来实现物理计算,比如我们熟悉的UE3、Gamebryo、Diesel、Vision3D几个超级游戏引擎也都全部支持PhysX,而作为游戏开发工具Softinage、XSI、Autodesk、3DSMax、Maya和Natural Motion(角色动画软件)、Speedtree(实时树状图形解决方案)都为PhysX作好了准备。
其他硬件规格
夸张的晶体管集成度预示着GeForce GTX 200将成为新一代的电老虎,其中高端定位的GeForce GTX 280的TDP功耗高达236瓦,全速运行时的功耗和发热量都非常夸张。为了满足供电和散热的需要,GeForce GTX 280显卡设计得颇为夸张,硕大的散热器覆盖了整块显卡,显卡的长度也达28厘米。不过,GeForce GTX 200具有优秀的能源管理技术,这让它可以在非3D状态下保持冷静运行,如在空闲/2D模式下,显卡的功耗低于25W,比一颗移动处理器的能耗还低,也仅为最大功耗的十分之一;播放蓝光高清电影或DVD时,显卡的能耗则低于35瓦—倘若用户使用HybridPower的nForce主板(比如nForce 780a),那么GTX 200 GPU就可以在不执行其他高效绘图操作时完全关闭独立显卡供电,由板载GPU完成显示输出任务,此时显卡本身的能耗几乎为零。
RV770 GPU芯片,DIE尺寸仅为GeForce GTX 280的二分之一不到 |
在nVIDIA发布GeForce GTX 200数天之后,AMD也正式推出代号为RV770的新一代图形核心,并将其命名为Radeon HD 4800系列。从RV770开始,AMD与nVIDIA正式分道扬镳—AMD没有再沿用设计高复杂度芯片、然后再衍生出中低端产品的套路,而是设计中等复杂度的芯片,然后以多芯片设计来构建高端产品。这种设计的优点在于技术难度更低,制造上也更为容易,另外它拥有非常明显的成本优势,可以保证产品的性价比优于对手。
物理规格参数
RV770是在上一代RV670和R600的基础上增强而来,它显著的改进就是将流处理器数量从上一代的320个提升到惊人的800个,以此来实现效能的大幅提升。而与上一代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瓦,这个数字明显低于GeForce GTX 280,不过考虑到182瓦的GeForce GTX 260才是它的对手,RV770的功耗指标也不能过于骄傲。
SIMD流处理器架构
我们知道,AMD上一代R600(Radeon HD 2000系列)和RV670(Radeon HD 3000系列)都拥有320个流处理器—虽然数量比nVIDIA G80多了许多,但由于架构不同,两者的数量差异其实没有什么可比性。具体点说,AMD GPU的流处理器采用的是单时钟周期处理5个标量乘加指令的设计,也就是我们常说的4D+1D设计。这种设计在运算时间的灵活度和执行效率均不如nVIDIA的全1D式设计,但所带来的好处就是流处理器单元的设计复杂度低,因此可以轻松增加流处理器的数量,通过数量的优势来弥补流处理器效率较低的不足。因此,虽然R600和RV670都拥有320个流处理器,数量远多于G80和G92,但它们的晶体管集成度却更低,性能也不如对手。
RV770的流处理器架构示意 |
RV770同样继承了4D+1D的流处理器设计,不过它将流处理器的数量提升到惊人800个,相当于RV670的2.5倍!800个流处理器实际上是这样配置的:RV770 GPU核心由10个SIMD核心构成,每个SIMD核心都包括16个流处理单元、独立的纹理单元和L1缓存。由于取消了共用的缓存,各核心可以直接通过Global DataShare Unit互相沟通,这样做可降低传输延迟,提升协作效率。此外,每个流处理单元又包括5个ALU,这样一个SIMD核心有80个ALU—由此就推算出RV770的ALU总数达到800个,这也就是AMD所说的800个流处理器。而与上一代RV670有所改进的是,RV770的流处理器都可以进行整数运算,这样可明显提升GPU应用的效能。
RV770的流处理器频率与核心频率保持一致,其中,中端定位的Radeon HD 4850 GPU频率为650MHz,稍高定位的Radeon HD 4870 GPU则达到750MHz,它的理论浮点性能高达1.2TFLOPS,比GeForce GTX 280高出不少—不过理论性能的对比并没有太大意义,由于两者架构不同,它们的实际表现无法从理论浮点性能中看出,譬如AMD上一代RV670同样在理论浮点性能指标方面占优,但实际性能却明显落后于对手。
纹理单元与显存总线
RV770的每个SIMD核心都拥有4个纹理单元,换言之RV770的纹理单元总数为40个(GeForce GT200为80个),每个纹理单元内都包括8个纹理定址单元、20个32位浮点纹理采样单元和4个纹理过滤单元。ROP光栅单元的数量虽仍为16个(GeForce GT200为32个),但是AMD对其进行重新设计,将AA反锯齿运算交由流处理器处理,从而显著提升AA性能;另外提供透明、雾化效果的运算单元也被剔除。
RV770放弃了Ring Bus显存架构,改用传统的多路交叉显存总线。原因在于Ring Bus架构虽可提供更高的带宽,但数据延迟率过高,抵消了高带宽优势,同时该架构需要耗用更多的晶体管,实际效益并没有优于传统方案。有鉴于此,RV770走了回头路:它仅采用256bit位宽显存总线,不过可支持高频率的GDDR5,由此保障较高的显存带宽。
通用加速与物理计算
RV770同样为通用计算作好了准备:统一渲染架构、数量众多的流处理器、卓越的浮点性能让它具备通用加速的能力,但遗憾的是,AMD未能打造一套通用开发平台,仅提供ALC/Brook+开发工具,设计者仍需借助DirectX、OpenGL之类的API与硬件沟通,问题在于无论DirectX还是OpenGL,目前都只是图形API而没有针对通用计算设计,开发者不得不为此大费周章。也是由于这个原因,AMD所推出的FireStream流处理器平台一直未见大的起色,而以AMD糟糕的现状来看,AMD无力构建起能与nVIDIA CUDA相提并论的开发环境,只能联手其他厂商和机构走开放标准的道路—还算幸运的是,微软将通用计算作为DirectX的未来方向,下一代DirectX 11将增加新的计算技术,允许GPU从事更多的通用计算工作而不仅仅从事3D渲染,这可以鼓励开发人员更好地将GPU作为高并行处理器使用。但问题在于,CUDA目前已经确立了在通用计算领域的领先地位,一旦这种领先继续扩大,那么CUDA恐将成为GPU通用计算领域的事实标准;而DirectX 11要等到2009年才能发布,这对AMD尤其不利。
AMD Radeon 4870X2显卡,通过两枚 |
当nVIDIA宣布PhysX物理加速驱动的时候,AMD也不得不重启一度中断的GPU物理加速技术—AMD原本在两年前就与Havok展开合作,但在Havok被英特尔收购后合作被迫中断,出于共同的担心,AMD与英特尔又走到了一起:AMD继续与Havok联合开发GPU物理加速技术。不过,Havok在游戏业界的支持度根本无法同PhysX技术相提并论,更何况nVIDIA的PhysX驱动即将发布并投入正式使用,而AMD的物理加速还处在开发阶段。
RV770的多芯片构建
RV770 GPU内直接集成了CrossFireX端口,多枚GPU可以直接建立交叉火力模式,以此来同nVIDIA的高端产品相对抗。Radeon HD 4870X2便是这样的产品—该款显卡的开发代号为R700,它其实就是由两枚RV770 GPU组成,由一枚桥接芯片提供的PCI-E 2.0通道互连(上一代Radeon HD 3870X2的桥接芯片只支持PCI-E 1.0)。Radeon HD 4870X2的规格十分可怕:GPU总计超过18亿颗晶体管,拥有1600个流处理器、80个纹理单元、32个渲染后端单元、32个光栅化单元,浮点性能达到2.4TFlops,拥有2GB GDDR5显存、2×256bit位宽和高达230GBps的内存带宽,各项指标完全压倒nVIDIA的GeForce GTX 280。实际测试成绩也在意料之中:Radeon HD 4870X2在各款3D游戏的实际测试中以大比分全面超越GeForce GTX 280,而单芯片的Radeon HD 4870也有优秀表现,性能在GeForce GTX 280与GTX 260之间。
与卓越性能相对应的是极富竞争力的价格:Radeon HD 4870X2售价为549美元,国内售价预计在3999元人民币左右,而GeForce GTX 280目前的价格为650美元,虽然7月份小降到549美元,但伴随着Radeon HD 4870X2的上市,nVIDIA或许应该发起新一轮的降价。单芯片Radeon HD 4870的售价为299美元,与目前的GeForce GTX 260大体持平。#p#page_title#e#
今天的GPU已经发展成为一种具有广泛用途的超级浮点处理器,而非仅仅局限在3D渲染。首先,统一渲染架构让GPU在硬件上变得更为灵活,计算单元不再只针对顶点渲染或像素渲染,而可以执行特定的通用计算指令,当然这要求通用程序指令符合GPU的运行要求。其次,nVIDIA已经创建了完整的CUDA开发平台,这套平台包括硬件API、开发工具和编译工具,开发者可以在CUDA上完成通用程序的编制,由于CUDA采用C、C++这样的中级语言,且具备完整的硬件API接口,开发者不必深入研究硬件细节即能编制出通用程序,大大减轻了开发者的负担。而对于GPU通用加速,业界的反应极为积极。
作为平台的创建者,nVIDIA也将通用加速推向实际应用,它让GPU来负责物理计算任务并获得巨大的收益。这项计划在2年前便开始启动,当时Ageia公司推出PhysX PPU物理处理器,其性能大幅度优于传统的多核芯片;为与之抗衡,nVIDIA谋求利用GPU来进行物理计算,为此它与Havok合作,试图利用Havok Fx引擎来实现GPU物理加速。不过这项计划并没有进行下去,因为Havok公司在今年初为英特尔收购,而nVIDIA则迅速作出应对,将Ageia公司收之麾下,在此之后nVIDIA的物理计算计划随之转向。不过,nVIDIA并没有考虑继续推出单独的PhysX PPU芯片,而是将其与GPU结合,最终仍由GPU来负责物理计算—只要用户安装PhysX驱动程序,便能够开启相应的功能。在实际测试中,GPU物理加速效果出众:在Core 2 Extreme QX9650 OC 3.8GHz平台上,单纯使用CPU运行测试后,3DMark Vantage总分P10392,而改用一块GTX 280配合PhysX驱动后升至P12468分,提高幅度20.0%;而CPU子项的变化更为惊人,得分从15005飙升至42436,增幅高达182.8%,也就是几乎达到原来的三倍!这个案例足以说明GPU通用加速的优势所在。
GPU加速的第二个应用就是在图像处理领域。Adobe公司即将推出的Photoshop CS4对GPU加速提供本地支持,可以借助GPU来完成图像处理所需的巨量浮点运算。在实际演示中,Photoshop CS4轻松地打开一个2GB、4.42亿像素的图像文件,响应速度与在Intel Skulltrail八核心系统上打开一个500万像素文件一样迅速,而对图片进行缩放、旋转也不会存在任何延迟,处理速度比目前顶尖的四核处理器都快出十倍以上!GPU通用加速的威力在这里也得到充分体现。
除了高负荷的运算外,GPU加速还应用于PDF浏览、3D桌面等领域,并将其延伸到网页Flash播放加速中。这些应用虽然不要求密集运算,但GPU加速功能可以显著提升用户的体验:比如在查看稍复杂的一些PDF文档时,无论用户使用多高配置的电脑,都会遇到文字/图像显示滞后的情况,而启用GPU加速功能之后PDF文档的内容显示则没有任何的延迟。3D桌面不仅可以带来动感十足、漂亮动人的桌面GUI,而且可以有效提升桌面操作的响应速度,让用户为之心情畅快。网页Flash动画极其消耗CPU资源—即便你使用高端四核平台,在打开一些含Flash较多的网页时都会遭遇CPU占用率飙升的情况,严重拖慢了电脑的整体性能,这在某种程度上被认为是一个大笑话—毕竟Flash动画远比高清视频播放任务来得简单;同样,GPU加速可在此领域大显身手,GPU接管了Flash动画的解码任务,让CPU获得解放,而以GPU在视觉方面的卓越效能来对付Flash动画无疑是小菜一碟。
AMD同样意识到GPU通用计算的价值,但由于技术实力所限,AMD未能拿出类似CUDA的开发平台,以至于开发者要为AMD GPU编程困难重重,在这种情况下,AMD很难获得开发者的青睐,也无力阻止CUDA成为该领域的事实标准。不过,DirectX 10与统一渲染架构同样赋予AMD GPU卓越的灵活性,它同样可加速3D桌面、PDF、Flash动画等与视觉有关的应用,至于物理计算领域,AMD选择与Havok合作的方式进行,遗憾的是,这项合作计划刚开始恢复,尚不知晓何时能够正式投入应用。
nVIDIA凭借CUDA平台占据了通用计算的制高点,这让它在新一轮图形大战中占得先手。我们可以预见,未来的GPU之战不再像过去那样只是产品性能的简单对抗,通用平台的支持将成为越来越重要的影响因素。#p#page_title#e#
早在GeForce 6时代,利用GPU来进行通用计算的应用已经开始,譬如在2004年9月份,剑桥大学的BionicFX小组就率先采用GeForce 6800图形处理器来完成音频效果的计算。不过当时开发者必须通过图形API来获得硬件调用能力,而传统的图形API仅仅提供了图形操作的功能,没有提供类似于CPU那样通用计算的接口,编制针对GPU平台的高并行计算程序异常复杂—剑桥的BionicFX小组是通过一项自行发明的AVEX(Audio Video EXchange音频视频转换)技术实现GPU加速的,AVEX的工作原理是将音频流转换成图形格式的数据,这些图形数据在GeForce 6800 GPU上按照像素或区格来进行处理(按音频效果算法),并于显示内存中读取结构,最终计算结果再被还原为音频信号,由此完成了GPU处理音频效果生成的全过程。很显然,这样的实现委实过于复杂,而且通用计算程序的开发者们不可能都像BionicFX一样自行开发翻译程序,而只要这个问题没有得到妥善解决,用GPU进行通用计算处理永远都只是空中楼阁。
意识到这一点,nVIDIA认为有必要为开发者提供专用的通用计算API及开发环境,CUDA便是这种构想的产物。CUDA很大程度参照了图形API,重点在于驱动程序和函数库方面的扩充,该平台包括一套标准的FFT与BLAS库,以及一个专门针对nVIDIA GPU设计的C编译器(NVCC)。借助CUDA平台,开发者可以编制出能够为GPU执行的高并行运算程序,负责编译的NVCC编译器则是一个预处理器和编译器的混合体:当遇到CUDA代码的时候,自动编译为GPU执行的代码,也就是生成调用CUDA Driver代码。如果碰到标准C++代码,则调用平台自己的C++编译器(Visual Studio C++)进行编译,代码的执行工作是由CPU来完成。
CUDA创建了一套非常完整的通用计算开发环境,开发者现在不需要考虑GPU硬件的问题,也不需要费尽心思研究如何将密集计算指令翻译为图形渲染指令,而只要调用CUDA提供的函数库即可编制出想要的程序。如果说要有不足,那么就是采用CUDA环境开发的程序只能在nVIDIA GPU的硬件平台上运作,属于nVIDIA私有的技术。
在经历漫长的沉闷之后,AMD终于一扫阴霾,凭借创新设计重新夺回主动权。RV770所开创的多芯片拓展设计非常成功,它不仅确保AMD能够在不牺牲利润的前提下继续保持性价比优势,同时还能够在性能方面压倒对手。AMD认为,nVIDIA最终也将走上这条道路,GeForce GT200也许是最后的巨无霸芯片,毕竟传统设计的高难度和高成本并非必要,图形厂商现在有了新的选择。
凭借性能和性价比的优势,AMD将恢复自身在图形市场的应有地位,维持对等竞争的格局,这对于消费者显然非常有利,因为我们可以更低廉的价格买到更好的产品。AMD的隐忧在于物理加速、通用计算全面落后,问题在于这两个领域更多是软件层面,AMD暂时没有有效的应对之策,所幸物理加速和通用计算的应用还不算普遍,PC用户不会太刻意顾及这一点,否则AMD的优势将被大大削减—但我们可以看到,留给AMD的时间其实不多了。
在2009年,图形市场将迎来第三个力量:英特尔将正式发布传说已久的Larrabee,这场竞争也许更多是在英特尔和nVIDIA之间展开,焦点在于通用计算平台的争夺战:nVIDIA的CUDA将与英特尔的Larrabee X86扩展指令展开一场对抗,或许胜算更多朝向nVIDIA倾斜,毕竟CUDA已拥有足够多的应用基础。