是否可以仅同步CUDA块中扭曲的一个子集,即效果应该在__syncwarp()
和__syncthreads()
之间。
这种情况是该块中的所有线程都执行如下程序:
copy data from global memory to shared buffer
__syncthreads()
work in shared buffer
__syncthreads()
work in shared buffer
...
但是在第一个__syncthreads()
之后,还不需要通过3-5翘曲复制的数据。
是否有一种方法可以在没有数据依赖性时通知编译器,以便它不等到这些副本在第一个__syncthreads()
结束时才出现,并隐藏全局内存访问的延迟?