#include <cuda_runtime.h>
#include<stdio.h>
#include <device_launch_parameters.h>
__global__ void checkIndex() {
printf("threadIdx:(%d,%d,%d) block:(%d,%d,%d) blockDim:(%d,%d,%d) gridDim:(%d,%d,%d)\n",
threadIdx.x, threadIdx.y, threadIdx.z, blockIdx.x, blockIdx.y, blockIdx.z,
blockDim.x, blockDim.y, blockDim.z, gridDim.x, gridDim.y, gridDim.z);
}
int main() {
//定义数据
int n = 6;
//定义网络和块的结构
dim3 block(3);
dim3 grid((n + block.x - 1) / block.x);
//从主机检查网格和块的维度
printf("grid.x %d grid.y %d grid.a %d\n", grid.x, grid.y, grid.z);
printf("block.x %d block.y %d block.z %d\n", block.x, block.y, block.z);
//从GPU上检查网格和块的维度;;
checkIndex << <grid, block >> > ();
cudaDeviceReset();
return (0);
}
10-14
415
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
03-26
5975
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)