SM单元 硬件
在硬件上,SM(Streaming Multiprocessor)指的是流式多处理器单元,它是GPU架构中非常重要的组成部分。SM可以看作是GPU的心脏,类似于CPU核心,负责执行并行计算任务。每个SM包含多个流处理器(cores)或线程(threads),例如Nvidia H100 GPU有132个SM,每个SM有64个cores,总共有8448个cores。SM还配备了一定量的芯片上内存,通常称为共享内存或scratchpad,这是所有cores共享的。此外,SM上的控制单元资源也由所有cores共享,每个SM还配备了用于执行线程的硬件调度器。SM还具有一些功能单元或其他加速计算单元,例如张量核心或光线追踪单元,以满足GPU所处理的工作负载的特定计算需求。
简而言之,SM是GPU中用于执行并行计算任务的基本单元,它包含了多个处理核心、共享内存、控制单元和其他加速计算单元。在CUDA编程中,SM与软件上的block有对应关系,而SP(Streaming Processor,也称为CUDA core)与thread有对应关系。