CUDA块如何划分为经线?
如果我用一个网格开始我的内核,其网格的尺寸为:
dim3 block_dims(16,16);
现在网格块如何分裂成经线? 这样一个块的前两行是否构成一个变形,或前两列,还是这个任意排序?
假设GPU计算能力为2.0。
线程块内的编号,以便使得threadIdx.x
变化最快,然后threadIdx.y
第二快改变,和threadIdx.z
最慢地变化。 这在功能上与多维数组中的列主要排序相同。 经线按此顺序依次构造。 所以2d块的计算是
unsigned int tid = threadIdx.x + threadIdx.y * blockDim.x;
unsigned int warpid = tid / warpSize;
这在节目指南和PTX指南中均有介绍。
链接地址: http://www.djcxy.com/p/80095.html