Adobe Premiere Pro中的OpenCL:GPU比CPU快多少?

你好,Giktayms!最近发现了使用OpenCL使用视频卡加速数据处理的奇妙世界,我决定为不熟悉该技术的初学者编写一些入门资料。互联网经常会提出“我将获得什么样的生产率提高?”的问题,但是答案要么是抽象的,要么是理论上的过度。
这篇文章旨在演示OpenCL的使用如何加速视频编辑程序中视频的渲染。您不会发现对理论和数学的深入了解-没有我,有很多关于OpenCL的关于Giktims和Habré的详细理论文章。只会对任务和测试结果进行描述,因此请完全将文本视为对初学者的简单入门指南。



为什么需要它?


现代图形卡是真正的计算怪物,它们的全部功能通常都花在游戏上。并非愚蠢的人们意识到,如果程序员被授予直接访问视频芯片计算单元的权限,那么所有这些巨大的功能都可以用于任何其他任务,而不仅仅是3D图形处理。

NVIDIA通过其Compute Unified Device Architecture(CUDA)并行计算架构成功实现了这一想法。使用C语言的扩展语法和特殊的编译器,开发人员能够将图形芯片用于计算任务。反过来,AMD推出了Stream SDK-它对CUDA的专有愿景。

结果是惊人的-与媒体数据处理相关的过程(这意味着高度的并行化)比中央处理器的计算速度快了许多倍。在3D建模程序和视频处理中进行渲染时,GPU的优势尤其明显。



CUDA发布一年后,Khronos Group财团发布了OpenCL框架。实际上,他必须统一代码以访问包括视频核心在内的不同体系结构上的处理器的计算能力。从那时起,对新框架的支持就开始被积极地引入专业软件中。

迄今为止,OpenCL支持Adobe程序,媒体转换器,许多流行的3D渲染器,CAD和用于数学建模的软件。



更好的CUDA或OpenCL?


标题是一个非常频繁且非常有趣的问题。这两种技术就像兄弟一样。像饱受苦难的PhysX一样,CUDA是一种封闭技术,仅受NVIDIA芯片支持,绝不支持所有专用软件。 OpenCL是一个外向的人,代码对任何爱好者开放,任何支持定义上的GPU计算的软件都可以与OpenCL一起使用。

NVIDIA程序员不会大吃一惊-如果您在真空中以相同的性能拿两个球形视频卡,那么NVIDIA芯片上的CUDA的性能平均要比AMD芯片上的OpenCL高20%。但是,正如他们所说,这是有细微差别的-如果NVIDIA的CUDA能够快速,良好地工作,那么该公司的显卡上的OpenCL就会稍逊于AMD的OpenCL处理速度。几年前,情况非常糟糕,但是随着时间的推移,使用驱动程序弥补了差距。但是,NVIDIA GeForce在OpenCL中的特定性能仍然略低于AMD Radeon。因此,那些购买了NVIDIA卡以与仅支持OpenCL的应用程序一起使用的人将处于不利境地-适配器的价格将更加昂贵,并且其效率可能会低于Radeon。这样的游戏是不值得的。




我仅在今年夏天发现了OpenCL的奇妙世界,一次购买了两张AMD Radeon 300系列显卡:SAPPHIRE NITRO R9 380SAPPHIRE Tri-X R9 390X根据家庭测试的结果,计划其中的一台退回商店。购买卡是在家中进行视频编辑的,在Radeon方向上的选择非常有意识:一方面,CUDA比OpenCL快。另一方面,事实证明,与CUDA相比,OpenCL受到更专业的软件的支持,而在OpenCL中NVIDIA卡的性能则有很多不足之处。



在提议的SAPPHIRE卡分类中,我比其他人更喜欢它。与参考设计爱好者不同,SAPPHIRE在冷却系统中使用经典风扇,该风扇比参考离心式风力涡轮机安静得多-在快速熟悉Radeon 4870x2视频卡吸尘器后,我对它们产生了强烈的反感。
在家里,当打开两个大箱子的包装时,我感觉就像是一个长满苔藓的乳齿象-视频卡相当大。SAPPHIRE R9 390X确实非常庞大,具有三个风扇和一个超过印刷电路板尺寸的散热器。起初,我什至担心这些怪物是否适合我的军团。幸运的是,我们进入了,但是必须从硬盘驱动器固定框架中卸下一个硬盘驱动器。一千瓦的电源也不是多余的-R9 390X需要两个四针电源连接器,而且并非每个PSU都会提供这样的电流。



因此,在我的家庭配置中进行了OpenCL比较测试:
  • 处理器:Intel Core i5-2500K,超频至3.7 GHz
  • 内存:12 GB DDR-1333
  • 主板:华硕P8Z77-V PRO
  • 驱动器:120 GB A-DATA系统固态硬盘,2 TB硬盘WD黑色WD20EARS内容
  • 电源:Corsair 1000瓦


柔软的


如果Adobe Premiere Pro CS4是办公室的重担,那么您可以在家中按自己的喜好来组织工作区。如果Adobe没有推出出色的Creative Cloud订阅系统,我几乎不会考虑购买Premiere Pro。现在每个月600卢布,我拥有合法且不断更新的Premiere Pro CC。而且,与老人办公室不同,他本机支持使用OpenCL和CUDA进行渲染!
如果您的视频卡可用于OpenCL或CUDA,则在Premiere Pro中创建项目的阶段,您可以选择渲染器。对于硬件加速,符合Mercury Playback Engine GPU(OpenCL)或(CUDA)。在完成的项目中,可以通过“文件”菜单中的“项目设置”来更改渲染。



正如我已经说过的,使用OpenCL,您可以将视频效果应用程序的计算转移到视频卡上。但是,并非Premiere Pro中的所有效果都支持OpenCL-您可以通过列表中是否存在这样的图标来了解这一点。



测验


作为一个测试项目,我选择了一个两分钟的视频,其中包括来自全高清视频的许多片段,其比特率为72 Mbps,帧率为每秒24帧。最重要的是,应用了Lumetri Color的加速效果,由此我进行了色彩校正。输出应该是h.264格式的电影,分辨率为1920x1080(即不变),比特率为6-7 Mbit / s,使用了两遍编码。
为了确认视频卡的操作,我采用了GPU-Z参数-查看图形核心的频率,很容易理解CPU何时渲染视频以及何时GPU。





在第一个测试运行中,我关闭了Lumetri Color效果,因此整个渲染过程都是更改视频比特率。

运行1:
项目2分钟,h.264,6-7 mbps,无影响
中央处理器3:09
蓝宝石Tri-X R9 390X2:33
蓝宝石NITRO R9 3802:38

在不应用效果的情况下,处理器与功能强大的现代图形卡之间的渲染速度差异很小。当处理总时长约为一个小时的视频时,使用OpenCL带来的收益将更加明显,但仍然很小。尽管如此,几乎在编辑过程中,色彩校正效果始终应用于视频,因此该测试应被认为是“合成的”。

运行2:
项目2分钟,h.264,6-7 mbps,Lumetri颜色效果
中央处理器11:33
蓝宝石Tri-X R9 390X2:42
蓝宝石NITRO R9 3802:48

结果不言而喻-如果两个显卡都毫不费力地将视频渲染得比实时慢一点,那么处理器每分钟就要花费近六分钟的渲染时间。而且仅启用一种效果!如果在测试前我希望在整个过程中处理一个小时的电影并进行色彩校正,那么在结果之后,我决定放弃这个想法。在我的作品中,我将色彩校正应用于视频的一小部分,一两个小时的渲染不会给我带来太大的麻烦。我没有时间浪费四五个小时进行测试。
通过推断结果,我们可以假定处理器可以在4.5小时内进行持续60分钟的色彩校正,而视频卡则需要不到一小时!

发现


根据测试结果,我自己留下了SAPPHIRE NITRO R9 380-该卡的价格比最酷的R9 390X便宜得多,但在Premiere Pro中,两个适配器的性能几乎相同。鉴于购买适配器是为了完成这项工作,这意味着花掉17,000卢布赚钱可惜不算什么。此外,在《侠盗猎车手5》中,地图被证明是很棒的,但是这个话题的意思完全不同。

至于使用OpenCL的经验,一个人不得不承认-视频编辑界出现了一个救星:渲染变成一种乐趣。与超频的Intel Core i5相比,GPU在Premiere Pro中轻松处理具有叠加效果的视频。有了这样的测试结果,毫无疑问是否要使用GPU渲染。唯一的问题是哪种视频卡可以适应这种情况。高端游戏领域的某些产品将是正确的,例如AMD Radeon R9 3xx。SAPPHIRE NITRO R9 380完全满足了我的需求,但是中型甚至入门级适配器也支持OpenCL,这意味着它们将大大加快您在专业软件中的工作。

Source: https://habr.com/ru/post/zh-CN383405/


All Articles