XX
显卡不止能玩游戏 CUDA视频转码测试
● 显卡不止能玩游戏 CUDA转码对抗旗舰i7
一个普通的CPU有两颗核心,高端一点儿的是四核,就算旗舰i7 980X也不过是六核心12线程,如今随便拿出一款NVIDIA显卡就有上百个CUDA核心,如果能让它们代替CPU做一些繁重的工作岂不是美事?
的确,除了游戏之外,视频转码是最实在的CUDA应用,如今iPhone、iPad之类的便携式影音设备随处可见,但它们通常容量有限,且支持的视频格式与PC也不尽相同,如果想随时随地欣赏大片,就需要事先在电脑上将视频文件转换成播放器支持的格式与合适的大小。
视频转码对CPU而言是一件苦差,它会使CPU满载,同时再做其它事效率会大打折扣,而且视频压缩耗时漫长,有时等了一晚往往只处理好一部片子。不过利用CUDA庞大的通用计算矩阵可以令转码效率大幅增加,同时CPU资源还可以腾出来为其它操作服务。
MediaCoder是著名的免费转码软件,能很好地支持CUDA运算,下面我们将用它测试GTX580用作CUDA转码时的效率。AMD显卡不支持CUDA,无法参与测试对比,尽管AMD驱动中自带基于Stream技术的AVIVO转码器,单输出的视频质量并不理想,因此现实中也鲜见有人使用。
测试方案设定:
测试压缩一部446MB的1080P HD.264视频,码率20000KB/s,输出规格为184MB的720P H.264视频,码率压缩到8192KB/s,记录所耗时间。
测试中用在用CUDA转码时,将CPU启用核心数量关闭到最后一个,使主要工作移交给GPU,从而测试出更准确的GPU转码速率。
CUDA转码速度与频率与流处理器数量都有关系,从GTX560、GTX560和GTX560Ti的关系上来看,似乎频率的影响更大一些。那是因为CUDA在做加速时并不是每一个SP单元都能派上用场,只是其中的一部分能参与计算。
网友评论