gridDim:包含x,y,z的结构体
表示网格在x,y,z方向上的尺寸
目前仅能使用二维
对应于执行参数第一个
blockIdx:包含x,y,z的结构体
表示当前线程块在网格中x,y,z方向上的索引
被限制为65535
blockDim:包含x,y,z的结构体
表示块在x,y,z方向上的尺寸
目前仅能使用二维
对应于执行参数第二个
threadIdx:包含x,y,z的结构体
表示当前线程在其锁在块中x,y,z方向上的索引
不同型号,限制小于512/1024
dim3 myGridDim(bx,by);
dim3 myBlockDim(tx,ty);
kernal<<<myGridDim,myBlockDim>>>();
则每个线程块有tx行ty列的线程,
x=threadIdx.x,y=threadIdx.y代表第x行第y列的那个线程;
整个网格有bx行by列的线程块
blockIdx.x,blockIdx.y代表第x行第y列的那个线程块;
也就是说
dim3 myGridDim(bx,by);
kernal<<<myGridDim,1>>>()
__global__ kernal()
{
int x = blockIdx.x
///
}