显卡算力扫盲篇(三)

GPU 的核心架构及参数

 NVIDIA GPU 的核心参数的差别和各自的优势。

  • CUDA Core:CUDA Core 是 NVIDIA GPU上的计算核心单元,用于执行通用的并行计算任务,是最常看到的核心类型。NVIDIA 通常用最小的运算单元表示自己的运算能力,CUDA Core 指的是一个执行基础运算的处理元件,我们所说的 CUDA Core 数量,通常对应的是 FP32 计算单元的数量。
  • Tensor Core:Tensor Core 是 NVIDIA Volta 架构及其后续架构(如Ampere架构)中引入的一种特殊计算单元。它们专门用于深度学习任务中的张量计算,如矩阵乘法和卷积运算。Tensor Core 核心特别大,通常与深度学习框架(如 TensorFlow 和 PyTorch)相结合使用,它可以把整个矩阵都载入寄存器中批量运算,实现十几倍的效率提升。
  • RT Core:RT Core 是 NVIDIA 的专用硬件单元,主要用于加速光线追踪计算。正常数据中心级的 GPU 核心是没有 RT Core 的,主要是消费级显卡才为光线追踪运算添加了 RTCores。RT Core 主要用于游戏开发、电影制作和虚拟现实等需要实时渲染的领域。

 CUDA Core主要用于向量类的计算任务,Tensor Core主要用于矩阵、卷积(通过IM2COL转换为矩阵乘法)类计算任务,训练和推理都会涉及到向量类任务和矩阵类任务,所以两者都会涉及到Tensor Core和CUDA的使用。同时Tensor Core是专门的矩阵计算单元,针对矩阵计算任务虽然其单元数目少,但是其吞吐率比CUDA Core要高很多,所以矩阵类任务依然会倾向于使用Tensor Core完成计算。

Tensor Core vs CUDA Core 区别

区别项

Tensor Core

CUDA Core

出现背景

AI迅速发展,对矩阵乘法的算力需求不断增大,有厂商提出TPU概念

科学计算迅速发展,为了使用GPU的高算力,科学家需要将科学计算任务适配成图形图像任务

设计目的

定制性争强矩阵计算能力(AI算力),融入CUDA生态,抢占人工智能计算所需要的算力高地

将浮点计算能力暴露给科学计算领域,加速科学计算,占领科学计算市场

计算任务类型

矩阵乘法运算

浮点加、乘、乘加运算

计算精度

强调低精度:fp16/fp8/int8/int4/b1

IEEE-754 标准的float精度

SM上的装配数目*

4

128

调度粒度/执行粒度

warp-level/warp-level

warp-level/thread-level

 NVIDIA GPU 架构的演进。

  • Volta 架构:Volta 架构是 NVIDIA GPU 的第六代架构,发布于 2017 年。Volta 架构专注于深度学习和人工智能应用,并引入了 Tensor Core。
  • Turing 架构:Turing 架构是 NVIDIA GPU 的第七代架构,发布于 2018 年。Turing 架构引入了实时光线追踪(RTX)和深度学习超采样(DLSS)等重要功能。
  • Ampere 架构:Ampere 架构是 NVIDIA GPU 的第八代架构,2020 年发布。Ampere 架构在计算能力、能效和深度学习性能方面都有重大提升。Ampere 架构的 GPU 采用了多个流多处理器(SM)和更大的总线宽度,提供了更多的 CUDA Core 和更高的频率。它还引入了第三代 Tensor Core,提供更强大的深度学习计算性能。Ampere 架构的 GPU 还具有更高的内存容量和带宽,适用于大规模的数据处理和机器学习任务。
  • Hopper 架构:Hopper 架构是 NVIDIA GPU 的第九代架构,2022 年发布。相较于 Ampere,Hopper 架构支持第四代 Tensor Core,且采用新型流式处理器,每个 SM 能力更强。Hopper 架构在计算能力、深度学习加速和图形功能方面带来新的创新和改进。

V100 vs A100 vs A800 vs H100

V100 vs A100

V100 属于 Volta 架构,它采用 12nm FinFET 工艺,拥有 5120 个 CUDA 核心和 16GB-32GB 的 HBM2 显存,配备第一代 Tensor Cores技术,支持 AI 运算。

A100 采用全新的 Ampere 架构。它拥有高达 6912 个 CUDA 核心和 40GB 的高速 HBM2 显存。A100 还支持第二代NVLink技术,实现快速的 GPU 到 GPU 通信,提升大型模型的训练速度。A100 增加了功能强大的新第三代 Tensor Core,同时增加了对 DL 和 HPC 数据类型的全面支持,以及新的稀疏功能,可将吞吐量进一步翻倍。

A100 中的 TF32 Tensor Core 运算提供了一种在 DL 框架和 HPC 中加速 FP32 输入/输出数据的简单路径,其运行速度比 V100 FP32 FMA 运算快 10 倍,或者在稀疏性的情况下快 20 倍。对于 FP 16/FP 32 混合精度 DL,A100 的性能是 V100 的2.5倍,稀疏性的情况下提高到 5 倍。

在跑 AI 模型时,如果用 PyTorch 框架,相比上一代 V100 芯片,A100 在 BERT 模型的训练上性能提升 6 倍,BERT 推断时性能提升 7 倍。

BERT 训练和推理上,V100 与 A100 的性能对比

A100 vs H100

NVIDIA H100 采用 NVIDIA Hopper GPU 架构,使 NVIDIA 数据中心平台的加速计算性能再次实现了重大飞跃。H100 采用专为 NVIDIA 定制的 TSMC 4N 工艺制造,拥有 800 亿个 晶体管,并包含多项架构改进。

H100 是 NVIDIA 的第 9 代数据中心 GPU,旨在为大规模 AI 和 HPC 实现相比于上一代 NVIDIA A100 Tensor Core GPU 数量级的性能飞跃。H100 延续了 A100 的主要设计重点,可提升 AI 和 HPC 工作负载的强大扩展能力,并显著提升架构效率。

H100 FP16 的吞吐量是 A100 FP16 的 3 倍
H100 FP8 的吞吐量是 A100 FP16 的 6 倍

A800 和 H800

说好 V100、A100、A800、H100、H800 这些 GPU 来做对比的,怎么没见 A800 和 H800 呢?从型号上看,莫非它们的性能是 A100、H800 的好几倍?

事实不然。虽然从数字上来看,800 比 100 数字要大,其实是为了合规对 A100 和 H100 的某些参数做了调整。A800 相对比 A100 而言,仅限制了 GPU 之间的互联带宽,从 A100 的 600GB/s 降至 400GB/s,算力参数无变化。而 H800 则对算力和互联带宽都进行了调整。

A800 虽然在互联带宽上有所降低,但和 A100 在双精方面算力一致,在高性能科学计算领域没有影响。

猜你喜欢

转载自blog.csdn.net/bestpasu/article/details/134098712