引言

GPU 的每一个硬件单元,都是为了解决一个具体的性能瓶颈而生的。

CUDA Cores 是最古老的答案。CPU 的核心少但每个很强,适合串行逻辑;GPU 的思路反过来——用几万个简单核心同时并行,暴力解决需要大量重复浮点运算的问题。最初是图形着色,后来发现科学计算、物理仿真、密码学也能用,于是 GPGPU 诞生了。

Tensor Cores 是深度学习爆发的产物。神经网络的核心运算是矩阵乘加,CUDA Cores 能算,但效率不够高。NVIDIA 在 2017 年的 Volta 架构里专门设计了 Tensor Core,把矩阵乘加做成固定电路,速度比 CUDA Cores 高一个数量级。RTX 5090 搭载的第五代 Tensor Core 新增了 FP4 精度,专门为大模型推理提速。

RT Cores 是光线追踪实时化的产物。光追的核心计算是光线与场景几何体的求交,传统上在 CUDA Cores 上计算太慢,无法实时。NVIDIA 从 Turing 架构开始引入专用的 BVH 遍历加速电路,让实时光追从理论走进游戏。

NVENC / NVDEC 是视频处理需求的产物。视频编解码是高度标准化的算法流程,与其占用宝贵的 CUDA Cores,不如做一块专用 ASIC。它功耗极低、速度极快,而且完全独立——你可以一边用 CUDA 训练模型,一边用 NVENC 推流,互不干扰。

纹理单元、光栅化、ROP 是图形渲染管线专用的固定功能单元,它们伴随 GPU 诞生,负责把三角形变成屏幕上的像素。

Optical Flow 引擎、NVJPEG 是特定应用场景下性价比的极致追求——专用硬件做专用的事,不占通用算力。

AMP(AI 管理处理器) 是 Blackwell 新引入的调度单元,专门解决 AI 推理和图形渲染混跑时的任务分配问题,让两条流水线互不阻塞。


硬件单元 可编程性 操控接口 描述
CUDA Cores (FP32/INT32)(21760个) ★★★★★ CUDA / OpenCL / Vulkan / DX12 通用可编程执行单元,每条指令完全由你的 kernel 决定
Shared Memory ★★★★★ CUDA / OpenCL SM 内线程共享的片上内存,分配、读写、同步全部由你管理
RT Cores(第4代,170个) ★★★☆☆ Vulkan / DX12 / OptiX 光线与 BVH 求交的专用加速单元,你定义场景、光线行为和着色逻辑,求交遍历由硬件固定执行
Tensor Cores(第5代,680个) ★★☆☆☆ CUDA / cuBLAS / cuDNN / TensorRT 矩阵乘加(MMA)专用单元,支持 FP4/FP8/FP16/BF16/TF32/INT8 等精度,运算结构固定,不可改变计算逻辑
纹理单元(TMU,680个) ★★☆☆☆ OpenGL / Vulkan / DX11 / DX12 / CUDA 硬件纹理采样与过滤单元,支持双线性/三线性/各向异性过滤,采样算法固定,采样方式可配置
显存 GDDR7(32GB) ★★☆☆☆ CUDA / OpenCL / Vulkan / DX12 / OpenGL 显卡主存储空间,你负责分配和读写,物理地址映射由驱动管理
FP64 Cores(384个,每SM 2个) ★★☆☆☆ CUDA / OpenCL(编译器自动路由) 双精度浮点执行单元,消费级阉割至 FP32 算力的 1/64,仅保证 FP64 代码正确执行,不用于性能计算
SFU(特殊函数单元) ★☆☆☆☆ CUDA / OpenCL(编译器自动映射) 执行 sin/cos/exp/sqrt 等超越函数的专用单元,由编译器自动调用,开发者不直接控制
L1 Cache ★☆☆☆☆ CUDA / OpenCL(hint 级别) SM 级一级缓存,可通过 API 调整与 Shared Memory 的容量分配比例,缓存替换策略不可控
Copy Engine(DMA) ★☆☆☆☆ CUDA / Vulkan / DX12 独立于 CUDA Cores 的异步数据搬运引擎,负责 CPU 内存与显存之间的 DMA 传输,传输逻辑不可修改
光栅化 + ROP(192个) ★☆☆☆☆ OpenGL / Vulkan / DX11 / DX12 将三角形转换为像素并执行深度测试、混合写入的固定功能单元,由渲染管线自动触发
L2 Cache(96MB) ☆☆☆☆☆ 黑盒,极少 hint 全芯片共享的二级缓存(完整 GB202 为 128MB,5090 启用 96MB),替换策略完全由驱动管理,开发者几乎不可干预
AMP(AI管理处理器) ☆☆☆☆☆ 驱动自动调度 Blackwell 新增的专用调度单元,自动协调 AI 推理与图形渲染的工作负载分配,对开发者透明
GigaThread Engine ☆☆☆☆☆ 驱动自动调度 全芯片顶层任务调度引擎,负责将工作分发给各个 GPC,对开发者完全透明
NVENC × 3(第9代) ☆☆☆☆☆ NVENC SDK / FFmpeg / OBS 视频编码专用 ASIC,支持 H.264/H.265/AV1,完整 GB202 有 4 个,5090 启用 3 个,编码算法固定,只能通过参数控制码率、质量等
NVDEC × 2(第6代) ☆☆☆☆☆ NVCUVID SDK / FFmpeg 视频解码专用 ASIC,完整 GB202 有 4 个,5090 启用 2 个,解码流程完全固定
NVJPEG 引擎 ☆☆☆☆☆ nvJPEG JPEG 硬件编解码专用单元,算法固定,只能调用不可修改
Optical Flow 引擎 ☆☆☆☆☆ Optical Flow SDK 帧间像素运动估计的专用硬件,用于帧插值和 DLSS 等功能,算法固定
显示引擎(DP 2.1b) ☆☆☆☆☆ DRM/KMS / WDDM 负责将帧缓冲输出到显示器的专用单元,支持 3× DP 2.1b + 1× HDMI 2.1b,只能配置分辨率和刷新率

现代 GPU 早已不再是单纯的图形处理器,而是化身为了高度复杂的异构计算引擎。在这里,每一个硬件单元的诞生,都刻满了对算力和效率的极致渴望。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐