通用计算大PK 视频编码加速实战测试
导言:
众所周知,早在2006年,ATI显卡方面率先利用X1000系列显卡前瞻的GPU架构设计,将GPU强大的并行处理能力应用在了3D处理以外的领域,获得了明显的效果,震撼了当时的PC业界。时过境迁,ATI已经归入AMD旗下,而昔日的老对手也通过新一代GPU架构的设计在通用计算领域发力。从2006年至今,由于双方企业的定位判断有所不同,两家具有顶尖GPU设计能力的企业AMD与NVIDIA在GPU的通用计算上进行了暗自的较量。视频处理,蛋白质折叠计算,密码破解等等适合并行设计的软件最先利用了GPU的处理能力,不过目前为止,双方推荐的能利用到GPU处理能力的常用软件多为双方专属阵营的产品,例如AMD方面在驱动中赠送的Avivo Video Converter视频转换工具以及NVIDIA方面推荐的Badaboom。由于双方推荐的软件均针对各自不同的设计理念而编制,且最终的画质效果,速度,GPU的利用率也差异较大,因此很难进行直接的对比。


这种状况在今年得到了改变,去年12月AMD方面推出催化剂8.12,宣布在桌面显卡产品上加入AMD Stream流处理加速技术时就已经声明,在2009年第一和第二季度,采用AMD Stream加速技术的若干款软件产品就将推出。今年2月,热衷于尝试新技术的讯连科技(Cyberlink),如期推出了针对Intel Core i7处理器,AMD Stream技术,NVIDAI CUDA技术进行优化的威力导演 7 极致版视频处理工具升级包(CyberLink PowerDirector 7 Ultra 2519版升级包) 。本月,讯连科技再次推出后作:专门针对大众视频转换需求而设计的MediaShowEspresso软件, 该软件同样针对Intel Core i7处理器,AMD Stream技术,NVIDAI CUDA技术进行了有效的优化,可以非常便捷的针对Apple设备(iPod、iPhone)Sony设备(PSP、PS3),微软设备(Zune、Xbox),YouTube在线视频以及包括MPEG4、MPG2、WMV、DivX等等制定格式进行视频转码工作,同时其针对不同的硬件,不同的技术但保证相同画质的设计也给了我们针对两种GPU加速技术进行对比的有效方式。

因此,本次我们也选用了两款定位相近,售价相近的显卡产品AMD旗下的ATI Radeon HD4830显卡与NVIDIA旗下的Geforce 9800GT,双方显卡均采用公版频率进行一次面对面的PK测试。事实上我们本次测试的重点并不在于让双方的产品进行你死我活的PK,而是更希望能一窥GPU通用处理的前景与应用过程中的细节,给关心和希望充分利用GPU强大处理能力的用户一个有价值的参考。
MediaShowEspresso软件介绍:
本次测试的Cyberlink MediaShowEspresso是近期发布的视频处理工具中相当强劲的一款,其针对不同设备的特别设计,靓丽的操作界面,以及针对不同硬件技术的优化都相当诱人。喜欢在随身携带的设备诸如iPhone,Zune等等上观看视频的用户,以及喜欢使用YouTube等在线视频网站的用户绝对不应该错过。

Apple设备自然是第一选项

PSP及PS3也包含在其中

微软Zune设备自然不会缺席

YouTube所需格式
该软件支持直接将视频转化为YouTube网站所需的格式,并且立刻上传至网络。

除了前面四种标准设备外,讯连方面也提供了用户自定义的设置,用户可以根据自己的需求设置格式及具体的细节。

基础设置在左上角的图标之中
在基础设置选项中,MediaShowEspresso提供的选择较为简单,主要为语言选择及并发线程数。
测试平台介绍:
CPU
Phenom II X4 955 Black Edition(黑盒)
主板
微星790FX-GD70
显卡
ATI Radeon HD4830 公版
NVIDIA Geforce 9800GT 公版
内存
Kingtiger DDR3-1333 2G
硬盘
三星金宝SATA 1TB
电源
长城双卡王发烧版BTX-600SE
显示器
明基G2400W
软件环境
操作系统
Microsoft Windows
Vista
32bit SP1
显卡驱动
GeForce Release 185.85
ATI Catalyst 9.5 HOTFIX
主板驱动
ATI Catalyst 9.5 Southbridge
测试项目
测试软件
MediaShowEspresso
测试工具
Rivatunner 2.24
Fraps 2.9.4
GPU-Z 0.3.3

PCHOME硬件评测室测试平台合作伙伴
主板方面,我们选用了同样来自微星科技的790FX-GD70。

内存方面,我们选用了来自金泰克的DDR3 2GB内存套装。
散热器,我们选用了来自的AVC的蝠翼战士。

MP4视频转换速度测试:
我们选取了一段容量为1.1GB的1080P测试片段,使用标准的Apple设备模式将其压缩为MP4格式,系统提示最终容量为53MB。使用不同的显卡,启用的不同技术也分别列出在对话框的下方,例如使用HD4830显卡时则需开启AMD方面的Stream技术。

在转换过程中也会有ATI显卡Stream加速技术的标识。

使用9800GT显卡是,则由显示启用NVIDIA方面的CUDA技术。

转换过程中会有NVIDIA CUDA的标识。

在未开启GPU加速的状态下,我们得到如下测试结果:

耗时2分49秒
首先我们使用HD4830显卡进行加速测试,结果耗时2分35秒,相比未开启Stream时的状态,节约了14秒的时间。

耗时2分35秒
我们再使用9800GT显卡测试,结果耗时2分36秒,相比开启CUDA技术之前,节省时间13秒。

耗时2分36秒
考虑到视频转码过程中经常存在的误差,可以认为,两者在此测试中的表现应当说基本相同。
画质对比:
在此之前,AMD与NVIDIA双方在宣传自家可利用GPU处理能力进行视频转换的工具时,要么偏重于速度要么偏重于画质,且工具的易用性及稳定性差强人意。显然,只有知名度较高的第三方软件参与,同时利用双方的技术,在保证一直画质的前提下,两者才有对比的价值。而 MediaShowEspresso给我们提供了这种可能。

使用纯CPU转码后的效果
让我们来验证下,分别利用双方的Stream技术与CUDA技术下,两者的最终产物有没有区别:

AMD Stream技术加速转码后的效果

NVIDIA CUDA技术加速转码后的效果
可以看到,在我们所选择的测试片段压缩结果中,双方转换过后的文件最终容量几乎完全一致,画质也几乎完全相同。
生力军加入:ATI催化剂9.5驱动补丁
就在本次测试的过程中,我们及时获悉了AMD方面针对Stream加速技术在视频转换应用上,进行了一次较大幅度的改进和更新,并特别放出了ATI催化剂9.5驱动的专用补丁,该补丁事实上是一个完整的驱动安装包,纯驱动与控制中心等部分与9.5正式版基本相同,最大的改动在于Avivo Video Converter部分,版本号为:10.5.0.40522,编译时间为5月22号。

在AMD官网驱动下载点:http://game.amd.com 中,AMD方面已经明确列出了催化剂9.5补丁的应用目标:“ Cyberlink MediaShowEspresso”。

升级至最新ATI催化剂9.5补丁后,我们感受到了明显的变化,首先,GPU占用率方面,由原先的6%~20%波动幅度迅速扩大至6%~40%以上,不过或许是我们所选择的测试片段及目标格式的原因,转码所耗费的时间基本相同。


但在我们的测试中也发现了少许问题:或许是因为是这是AMD方面针对Cyberlink MediaShowEspresso发布的首款补丁而非正式版驱动的原因,该补丁在后续的四路并发转码测试的重复验证过程中,所耗费的时间波动差异较大,另外,开启和关闭ATI Radeon HD4830显卡的PowerPlay功能下,测试所耗费的时间也有一定的差异。我们强烈建议AMD方面将ATI显卡的PowerPlay功能增加由玩家手动自由控制的选项,这对ATI显卡在2D桌面状态下的性能表现与最终的稳定行有相当大的关联。因此我们希望这一状况能在ATI催化剂9.6正式版驱动及后续的驱动中得到完善。
四路并发多线程测试:
同样,MediaShowEspresso软件的强大特性也表现在多路并行转码的过程中。对视频转码软件有所了解的用户应该知道,并不是所有的视频转码软件都可以完美的支持多路并发,因为即使是易于并行化设计的视频转码软件,许多时候也不能做到完美的并行化,处理器的利用率经常性会处于半负载甚至更低的负载中。如果玩家同时开启多个软件的执行档,又可能造成冲突和崩溃,因此软件内部自身支持多路并行转码是最佳的选择。MediaShowEspresso软件可根据处理器的内核及线程数量,由玩家选择并发数。我们所使用的AMD Phenom II X4 955处理器,在首选项中支持最高4路并发。
在之前的测试中,单档转码的CPU占用率大致在50%75%之间,改为四路并发后,四核心处理器的CPU占用率则为100%,处理能力被充分利用。

在未开启GPU加速状态下,四路并行压缩的耗时为14分32秒:

同样,在四路并发状态下,使用AMD旗下的ATI Radeon HD4830显卡与NVIDIA旗下的9800GT显卡的最终测试结果如下。
使用HD4830显卡,开启AMD Stream加速技术,耗时12分14秒:

使用9800GT显卡开启NVIDIA CUDA技术,耗时11分54秒:

可见,在四路并行测试中,双方的显卡起到的加速效果更佳明显,相对而言,NVIDIA方面的表现较好,而AMD方面的HOTFIX版驱动在复杂的状态下依然有待于进一步优化,我们期待下一版ATI 9.6正式版驱动能有进一步的改善。
GPU利用率实时监测:
由于ATI显卡方面很早就开放了ATI GPU的编程接口以利用GPU功耗的变动监测GPU工作状态,因此在GPU-Z及Rivatuner中,我们可以很方便的监测ATI显卡的GPU使用率,正如AMD方面在AMD Stream技术发布时所说的那样,CPU+GPU紧密配合各司其职,充分利用两者优势的处理方式依然是未来主流的计算方案,希望单纯依靠现有CPU或者GPU承担一切工作的想法并不现实。

现有的中央处理器与图形处理器间的联系也并非最佳形态
在MediaShowEspresso这款软件的测试过程中已经可以清晰的看到,具备较高灵活度和分支预测的CPU依然扮演着主角,无论是AMD还是NVIDIA的GPU在参与视频转码的过程中都无一例外的依赖CPU的支配,尤其是在四路并发的测试中,处理器在任何时候都处于100%的工作状态,GPU则接过了由CPU挑选过的,非常适合于GPU架构处理的部分,而让CPU专心负责不易于并行处理的部分。这也就是我们在Rivatuner监测图片中所看到的GPU利用率曲线。

在另一方面,GPU的处理能力和可执行部分也确实在增加中,就在我们及时获得的ATI催化剂9.5驱动补丁包中,AMD方面对Stream技术进行了更深入的优化,大幅加强了AMD GPU在Stream加速技术中所扮演的角色,首次允许UVD引擎在视频转码过程中进行加速,同时在某些状况下降低了CPU的占用率。此外,GPU硬件缩放分辨率缩放,也接过了原先CPU在此任务过程中的繁重任务,当目标格式与源格式在分辨率上存在差异时,GPU可以直接以硬件方式识别这一任务并以较低的内存带宽占用完成这一处理过程。

测试总结:
本次测试我们本希望利用该款软件支持众多新技术的特性,对AMD与NVIDIA双方推出的Stream与CUDA技术进行一次面对面的对比,但结果却令我们感到少许失望。由测试结果可以看出,在MediaShowEspresso这款出自第三方知名软件公司的产品中,尽管对于AMD与NVIDIA双方的技术都进行了有效的利用,但显然不是在所有的应用中都可以得到“相对于CPU有数倍的提升”这样的效果,GPU起到的作用确实是一个“加速”的过程,而并非可以取代CPU。

这样夸张的效果显然不那么容易做到
同样,受限于当前GPU计算能力的开发难度,MediaShowEspresso并没有“吃光”GPU的处理资源的能力,在我们针对AMD旗下的ATI Radeon HD4830显卡RV770LE核心的利用率监测中,能在某些状态下接近50%的利用率已经相当之高。并且值得一提的是,双方的HD4830显卡与9800GT显卡在公版频率下的通用计算能力对于MediaShowEspresso来说似乎已经足够,无论我们如何提高双方显卡的核心及显存频率,所带来的速度提升都可以忽略不计。因此我们也可以说,在双方的测试结果画质相同,容量相同,所耗费的时间也相同的状况下,双方GPU通用计算能力在这款软件的应用中的利用效果应该是相当的。无论是AMD的显卡还是NVIDIA的显卡,双方的技术人员在GPU通用计算领域所作出的努力都给用户带来了显而易见的收获,对此我们感到非常欣慰。

不过,尽管双方的显卡都具备相当强劲的通用计算能力,并且随着DriectX 11世代的到来,GPU通用计算能力将得到越来越重要的体现,持有双方显卡的用户群体对于其显卡具备的通用计算能力及其应用却知之甚少。这种状况尤其体现在持有AMD显卡的普通用户群体中。在面对竞争对手NVIDIA铺天盖地的宣传攻势下,AMD方面对自身显卡的技术特性表现出令人难以置信的冷淡。至今为止,在市场中销售的任何一款基于AMD GPU核心的显卡产品,无论品牌,无论型号,普通用户几乎无法获得任何有关AMD Stream技术及其具体应用的相关信息。根据目前所得知的消息,AMD方面在获得了开放性的通用计算标准Open CL及来自微软方面的新一代DriectX 11开发意向后,正在努力将自身的GPU产品研发方向向二者迁移,并全力开发CPU与GPU的融合芯片:“Fusion”,因此并未大力推广现有的Stream技术及其应用,使得许多AMD GPU产品用户对AMD在通用计算领域的作为感到非常陌生。

但我们认为只要宣传的方法得当,现有的Stream技术与未来AMD产品与技术之间并不存在明显的冲突,况且当前距离AMD规划中的划时代产品依然有相当长的时间间隔。在此之前,AMD方面必须立足于现有的技术手段完善产品,服务用户,更为关键的是让用户对于AMD的产品,尤其是GPU产品有更全面的认知。在AMD与ATI的历史上,曾经多次出现过未能成功建立自身的技术标准却又无法有效应对对手建立技术标准的例子,同样,也曾经享受过建立技术标准并迫使竞争对手跟随的荣光。无论是Open CL及DriectX 11主流通用标准的全面支持,还是AMD的划时代产品Fusion芯片的推出,都应该使之成为AMD产品整体形象及特性的一部分。
一个方向明确、目标坚定、切实可行、坚决贯彻的产品发展路线对于AMD的产品尤其是GPU产品来说非常重要的。
也希望本文能够对关注GPU通用处理的用户尤其是AMD(ATI) GPU产品的用户能够有所帮助。