在CUDA编程中,如果我们要使用共享内存,我们需要将全局内存中的数据带入共享内存。线程用于传输这些数据。复制到cuda中的共享内存中
我在某处阅读(在线资源),最好不要让块中的所有线程都将数据从全局内存复制到共享内存。这样的想法是有道理的,所有的线程不一起执行。经线中的线程一起执行。但我担心的是所有的经纱不是按顺序执行的。比如说,一个带有线程的块被分成3个warp:war p0(0-31 threads),warp 1(32-63 threads),warp 2(64-95 threads)。不能保证warp 0会被首先执行(对不对?)。
那么我应该使用哪些线程将数据从全局数据复制到共享内存?
是warpSize是CUDA内核的已知内部变量吗? “像threadIDx,blockIdx.etc ...” 我知道它是32,但从变量中获取它对未来的GPU来说更安全:) – 2013-11-24 07:42:03