1,一个GPU会有多个SM(Streaming MultiProcessor),SM之间是并行的;
2,一个SM可以同时处理多个Block的多个wrap,也就是说,同一时刻,一个SM内,不止只有一个wrap在执行;
参考:
Programming Guide :: CUDA Toolkit Documentation
3,SM处理完一个Block后,才会处理下一个Block,也就是说例如SM可以同时处理3个Block,那么这3个Block的其中一个处理完后,才会处理第四个Block。
4,一个wrap的线程会分配到32个(假设一个wrap的线程数量是32)CUDA core,也叫stream processor(sp)里执行。
编程建议:将Block个数尽量设置为SM的整数倍,可以提高设备利用率。
参考:
版权声明:本文为zhushentian原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。