张芷铭的个人博客

SM(Streaming Multiprocessor)是 GPU 的核心并行计算单元,GPU 是 SM 的集合,SM 是计算核心的集合。

核心定位

SM 是执行 SIMT 并行任务的最小独立单元

  • A100:108 个 SM
  • RTX 4090:128 个 SM
  • 每个 SM 独立调度执行一批线程

核心组成(Ampere 架构)

模块作用
CUDA CoreFP32/INT32 通用计算
Tensor Core矩阵乘加(FP16/FP8/INT8)
FP64 Core高精度浮点运算
Warp Scheduler调度 32 线程为一组的 Warp
Register File超低延迟高速存储
Shared MemorySM 内高速片上内存(TB/s 级)
L1 Cache临时数据缓存

工作原理

  1. 线程组织为 Block,每个 Block 分配到一个 SM
  2. Block 内线程拆分为 32 个一组的 Warp
  3. 同一 Warp 执行相同指令,处理不同数据(SIMT)
  4. Warp 阻塞时立即切换,隐藏延迟

关键:SM 并行能力由活跃 Warp 数决定,受寄存器/共享内存限制。

SM vs CPU Core

维度SMCPU Core
设计目标大规模数据并行复杂逻辑串行
核心数量数十~上百2~64
线程调度硬件级无开销切换操作系统调度

优化原则

让计算核心不空闲,最大化利用共享内存/寄存器降低访存延迟。

Comments