二维grid下,二维block的线程全局id获取
线程分配如下所示:
线程分配格式为:
gridDim.x = 2
gridDim.y = 2
blockDim.x = 2
blockDim.y = 2
那么线程的global_id可以表示为:
global_index = row_offset + block_offset + tid
row_offset = number of threads in a row * blockIdx.y
= blockDim.x * blockDim.y * gridDim.x * blockIdx.y;
block_offset = number of threads in a block * blockIdx.x
= blockDim.x * blockDim.y * blockIdx.x