CUDA编程,什么是SM
参考
Nvidia GPU架构 - Cuda Core,SM,SP等等傻傻分不清?_cuda core是什么意思_asasasaababab的博客-CSDN博客
———————————————— 版权声明:本文为CSDN博主「asasasaababab」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/asasasaababab/article/details/80447254
CUDA编程入门(二)GPU硬件基础 - 知乎 (zhihu.com)
Streaming Multiprocessor (SM)
定义
GPU实际上是一个SM的阵列
每个SM包含N个计算核,现在我们的常用GPU中这个数量一般为128或192。一个GPU设备中包含一个或多个SM,这是处理器具有可扩展性的关键因素。
CUDA core也叫Streaming Processor(SP),这俩是一个意思。
每一个SM有自己的指令缓存,L1缓存,共享内存。而每一个SMP有自己的Warp Scheduler、Register File等。要注意的是CUDA Core是Single Precision的,也就是计算float单精度的。双精度Double Precision是那个黄色的模块。所以一个SM里边由32个DP Unit,由64个CUDA Core,所以单精度双精度单元数量比是2:1。LD/ST 是load store unit,用来内存操作的。SFU是Special function unit,用来做cuda的intrinsic function的,类似于__cos()这种。
CUDA中grid、block、thread、warp与SM、SP的关系_block sm_AplusX的博客-CSDN博客
其中SM(Streaming Multiprocessor)和SP(streaming Processor)是硬件层次的。
其中一个SM可以包含多个SP。thread是一个线程,多个thread组成一个线程块block,多个block又组成一个线程网格grid。