抢活干!GPU剑指CPU——13款显卡通用计算能力大阅兵

主题策划

在以前,GPU和CPU那是井水不犯河水,各自分工明确,相安无事。不过随着GPU运算能力越来越强,在进行单一项目运算方面的性能已经超过CPU。因此,在某些应用中,GPU开始逐渐替代CPU来完成一些工作,并且完成这些工作的速度比CPU还快——我们把这叫做GPU的通用计算,用以区别GPU的老本行:3D运算。

标题.jpg

GPU通用计算能干啥?

现在,GPU的通用计算已经逐渐开始规范化,例如一些标准的API(应用程序接口),包括OpenCL、微软DirectX里的Direct Compute等等,已经得到不少软件的支持。在GPU的通用运算应用中,最具有代表性的就是NVIDIA和AMD显卡所提供的视频转码、物理加速、科学运算等等功能——以前这些可都是CPU的活儿。总结下来,对于DIY玩家来说,目前最有价值的应该算视频编解码、物理加速这两大功能,用GPU来运算的话,会比CPU的效率还要高很多。

物理加速:这是很多游戏中模拟真实世界物理效果的一种特效,以NVIDIA的PhysX和AMD的HARVOK两种引擎为代表,其中PhysX相对来说更依赖GPU一些,HARVOK则偏重CPU与GPU的综合性能。相对来说,玩家们接触到的PhysX游戏要多一些,更具有实际意义。

视频编解码:NVIDIA的GPU可以通过支持CUDA(针对GPU的“C语言”)的软件来调用流处理器单元对视频编码和解码进行加速,从而大大提升视频处理的效率;AMD的GPU同样拥有类似的能力,例如在催化剂10.6版驱动的控制中心里就自带了AVIVO Video Converter视频转码工具。另外,第三方软件厂商也为它们推出了不少专用的视频转码工具,利用它们,你可以轻松地把下载的电影和视频转换成PSP、MP4、手机、iPod、iPad等设备支持的格式——而且转换效率比用CPU快。

29-d3-1.jpg
物理加速被充分运用到很多游戏当中
29-d3-2.jpg
用支持GPU加速的转码工具可以更快地把视频转为手持设备支持的格式

小提示

用GPU进行视频编解码时,整机功耗会比用CPU来完成这些工作更低。根据测试,使用Radeon HD5850进行转码时,比用Core i3 530转码时的功耗大约要低20W,用GPU对高清视频进行硬解码的时候也是如此,大约也会低20W。这也算是GPU通用计算在节能方面的一点好处。

哪些显卡支持通用计算?

由于现在主流的显卡都使用了多个流处理器的架构,所以只要不是太老的显卡,都可以支持通用计算(只限于AMD和NVIDIA的显卡,如果你的独立显卡是近两年才买的,那么恭喜你,它肯定可以支持通用计算)。说详细点,NVIDIA的GeForce 8系列以上、AMD的Radeon X1000系列以上都可以支持,当然型号越新,对于通用计算的支持也会越完善,而且流处理器数量越多、频率越高、显存规格越高,就越能提升GPU通用计算的性能。

不过,市场中常见的显卡在通用计算能力方面到底有什么样的差异,我们应该怎么去选择适合的显卡以及对应的工具软件呢?相信通过本博士后面详细的测试与分析,能够找到一个满意的答案。

29-d3-3.jpg
主流显卡基本上全部可以实现对通用计算的支持

GPU“夺权”军团点兵

测试平台

处理器:Core i3 530

主板:华硕P7P55D Deluxe

内存:金士顿DDR3 1600 2GB×2

硬盘:金士顿SSDNow V+ 64GB

电源:金河田860ELA

显示器:长城A201

系统:Windows7 旗舰版

驱动程序:催化剂10.6

ForceWare 258.96WHQL

N氏绿营团

NVIDIA方面,我们选择了从GeForce GTX470到GeForce 210几乎全线的主流产品,代表了从高端DX11游戏显卡到入门高清显卡各种档次,大家可以根据显卡性能、价格去综合衡量,找出最适合自己的“通用计算”产品。

GeForce GTX470

29-d3-4.jpg
参考价格:2499元

核心/显存频率:607MHz/3348MHz

流处理单元:448

显存规格:1280MB/320bit

GeForce GTX260+

29-d3-7.jpg
参考价格:1199元

核心/显存频率:625MHz/2000MHz

流处理单元:216

显存规格:1GB/256bit

GeForce GTS250

29-d3-8.jpg
参考价格:799元

核心/显存频率:650MHz/2000MHz

流处理单元:128

显存规格:1GB/256bit

GeForce GTX460

29-d3-5.jpg
参考价格:1399元

核心/显存频率:675MHz/3600MHz流处理单元:336

显存规格:768MB/192bit

GeForce GTX275

29-d3-6.jpg
参考价格:1599元

核心/显存频率:633MHz/2268MHz

流处理单元:240

显存规格:896MB/448bit

GeForce GT240

29-d3-9.jpg
参考价格:549元

核心/显存频率:550MHz/3400MHz

流处理单元:96

显存规格:512MB/128bit

GeForce 210

29-d3-10.jpg
参考价格:299元

核心/显存频率:590MHz/800MHz

流处理单元:16

显存规格:128MB/64bit

A族红衫军

AMD方面,除了主流的HD5000系列,我们还加入了Radeon HD4750这种代表上一代通用计算核心的产品,大家可以将它和主流的DX11产品对比一下。

Radeon HD5850

29-d3-11.jpg
参考价格:2399元

核心/显存频率:760MHz/4200MHz

流处理单元:1440

显存规格:1GB/256bit

Radeon HD5750

29-d3-12.jpg
参考价格:899元

核心/显存频率:700MHz/4600MHz

流处理单元:720

显存规格:1GB/128bit

Radeon HD5670

29-d3-13.jpg
参考价格:699元

核心/显存频率:750MHz/4000MHz

流处理单元:640(特别版)

显存规格:512MB/128bit

Radeon HD5550

29-d3-14.jpg
参考价格:549元

核心/显存频率:775MHz/4000MHz

流处理单元:320

显存规格:512MB/128bit

Radeon HD5450

29-d3-15.jpg
参考价格:399元

核心/显存频率:650MHz/3200MHz

流处理单元:80

显存规格:256MB/64bit

Radeon HD4750

29-d3-16.jpg
参考价格:649元

核心/显存频率:750MHz/3200MHz

流处理单元:480

显存规格:512MB/128bit

通用计算大比拼之一:视频转码

利用GPU的通用计算能力来对视频文件进行转码是最常见的应用,不少朋友都会将下载的视频和电影通过转码工具转换成移动手持设备可以观看的格式,这在以前,都是通过CPU的运算来完成,自从GPU通用计算兴起以来,这些工作都可以交给GPU来完成了,多数情况下效率比CPU还要高很多。下面我们就用实际的测试来对前面13款显卡的视频转码能力进行考查。

通用转码测试

这里,我们选择了CyberLink出品的转码工具MediaShow Espresso来进行通用转码测试,因为它同时支持NVIDIA和AMD显卡的视频编码硬件加速功能,因此我们可以比较在使用这款软件转码时各款显卡的效率、CPU占用率,同时也可以比较GPU转码与CPU转码的效率差距。

AMD方面,虽然开启硬件加速后,转码效率提升幅度一般,但CPU的占用率却有了非常大的变化,直接从80%以上降到了20%以下,可见硬件编码还是起了很大的作用。这就意味着,你完全可以用显卡来进行视频转码,同时再打开一部高清电影欣赏,让空闲出来的CPU去完成视频解码工作,此时的系统依然十分流畅。另外,值得注意的是,Radeon HD5450在这里无法打开硬件加速功能。

NVIDIA方面,开启硬件加速后,CPU占用率比软件加速的情况下要低50%左右,但要比AMD显卡高出15%左右,只是我们可以明显看到,GeForce GTX400系列和GeForce GT240在这里的转码效率明显比其他NVIDIA显卡以及AMD显卡高很多,几乎快了30%。另外,GeForce 210则显得比较惨,转码速度比用CPU还慢很多,看来太低端的GPU用来完成通用计算也不太适合。

29-d3-17.jpg
MediaShow Espresso同时支持AMD和NVIDIA显卡的GPU编码加速
29-d4-b1.jpg

NVIDIA专用转码工具测试

除了通用转码工具外,NVIDIA和AMD也有针对自己显卡优化的转码工具,通过这些专用工具,我们可以纵向比较两家显卡的通用计算能力区别,方便选购。NVIDIA方面,我们选用了Media Coder CUDA加速版,它专门针对NVIDIA的CUDA而开发,可以充分利用到NVIDIA显卡的通用计算能力。

从测试情况来看,显卡越高端,转码速度就越快,这与NVIDIA显卡本身的流处理器个数、显存大小与位宽都有关系。所有参测的NVIDIA显卡在转码的时候,CPU占用率在40%~60%之间,基本上与显卡性能成反比。

29-d3-18.jpg
Media Coder CUDA加速版专门针对NVIDIA的GPU进行优化
29-d5-b1.jpg

AMD专用转码工具测试

和NVIDIA的专用转码工具类似,在AVIVO Video Converter中,各个档次的AMD显卡转码效率基本上也没太大区别,换句话说,只要你的AMD显卡支持通用计算,都可以很顺利地使用AVIVO Video Converter工具来制作手持设备观看的电影文件。

29-d5-b2.jpg

通用计算大比拼之二:Flash硬件加速

Adobe在Flash Player 10中就加入了对Flash的GPU硬件加速功能,这对于我们有什么意义呢?现在的网页上有很多Flash广告,加入GPU加速功能后,就能大大降低其对CPU的占用率,从而提升系统的响应速度,改善用户使用感受。另外,还有最重要的一点,GPU对Flash的硬件加速也包括了对FLV视频文件的加速,要知道对于喜欢在土豆、优酷之类的视频网站上看电影、看连续剧的朋友来说,这个功能非常具有实际意义,它可以让FLV视频播放更流畅,同时也降低CPU的占用率,这好处大家都明白。所以我们专门针对FLV视频进行GPU的硬件加速测试。

从测试结果来看,AMD和NVIDIA显卡对于FLV的硬件加速效果区别比较明显,整体上来讲,开启和关闭Flash硬件加速,CPU的占用率的确有变化,只是在AMD的GPU上,开启硬件加速后,播放FLV的CPU占用率更低一些。当然,从纵向来看,两家不同档次的GPU表现差别不大,这与FLV硬件加速本来对GPU的要求就不算高有一定关系。但不管怎么说,开启GPU加速,对播放FLV视频文件肯定有一定好处。

29-d5-b3.jpg

通用计算大比拼之三:物理加速

这里我们主要针对NVIDIA显卡的PhysX物理引擎进行测试,考查NVIDIA各档次显卡在运行PhysX这样的通用计算加速时的性能。为了让GPU全力运算物理特效,杜绝3D运算负荷影响测试结果,我们采用了“子卡物理加速”的方案,也就是用一块固定的显卡做主显卡,负责3D运算,待测的NVIDIA显卡都作为子卡,专门提供物理运算,这样就能清楚地看到每款NVIDIA显卡的PhysX运算能力。

从测试结果可以很清楚地看到,3D性能越好的NVIDIA显卡,在3DMark Vantage和《蝙蝠侠:阿卡疯人院》的物理加速测试中得分越高,而GeForce 210的物理加速能力的确显得太弱了,以至于将它作为物理加速子卡的时候,NVIDIA的控制面板程序自动屏蔽了它的物理加速选项(其实还是能用),所以你要单独购买一块NVIDIA显卡作为物理加速子卡的话,建议至少购买GeForce GT240或者更高档次的产品。

小提示:NVIDIA已经在258.96版WHQL驱动程序中屏蔽了“A+N”物理加速模式,如果你想为你的AMD显卡选购一款NVIDIA显卡来完成PhysX物理加速的话,请使用256.69 Beta版驱动程序(但它不支持GeForce GTX460,如果你正好用的是这款“高档物理子卡”,那么就只有“杯具”了)。

29-d5-b4.jpg

疯狂博士有话说>>

GPU通用计算应用逐渐普及

就目前主流的NVIDIA和AMD显卡来说,通用计算能力已经比较强,应付诸如视频转码、高清解码、Flash加速可以说是比较轻松。其他方面的应用也开始扩展,例如NVIDIA针对Adobe Photoshop开发的滤镜插件,就可以支持GPU硬件渲染。这些功能的好处对于用户来说都是实实在在看得见的,虽然还需要更多的第三方软件厂商来支持和完善已有的产品,但我们已经可以看到GPU通用计算在未来必然会成为主流应用。

另外,从软件支持度来讲,目前看来是NVIDIA的CUDA得到的支持更多一些,不少视频转码软件,例如暴风转码、Media Coder、Badaboom等等都只提供了对CUDA加速的支持,诸如PhysX物理加速这类应用更是NVIDIA的专利。好在,“A+N”的双卡加速模式是可行的,在一定条件下,支持双显卡的平台都可以用上NVIDIA显卡的通用计算,所以这一点对于DIY玩家来说还是很有意义的。

用子卡进行通用计算

相信对于DIY玩家来说,使用NVIDIA显卡作为物理加速或者是CUDA通用计算加速子卡的方案并不陌生,很多发烧一点的玩家已经在这样用,那么这样对于普通玩家来说是否有意义呢?这需要根据本身的配置和应用需求来判定。

首先,你需要有一块能够支持双显卡的主板,无论是AMD还是Intel平台都可以,只是如果使用AMD平台的话,NVIDIA显卡的性能在上面会有一定打折,因此如果是新购机并打算使用子卡加速模式的话,最好还是选择Intel平台(例如P55)。

如果你的主显卡3D性能不错,你也经常玩大型游戏,同时也需要进行视频转码或者提供物理加速功能(要求不占用主显卡的资源),那么可以单独购买一款NVIDIA显卡来作为通用计算子卡(相比之下,NVIDIA显卡作为子卡的实际意义要比AMD显卡更大)。而这款子卡到底要多高档呢?从本次的测试来看,GeForce GT240作为通用计算子卡是个性价比不错的选择,如果选择更低端的210或者老一代的8系列N卡,一是性能难以保证,二是软件兼容性很难说,三是购买价值较低,不划算。当然,本博士也鄙视使用双GTX460这类“烧得慌”的方案来实现一卡3D、一卡通用计算,用它们来组个SLI系统,3D和通用计算一起搞定明显更合理。

一些通用计算应用的推荐

简单总结一下,对于AMD显卡来说,AVIVO Video Converter转码出来的效果还并不能让人满意,BUG比较明显,所以建议使用支持GPU加速的第三方视频转码软件,例如CyberLink MediaShow Espresso V5.5,速度和质量都让人满意。对于NVIDIA显卡来说,Media Coder CUDA加速版是很好的选择,可以直接转成各种手持媒体设备(苹果系列、PSP、MP4、智能手机等等)支持的视频格式,操作非常傻瓜化,当然对于高手来说设置项就太少了,因此如果有更高的要求,可以使用Media Coder完整版。

至于物理加速,GeForce 210之类的显卡物理加速能力就是个“杯具”,在一些第三方转码软件里速度还比不上主流的处理器。如果打算使用GPU通用计算,请尽量选择Radeon HD5550和GeForce GT240甚至更高级别的显卡。