如果我使用一个网格来启动我的内核,该网格的块具有尺寸:
dim3 block_dims(16,16);
网格块现在如何分割成扭曲?这样一个块的前两行是否形成一个扭曲,或者前两列,或者这是任意排序的?
假设 GPU 计算能力为 2.0。
线程在块内按顺序编号,以便threadIdx.x
变化最快,那么threadIdx.y
第二快的变化,并且threadIdx.z
变化最慢。这在功能上与多维数组中的列主要排序相同。扭曲是按此顺序从线程顺序构造的。所以二维块的计算是
unsigned int tid = threadIdx.x + threadIdx.y * blockDim.x;
unsigned int warpid = tid / warpSize;
编程指南和 PTX 指南均对此进行了介绍。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)