CUDA线程调度

  • Post author:
  • Post category:其他


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的整数倍,可以提高设备利用率。

参考:


CUDA性能优化—-warp深度解析 – 爱码网



版权声明:本文为zhushentian原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。