GPU 底层技术、全球市场格局分析(中)
1、集成显卡和独立显卡对比
集成显卡是指一般不带显存,而是使用系统的一部分主内存作为显存的显卡。集成显卡可以被整合进主板作为北桥芯片的一部分,也可以和 CPU 集成在同一个 Die 中。集成显卡的显存一般根据系统软件和应用软件的需求自动调整。如果显卡运行需要占用大量内存空间,那么整个系统运行会受限,此外系统内存的频率通常比独立显卡的显存低很多,因此集成显卡的性能比独立显卡要逊色一些。
独立显卡是将显示芯片及相关器件制作成一个独立于电脑主板的板卡,成为专业的图像处理硬件设备。独立显卡因为具备高位宽、高频独立显存和更多的处理单元,性能远比集成显卡优越,不仅可用于一般性的工作,还具有完善的 2D 效果和很强的 3D 水平,因此常应用于高性能台式机和笔记本电脑,主要的接口为 PCIe。
如今,独立显卡与集成显卡已经不是 2 个完全割裂,各自为营的图像处理单元了。二者在微软 DX12 的支持下也可以实现独核显交火,同时 AMD 和 NVIDIA 的显卡也可实现混合交火。
▲集成显卡和独立显卡对比
2.GPU 对比 CPU:
从芯片设计思路看,CPU 是以低延迟为导向的计算单元,通常由专为串行处理而优化的几个核心组成,而 GPU 是以吞吐量为导向的计算单元,由数以千计的更小、更高效的核心组成,专为并行多任务设计。
CPU 和 GPU 设计思路的不同导致微架构的不同。CPU 的缓存大于 GPU,但在线程数,寄存器数和 SIMD(单指令多数据流)方面 GPU 远强于 CPU。
微架构的不同最终导致 CPU 中大部分的晶体管用于构建控制电路和缓存,只有少部分的晶体管完成实际的运算工作,功能模块很多,擅长分支预测等复杂操作。GPU 的流处理器和显存控制器占据了绝大部分晶体管,而控制器相对简单,擅长对大量数据进行简单操作,拥有远胜于 CPU 的强大浮点计算能力。
▲GPU 和 CPU 的核心设计思路对比
▲GPU 和 CPU 的核心对比
后摩尔时代,随着 GPU 的可编程性不断增强,GPU 的应用能力已经远远超出了图形渲染,部份 GPU 被用于图形渲染以外领域的计算成为 GPGPU。与此同时,CPU 为了追求通用性,只有少部分晶体管被用于完成运算,而大部分晶体管被用于构建控制电路和高速缓存。但是由于 GPU 对 CPU 的依附性以及 GPU 相较 CPU 更高的开发难度,所以 GPU 不可能完全取代 CPU。我们认为未来计算架构将是 GPU+CPU 的异构运算体系。
在 GPU+CPU 的异构运算中,GPU 和 CPU 之间可以无缝地共享数据,而无需内存拷贝和缓存刷新,因为任务以极低的开销被调度到合适的处理器上。CPU 凭借多个专为串行处理而优化的核心运行程序的串行部份,而 GPU 使用数以千计的小核心运行程序的并行部分,充分发挥协同效应和比较优势。
异构运算除了需要相关的 CPU 和 GPU 等硬件支持,还需要能将它们有效组织的软件编程。OpenCL 是(OpenComputing Language)的简称,它是第一个为异构系统的通用并行编程而产生的统一的、免费的标准。OpenCL 支持由多核的 CPU、GPU、Cell 架构以及信号处理器(DSP)等其他并行设备组成的异构系统。
▲OpenCL 异构运算构成
▲异构运算下的 GPU 工作流程
3.GPU 与 ASIC 和 FPGA 的对比:
数据、算力和算法是 AI 三大要素,CPU 配合加速芯片的模式成为典型的 AI 部署方案,CPU 提供算力,加速芯片提升算力并助推算法的产生。常见的 AI 加速芯片包括 GPU、FPGA、ASIC 三类。
GPU 用于大量重复计算,由数以千计的更小、更高效的核心组成大规模并行计算架构,配备 GPU 的服务器可取代数百台通用 CPU 服务器来处理 HPC 和 AI 业务。
FPGA 是一种半定制芯片,灵活性强集成度高,但运算量小,量产成本高,适用于算法更新频繁或市场规模小的专用领域。
ASIC 专用性强,市场需求量大的专用领域,但开发周期较长且难度极高。
在 AI 训练阶段需要大量数据运算,GPU 预计占 64%左右市场份额,FPGA 和 ASIC 分别为 22%和 14%。推理阶段无需大量数据运算,GPU 将占据 42%左右市场,FPGA 和 ASIC 分别为 34%和 24%。
▲不同应用场景 AI 芯片性能需求和具体指标
▲GPU、FPGA、ASIC AI 芯片对比
4.“考古”GPU:GPU 的发展历史
在 PC 诞生之初,并不存在 GPU 的概念,所有的图形和多媒体运算都由 CPU 负责。但是由于 X86 CPU 的暂存器数量有限,适合串行计算而不适合并行计算,虽然以英特尔为代表的厂商多次推出 SSE 等多媒体拓展指令集试图弥补 CPU 的缺陷,但是仅仅在指令集方面的改进不能起到根本效果,所以诞生了图形加速器作为 CPU 的辅助运算单元。
GPU 的发展史概括说来就是 NVIDIA、AMD(ATI)的发展史,在此过程中曾经的 GPU 巨头 Imagination、3dfx、东芝等纷纷被后辈超越。如今独立显卡领域主要由英伟达和 AMD 控制,而集成显卡领域由英特尔和 AMD 控制。
▲GPU 的发展史
5.GPU 发展史:NVDIA GPU 微架构回顾
英伟达的 GPU 架构自 2008 年以来几乎一直保持着每 2 年一次大更新的节奏,带来更多更新的运算单元和更好的 API 适配性。在每次的大换代之间,不乏有一次的小升级,如采用开普勒二代微架构的 GK110 核心相较于采用初代开普勒微架构的 GK104 核心,升级了显卡智能动态超频技术,CUDA 运算能力提升至 3.5 代,极致流式多处理器(SMX)的浮点运算单元提升 8 倍,加入了 Hyper-Q 技术提高 GPU 的利用率并削减了闲置,更新了网格管理单元(Grid Management Unit),为动态并行技术提供了灵活性。
英伟达 GPU 微架构的持续更新,使英伟达 GPU 的能效提升了数十倍,占领了独立显卡技术的制高点。
▲2008-2020 英伟达 GPU 微架构进化
6.GPU 发展史:微软 DirectX API 回顾
图形 API 在 GPU 的运算过程中发挥着连接高级语言、显卡驱动乃至底层汇编语言的作用,充当 GPU 运行和开发的“桥梁”和“翻译官”。微软 DirectX 标准可以划分为显示部份、声音部份、输入部分和网络部分,其中与 GPU 具有最直接关系的是显示部分。显示部份可分为 DirectDraw 和 Direct3D 等标准,前者主要负责 2D 图像加速,后者主要负责 3D 效果显示。
从 1995 年发布的初代 DirectX 1.0 开始微软的 DirectX 已经更新到了 DirectX 12。在此过程中,DirectX 不断完善对各类 GPU 的兼容,增加开发人员的权限,提高 GPU 的显示质量和运行帧数。
DirectX 一般和 Windows 操作系统同步更新,如 Windows 7 推出了 DX11、Windows 10 推出了 DX12。
▲1998-2014 微软 DirectX 进化
7.GPU 发展史:NVDIA GPU 制程构回顾
GPU 和 CPU 都是以先进制程为导向的数字芯片。先进制程可以在控制发热和电能消耗的同时,在有限的 Die 中放入尽可能多的晶体管,提高 GPU 的性能和能效。
NVIDIA 的 GPU 从 2008 年 GT200 系列的 65 纳米制程历经 12 年逐步升级到了 RTX3000 系列的 7/8 纳米制程,在整个过程中,晶体管数量提升了 20 多倍,逐步确立了在独立 GPU 的市场龙头地位。
同时在整个过程中,NVIDIA 一直坚持不采用 IDM 的模式,而是让台积电负责 GPU 的制造,自生专注于芯片设计,充分发挥比较优势。
▲2008-2020 英伟达 GPU 主要制程和晶体管数进化
8.GPU 微架构升级趋势:更多、更专、更智能
根据前 12 年的 GPU 发展轨迹来看,GPU 微架构的升级趋势可以简要地概括为”更多”、”更专”、”更智能”。“更多”是指晶体管数量和运算单元的增加,其中包括流处理器单元、纹理单元、光栅单元等数量上升。“更专”是指除了常规的计算单元,GPU 还会增加新的运算单元。例如,英伟达的图灵架构相较于帕斯卡架构新增加了光追单元和张量单元,分别处理实时光线追踪和人工智能运算。“更智能”是指 GPU 的 AI 运算能力上升。如第三代的张量单元相较于上代在吞吐量上提升了 1 倍。
▲英伟达 GTX1080 对比 RTX2080
▲英伟达伏特微架构对比安培微架构 AI 加速性能 ▲英伟达伏特微架构对比安培微架构 AI 加速性能
9.GPU API 升级趋势:更贴近底层
综合分析微软的 DirectX12、苹果的 Metal2、Khronos Group 的 Vulkan API 分别相较于前代 DirectX11、Metal、OpenGL 的升级,我们认为 GPU API 的升级趋势是提高 GPU 的运行效率、增加高级语言和显卡驱动之间的连接、优化视觉特效等。其中,提供更底层的支持:统筹高级语言、显卡驱动和底层语言是几乎所有 API 升级的主要方向。
不过提供更底层的支持只是更高的帧数或更好的画质的必要非充分条件。在整个软件的开发过程中,软件开发商需要比驱动程序和系统层更好地调度硬件资源,才能充分发挥底层 API 的效果。
在显示质量方面,DirectX 12 Ultimate 采用当下最新的图形硬件技术,支持光线追踪、网格着色器和可变速率着色,PC 和 Xbox 共用同一个 API,堪称次世代游戏的全新黄金标准。
▲非底层 DirectX 11 对比底层 DirectX 12
▲DirectX 12 Ultimate 新特性
10.GPU 制造升级趋势:以先进制程为导向
GPU 性能的三大决定因素为主频、微架构、API。这些因素中主频通常是由 GPU 的制程决定的。制程在过去通常表示晶体管或栅极长度等特征尺寸,不过出于营销的需要,现在的制程已经偏离了本意,因此单纯比较纳米数没有意义。按英特尔的观点,每平方毫米内的晶体管数(百万)更能衡量制程。据此,台积电和三星的 7nm 工艺更接近英特尔的 10nm 工艺。
先进的制程可以降低每一个晶体管的成本,提升晶体管密度,在 GPU Die 体积不变下实现更高的性能;先进制程可以提升处理器的效能,在性能不变的情况下,减少发热或在发热不变的情况下,通过提升主频来拉高性能。
先进制程的主要目的是降低平面结构带来的漏电率问题,提升方案可以通过改变工艺,如采用 FinFET(鳍式场效应晶体管)或 GAA(环绕式栅极);或采用特殊材料,如 FD-SOI(基于 SOI 的超薄绝缘层上硅体技术)。
▲先进制程工艺之 FinFET
▲英特尔 10nm 先进制程带来的性能和效能提升
11.GPU 制造升级趋势:Chiplet 化
高位宽内存(HBM)是小芯片(Chiplet)在 GPU 中的常见应用。HBM 是一种高速计算机存储器 3D 堆栈 SDRAM 接口。首款 HBM 于 2013 年推出,第二代 HBM2 已于 2016 年被 JEDEC 接受。目前,HBM 主要应用在高端独立显卡和服务器显卡。
HBM 通过 3D 堆叠 4 个 DRAM Die 和 1 片逻辑 Die 组成一个 Chiplet,其中每片 DRAM 具有 2 个 128 位通道,通过 TSV(硅通孔)相连。所以,一片 Chiplet 总共 8 个 128 位通道,总位宽 1024 比特。每片 Chiplet 又与 GPU 封装在同一中介层(Interposer)连接 GPU 芯片。相比之下,GDDR5 内存的总线宽度为 32 位,带有 512 位内存接口的显卡也只有 16 个通道,而且采用传统的 FBGA 封装。HBM 与 GDDR5 相比,每 GB 的表面积减少 94%,每 GB/S 带宽的能效提升 2 倍多。
HBM 支持最多每个 Chiplet 4GB 的存储,HBM2 在 HBM 的基础上将每片 Chiplet 的最大容量提升至了 8GB,显存主频提升 1 倍,同时总位宽保持不变。
▲HBM 的 GPU 应用
▲GDDR5 对比 HBM
▲HBM 先进封装结构 ▲HBM 先进封装结构
12.GPU 制造的发展趋势:Fab+Fabless 为导向
GPU 制造可分为 IDM 和 Fab+Fabless。IDM 集芯片设计、芯片制造、芯片封装和测试等多个产业链环节于一身。英特尔为 IDM 的代表。
Fabless 只负责芯片的电路设计与销售,将生产、测试、封装等环节外包。苹果和 AMD 为 Fabless 的代表。Foundry 只负责制造,不负责芯片设计,可以同时为多家设计公司服务,但受制于公司间的竞争关系。台积电为 Foundry 的代表。目前英特尔 GPU 落后的主要原因是 GPU 制程的落后,根本原因是英特尔受困于 IDM 运作模式。随着 28 纳米以下先进制程的发展,芯片的制造成本和设计成本成指数级上升。同时,一条 12 英寸晶圆的生产线从建设到生产的周期约 2 年,投资至少 30-50 亿美元,资本支出占比 80%,整体风险非常大。英特尔以有限的资源不支持它持续的设计和生产的的两线作战。
Fab+Fabless 的模式通过充分发挥比较优势,分散了 GPU 设计和制造的风险,符合半导体分工的大趋势。
▲IDM 与 Fab+Fabless 对比
▲芯片设计费用趋势(亿美元)
13.GPU 需求概述
过去 20 多年里,GPU 的基本需求源于视频加速,2D/3D 游戏。随后 GPU 运用自身在并行处理和通用计算的优势,逐步开拓服务器、汽车、矿机、人工智能、边缘计算等领域的衍生需求。
虽然 GPU 无法离开 CPU 独立运作,但是在当前“云化”加速的时代,离开了 GPU 的 CPU 也无法胜任庞大的计算需求。所以 GPU 和 CPU 组成了异构运算体系,从底层经由系统软件和驱动层支持着上层的各种应用。GPU 已经成为了专用计算时代的刚需。
▲现代云计算中 GPU 加速的刚需
出品丨自主可控新鲜事
本文内容综合自方正证券、智东西等
评论