本文来自英伟达高级工程师 季光在LiveVideoStack 线上交流分享,并由LiveVideoStack整理而成。分享中季光详细解析了GPU在视频编解码,图像分析和视频处理方面的相关技术支持,及实际性能评测数据。可以说是一份详细的“GPU视频处理技术调研报告”。
文 / 季光
整理 / LiveVideoStack
直播回放:
https://www.baijiayun.com/web/playback/index?classid=18110798306449&token=KcfWRw-Z3NfhKKZLIMQ5hppFaosTwLmE2fz-KBQwWWbRDuat0iGXznoobLduG-7tCqdH1zJ1Si0
大家好,我是季光,现就职于NVIDIA并担任高级工程师。我在2014年加入英伟达并负责云游戏基础设施开发,随后也曾为Video Codec SDK v8.1应用层开发做出了一些贡献。如果你是英伟达Video Codec SDK的早期用户就会发现早期版本的SDK中提供的样例程序并不易用,其原因在于与此相关的代码逻辑不清晰且难以复用。当时我们注意到了这些问题并对其进行了修复,使得v8.1版本的SDK有了很大改善。除此之外,我也是DeepStream SDK v1.0的主要开发者。
接下来为大家分享的内容可以说是我站在英伟达技术粉丝的角度撰写的“GPU视频处理技术调研报告”,并不代表英伟达官方的观点。我期待通过分享,为处于技术选型中的用户提供GPU的采纳与部署所需的技术依据与路线,也希望为既有的GPU用户提供前沿、全面的进阶信息与丰富的知识储备。
1. NVIDIA GPU 基础准备
1.1 产品线
在开始正式的分享之前,首先我们有必要了解一下NVIDIA GPU的产品线。英伟达的产品线策略大致可以总结为利用少量的GPU型号衍生出可满足不同客户群需求的复杂显卡产品,尽管我们在消费级、企业级与工作站级都部署有大量显卡产品,但这些产品内部封装的GPU种类,型号屈指可数,同一款GPU经过筛选并搭配不同的显存与驱动就可得到满足不同需求的产品。2018年8月英伟达发布了新一代图像处理架构Turing,我们以此架构下的一款全新GPU:TU104为例。经过包装与校调,TU104可衍生出三档产品:搭载了8G显存,面向如游戏玩家等PC用户设计的消费级显卡GeForce RTX 2080;搭载了16G显存,面向企业级用户设计的Tesla T4与同样搭载了16G显存,面向工作站用户设计的Quadro RTX 5000。其中我们可以看到,相对于企业级与工作站级的专业显卡,消费级显卡在显存上做出了些许舍弃,在某种程度上这样做也是为了限制这些消费级显卡在企业级市场的使用。除此之外,我们还有TU102,这是Turing架构GPU中面积最大、功能最强的芯片,所对应的消费级显卡为旗舰级的GeForce RTX 2080 Ti,工作站级显卡为Quadro RTX 6000与Quadro RTX 8000;相对而言面积更小、定位中端的TU106,与其对应的消费级产品是GeForce RTX 2070,英伟达会在后续推出使用此芯片的工作站级产品。
1.2 型号选择
接下来就有一个很实际的问题摆在我们面前:如何寻找最实惠的显卡型号?我们推荐的考虑指标为单位计算力的价格,如上图展示的那样:图中蓝色线拟合使用Maxwell 架构的9系消费级显卡产品,红色线拟合使用Pascal架构的10系消费级显卡产品;纵轴表示产品价格,横轴表示显卡算力;也就是说点或线在图中所处位置越低代表此产品(线)性价比越高。从中我们不难看出,代表比Maxwell架构更先进