简介:随着人工智能(AI)的迅速发展,越来越多的应用需要巨大的GPU计算资源。Ada lovelace(后面简称Ada)是NVIDIA最新的图形处理器架构,随2022年9月20日发布的RTX 4090一起公布。
背景:Ada lovelace(后面简称Ada)是NVIDIA最新的图形处理器架构,随2022年9月20日发布的RTX 4090一起公布。本节对RTX 4090以及Ada架构及其新特性先做一个全面的梳理。性能分析部分处理器参照物主要是Hopper架构的GH100和Ampere架构的GA100/GA102,GPU参照物主要是H100(GH100)和A100(GA100)或3090 Ti(GA102)。
Ada架构
跟Hopper架构的GH100一样,Ada架构的AD102也采用了台积电的4nm N4工艺制程,这使得AD102得以集成高达763亿个晶体管,同时可以获得更高的频率,GPU Boost Clock高达52GHz,使得搭载AD102的RTX 4090成为目前频率最高的NVIDIA GPU。
AD102搭载了新的第四代Tensor Core,低精度数据类型上,跟GH100一样,新增支持业界首创的FP8数据类型,支持INT8,但Ada增加了Hopper上去掉的INT4;高精度数据类型上,支持BF16数据类型,支持TF32数据类型,但Ada去掉了FP64的TensorCore支持。同样,Ada架构每个SM张量核在等效数据类型上提供Ampere架构 SM的2倍MMA(矩阵乘法累加)计算速率。针对深度学习领域,同样提供稀疏神经网络的硬件加速支持,标准张量核心操作性能翻倍。
得益于每个SM 的CUDA core性能提升2倍(相比Ampere数量翻倍)以及更多的SM数量,IEEE FP32的性能相比GA102也提升了近3倍。
Ada架构芯片搭载了新的第三代RT Core(Turing架构首次引入RT Core,可实现硬件加速的实时光线追踪渲染。),
每个SM的组合共享内存和L1数据缓存为128KB,整个AD102的L1数据缓存可达18432KB。
显存带宽为1TB/s的GDDR6X。
支持PCIe GEN4(双向带宽64GB/s)。
SM架构
Ada SM架构最重要的是搭载了第四代Tensor Core和新的第三代RT Core。
架构总览
Ada完整的AD102芯片架构如下图所示:
配置如下:
12 GPCs, 72 TPCs(6 TPCs/GPC), 2 SMs/TPC, 12 SMs/GPC, 144 SMs per full GPU
∙ 128 FP32 CUDA Cores/SM, 18432 FP32 CUDA Cores per full GPU
∙ 4 forth-generation Tensor Cores/SM, 576 forth-generation Tensor Cores per full GPU
∙ GDDR6X, 384-bit memory interface with 12 32-bit memory controllers
∙ 288 FP64 Cores(2 per SM),1/64th TFLOP rate of FP32
RTX 4090有一些裁剪,配置如下:
∙ 11 GPCs, 64 TPCs, 2 SMs/TPC, 128 SMs
∙ 128 FP32 CUDA Cores/SM, 16384 FP32 CUDA Cores per GPU
∙ 4 forth-generation Tensor Cores/SM, 512 forth-generation Tensor Cores per full GPU
∙ 5 HBM2 stacks, 10 512-bit memory controllers
∙ GDDR6X, 384-bit memory interface with 12 32-bit memory controller
GPC结构如果下图所示:
Ada架构每个GPC包含1个Raster Engine(光栅化引擎),6个TPC,12个SM,16个ROP(8 per ROP partition)。
Ada架构每个 TPC 包含2个 SM,每个 SM 包含 128 个 FP32 CUDA核心和64 个 INT32 CUDA核心(FP32是Ampere的2倍,INT32不变)、2个FP64 CUDA核心(满足少量需要高精度的运算类型)、4个第四代Tensor核心、1个第三代RT核心。相比定位于数据中心计算的Hopper ,侧重于图形计算的Ada架构FP64核心数量大幅减少(上图因为数量太少并未画出),增加了一个RT核心。
如图所示,Ada SM 划分为4个处理块,每个处理块均包含32 个 FP32 CUDA核心、 16个 INT32 CUDA核心、1 个 Tensor 核心、 1 个线程束调度器和 1 个分配单元。每个处理块还具有一个L0 指令缓存和一个 16 KB 寄存器堆。这四个处理块共享一个L1指令缓存,以及一个组合式的128 KB L1 数据缓存或共享内存,是Hopper GA100的一半。整个AD102的L1缓存为18432KB,相比Ampere GA102的10752KB提升了70%。
带你读《弹性计算技术指导及场景应用》——3. Ada Lovelace架构解读及RTX 4090性能测试分析(2):