本文探讨图形处理单元(GPU)的演进历程——从最初作为图形加速器,到蜕变为人工智能(AI)的核心动力——并深入分析这些发展如何重塑GPU的架构。
GPU的起源与演进
GPU是一种专用芯片,最初的用途是快速操作内存,以加速图像和视频的渲染与显示。英伟达在1999年首次提出“GPU”一词,用于区分其GeForce 256芯片与早期的显卡。
随着时间的推移,GPU的应用早已超越其最初的设计目的。如今,得益于GPU能以高速并行处理大量计算的特性,它们被广泛应用于AI、深度学习(DL)以及科学仿真领域。
深度学习作为机器学习(ML)的一个分支,核心在于训练深度神经网络。这些神经网络受人类大脑启发而设计,由多层互连的节点(神经元)构成,支撑着当今从图像识别到大规模仿真的众多AI应用。
近期,加泰罗尼亚理工大学的研究人员发表了一项针对英伟达现代GPU架构的详细逆向工程研究。该研究深入剖析了关键的微架构组件,并展示了这些洞察如何大幅提升仿真模型的准确性与效率。
GPU半导体技术
现代GPU依靠先进的半导体技术,以兼顾高性能计算(HPC)与能源效率。其制造遵循所谓的技术节点,这些节点定义了晶体管的最小特征尺寸。当前GPU普遍采用鳍式场效应晶体管(FinFET),这种结构具备良好的可扩展性,并能降低漏电流以提升效率。目前的制程节点涵盖了7nm至3nm的范围。例如,台积电(TSMC)为英伟达生产Blackwell GPU时就采用了其4NP工艺,这是一种专为英伟达优化的4nm技术节点。
Blackwell GPU平台,集成了2080亿颗晶体管,两颗芯片通过10TB/s芯片间互连技术连接。 (来源:英伟达)
此外,台积电与英伟达也宣布将推出下一代3nm芯粒(chiplet)架构的GPU。此设计将多颗较小的芯片集成至单一封装中,以改善良率并降低成本。该合作预期将推动被视为Blackwell后继技术的Rubin架构。
GPU迈向通用计算的转折
GPU最初专为图形处理而设计,但因其高度并行的架构,逐渐被重新定位为通用计算平台,与CPU的顺序处理方式形成鲜明对比。
其转折点在于导入了“可编程着色器”(programmable shaders),使GPU能高效处理非图形任务。着色器(shader)是一种运行于传统GPU上的专用程序,通过操纵光照、颜色、纹理和阴影等属性来控制图形的渲染方式。
随后,计算着色器(compute shaders)进一步扩展了GPU的能力,使其不仅能进行图形渲染,还能处理科学仿真、AI计算以及大规模计算。GPU由此成为现代高性能计算的核心支柱。
英伟达如何重新定义GPU
2006年,英伟达推出了CUDA (Compute Unified Device Architecture),彻底改变了GPU的角色。CUDA让开发者能够绕过传统图形处理流程,直接利用GPU进行科学仿真、气候建模、机器学习与数据分析。
GPU逐渐成为矩阵计算与张量计算的首选硬件,而这两者对神经网络训练至关重要。矩阵乘法在现代GPU中被用于计算神经网络中的权重,这些权重决定神经元之间连接的强度。通过训练过程中权重的持续调整,神经网络能有效降低误差并提升预测准确率。
张量(tensor)则是标量、向量与矩阵的广义形式,在深度学习中发挥着基础性作用。在神经网络中,张量代表输入、输出与模型参数,使GPU能高效处理庞大的数据。输入数据可能是图像、文字、音频波形或表格数据,输出数据则包括分类标签、概率分布,甚至是代表模型误差的数值分数。
张量可采用不同的数值格式来储存,例如:
32位浮点数(FP32):深度网络训练的标准格式
16位浮点数(FP16):常用于混合精度训练以提升效率
8位整数(INT8):常见于AI推理,加速处理并减少内存需求
因此,张量在此语境下指的是多维数组,或保存计算所需数值的数据结构,而在数学物理或微分几何中,张量则是一个更具严谨数学定义的对象。
AI加速GPU的架构
现今专为AI加速设计的GPU由多个关键架构模块组成,每个模块皆针对并行计算、深度学习以及高性能工作负载进行了优化。以下列出GPU的主要组成部分:
计算核心:流处理器(SM)
CUDA核心(或着色单元): 用于并行处理的通用计算单元;CUDA核心遵循单指令/多线程(SIMT)模式,即每个核心执行相同的指令但处理不同的数据
Tensor核心:专为AI加速设计(矩阵乘法)
指令调度程序:负责协调CUDA核心与Tensor核心之间的工作分配
共享内存/L1缓存:快速本地内存,用于降低访问延迟
内存层次结构
L2缓存:可被多个SM共享,用于加快数据访问
全局内存(HBM/GDDR):提供高带宽的内存访问,以处理大型数据集
寄存器:位于每个SM内的小型超高速存储单元,用于保存临时变量与计算过程中的操作数
高速互连技术
NVLink:提供多颗GPU之间的高带宽连接
PCIe (针对消费级GPU):连接GPU与CPU及系统内存
AI与计算优化功能
TensorRT与cuDNN:由英伟达开发的库,用于加速DL工作负载TensorRT针对推理进行优化,而cuDNN则强化了神经网络训练与执行效率
动态电源管理:可依据工作负载动态调整功耗,以优化效率与性能
执行控制与工作负载管理
异步计算引擎:优化计算任务与图形渲染的并行执行,提高GPU效率与工作负载分配能力
预取器与内存控制器:用于降低数据访问延迟
研究成果
过往大多GPU微架构的学术研究主要还是依赖过时的模型,例如Tesla时代的GeForce 8800。然而,现代英伟达GPU已大幅演进,以支持HPC、AI与科学仿真。本研究着重介绍了数项关键创新,尤其是硬件与编译器协同设计对GPU架构的深远影响。主要洞察包括:
指令分发逻辑与调度: 研究揭示了指令依赖关系如何被分析与决定执行顺序。分发调度器在指令发送至执行单元时,需在效率与性能间取得平衡。
寄存器文件与缓存:分析寄存器文件结构、缓存机制与读取端口配置,证明优化后能同时提升仿真精度与性能。
内存流水线:探讨数据在不同访问阶段的流动与延迟缓解机制,优化访问模式能提高带宽利用率并降低瓶颈。
指令预取:采用基于流缓冲区的预取器,提前加载指令以降低延迟、减少卡顿并提升吞吐量。
依赖关系管理:现代英伟达GPU倾向于基于软件的解决方案,取代早期硬件记分板(scoreboard)。此方法提高了指令调度效率、降低了硬件复杂度并提升可扩展性,对管理高度并行的GPU架构尤为重要。
研究人员将上述新发现的微架构细节集成进仿真模型后,显著提升了准确性。改良后的模型在执行周期内的平均绝对百分比误差(MAPE),比先进的仿真器降低了18.24%,最终达到13.98%。验证基于真实硬件,尤其是英伟达 RTX A6000——一款专为视觉计算、仿真与AI加速优化的高性能工作站GPU。作为对照,MAPE在金融市场中通常为10%至30%或是更高,而在天气预测中则常达20%至50%甚至更高。
这些研究成果不仅加深了我们对现代GPU架构的理解,也为更精确的仿真模型奠定了基础。这对推进并行计算研究与AI驱动应用的发展,具有关键意义。
