包含__syncthreads()的CUDA内核的块大小是否进一步受限?

时间:2015-08-02 20:10:51

标签: cuda

包含__syncthreads()的内核是否必须在同步时同时运行其所有线程?如果是这种情况,如何使用比并发线程数更大的块大小?

1 个答案:

答案 0 :(得分:3)

__syncthreads()只是一个块级屏障(读取documentation),而不是网格范围,设备范围或“内核范围”屏障或同步点。

因此唯一的要求是块中的所有线程都是可调度的,这实际上是块在SM上启动的要求,因此不需要额外的要求来满足__syncthreads(),并且它对块大小没有特殊限制。