标签: cuda
包含__syncthreads()的内核是否必须在同步时同时运行其所有线程?如果是这种情况,如何使用比并发线程数更大的块大小?
答案 0 :(得分:3)
__syncthreads()只是一个块级屏障(读取documentation),而不是网格范围,设备范围或“内核范围”屏障或同步点。
__syncthreads()
因此唯一的要求是块中的所有线程都是可调度的,这实际上是块在SM上启动的要求,因此不需要额外的要求来满足__syncthreads(),并且它对块大小没有特殊限制。