NVIDIA GPU硬件架构发展(截至2022年)

英伟达的GPU架构在近几年有了几次调整演进,如下所示

NVIDIA GPU硬件架构发展(截至2022年)_第1张图片

Fermi费米微架构

CUDA CORE是一种算术逻辑单元(ALU),他的内部不包含光栅单元和纹理单元,CUDA CORE也就是流处理器sp(streaming processor),是最基本的处理单元,具体的指令和任务都是在sp上处理的。GPU进行并行计算,也就是很多个sp同时处理,不过只有NVIDIA的流处理器叫做CUDA CORE

Kerpler开普勒到Maxwell麦克斯韦微架构

Pascal帕斯卡微架构

Volta伏特微架构

Pascal帕斯卡及以前的架构中,一个CUDA CORE包括一个浮点计算单元和一个整数计算单元,但是这么做无法同时执行FP32指令和INT32指令。

到了VOLTA架构,它的SM单元包含单独的FP32和INT32核心,允许以完整吞吐量同时执行fp32和int32运算,并且还可以增加指令发送吞吐量,进行核心混合乘加数学运算产生的相关指令发送延迟也随之减少,达到相同的运算结果相比帕斯卡架构减少了两个时钟周期。因此,在VOLTA和以后的架构中,一个CUDA核心不再像帕斯卡那样,包含一个浮点单元和一个整数单元,而是一个CUDA核心通常仅指代一个FP32浮点单元(我们日常所说的CUDA核心的数量其实就是指FP32单精度浮点计算单元的数量)。因为CUDA核心包括FP32CUDA,FP64CUDA等,但是我们日常所说的CUDA其实就是指FP32CUDA,因此FP32CUDA单元的数量就是CUDA核心的数量。

Turing图灵微架构

Ampere安培微架构

A100 Tensor Core GPU has 108 SMs

GA100 Full GPU with 128 SMs

安培RTX30系列SM微架构

RTX30系列的FP32和INT32有一部分单元是公用的,其实和以前的CUDA类似。

在安培架构RTX30系的SM单元中,在原先INT32单元的位置把FP32单元也整合了进去(其实这个和之前的CUDA CORE结构类似,一个CUDA CORE内部整合一个浮点单元和整数单元)由于CUDA核心的数量就是FP32 CUDA的数量,因此实现了CUDA翻倍;但是由于整合式的CUDA效率比不上独立CUDA效率高,并且部分运算也要依靠整数单元,而整数单元没有翻倍,因此CUDA单元翻倍并不等于性能翻倍。

NVIDIA GPU硬件架构发展(截至2022年)_第2张图片

Hopper赫柏微架构

NVIDIA GPU硬件架构发展(截至2022年)_第3张图片

H100 GPU has 132 SMs, 16896个CUDA Core, 528个第四代Tensor Core, 3TB/s的HBM3 显存带宽

补充:SFU(Special Function Unit)

与CPU的ALU不同的是,一些特殊函数计算是在特殊函数单元SFU中进行超越函数和属性插值函数(根据顶点属性来对像素进行插值)计算。SFU用来指向超越函数、插值以及其他特殊运算

NVIDIA GPU硬件架构发展(截至2022年)_第4张图片

安培的SM微架构

NVIDIA GPU硬件架构发展(截至2022年)_第5张图片

Reference:

https://blog.csdn.net/qq_42059060/article/details/121274184

https://www.bilibili.com/video/BV1cB4y1Q75r

https://mbd.baidu.com/ma/s/vT0EFQZc

你可能感兴趣的:(GPU,硬件架构)