您的位置:首页 > 其它

对cuda函数block中thread的理解(2)

2017-02-20 12:55 316 查看
#include<stdio.h>

int sum = 0;

__global__ void f(){

printf("gridDim.x = %d\n",gridDim.x);
printf("gridDim.y = %d\n",gridDim.y);
printf("gridDim.z = %d\n",gridDim.z);
printf("blockDim.x = %d\n",blockDim.x);
printf("blockDim.y = %d\n",blockDim.y);
printf("blockDim.z = %d\n",blockDim.z);
printf("threadIdx.x = %d\n",threadIdx.x);
printf("threadIdx.y = %d\n",threadIdx.y);
printf("threadIdx.z = %d\n",threadIdx.z);
printf("blockIndx.x = %d\n",blockIdx.x);
printf("blockIndx.y = %d\n",blockIdx.y);
printf("blockIndx.z = %d\n",blockIdx.z);

}

int main(){
printf("sum = %d\n",sum);
dim3 test(3,2,2);//12 threads , threadIdx x,y,z 反应
f<<<1,test>>>();

return 0;
}

sum = 0
gridDim.x = 1
gridDim.x = 1
gridDim.x = 1
gridDim.x = 1
gridDim.x = 1
gridDim.x = 1
gridDim.x = 1
gridDim.x = 1
gridDim.x = 1
gridDim.x = 1
gridDim.x = 1
gridDim.x = 1
gridDim.y = 1
gridDim.y = 1
gridDim.y = 1
gridDim.y = 1
gridDim.y = 1
gridDim.y = 1
gridDim.y = 1
gridDim.y = 1
gridDim.y = 1
gridDim.y = 1
gridDim.y = 1
gridDim.y = 1
gridDim.z = 1
gridDim.z = 1
gridDim.z = 1
gridDim.z = 1
gridDim.z = 1
gridDim.z = 1
gridDim.z = 1
gridDim.z = 1
gridDim.z = 1
gridDim.z = 1
gridDim.z = 1
gridDim.z = 1
blockDim.x = 3
blockDim.x = 3
blockDim.x = 3
blockDim.x = 3
blockDim.x = 3
blockDim.x = 3
blockDim.x = 3
blockDim.x = 3
blockDim.x = 3
blockDim.x = 3
blockDim.x = 3
blockDim.x = 3
blockDim.y = 2
blockDim.y = 2
blockDim.y = 2
blockDim.y = 2
blockDim.y = 2
blockDim.y = 2
blockDim.y = 2
blockDim.y = 2
blockDim.y = 2
blockDim.y = 2
blockDim.y = 2
blockDim.y = 2
blockDim.z = 2
blockDim.z = 2
blockDim.z = 2
blockDim.z = 2
blockDim.z = 2
blockDim.z = 2
blockDim.z = 2
blockDim.z = 2
blockDim.z = 2
blockDim.z = 2
blockDim.z = 2
blockDim.z = 2
threadIdx.x = 0
threadIdx.x = 1
threadIdx.x = 2
threadIdx.x = 0
threadIdx.x = 1
threadIdx.x = 2
threadIdx.x = 0
threadIdx.x = 1
threadIdx.x = 2
threadIdx.x = 0
threadIdx.x = 1
threadIdx.x = 2
threadIdx.y = 0
threadIdx.y = 0
threadIdx.y = 0
threadIdx.y = 1
threadIdx.y = 1
threadIdx.y = 1
threadIdx.y = 0
threadIdx.y = 0
threadIdx.y = 0
threadIdx.y = 1
threadIdx.y = 1
threadIdx.y = 1
threadIdx.z = 0
threadIdx.z = 0
threadIdx.z = 0
threadIdx.z = 0
threadIdx.z = 0
threadIdx.z = 0
threadIdx.z = 1
threadIdx.z = 1
threadIdx.z = 1
threadIdx.z = 1
threadIdx.z = 1
threadIdx.z = 1
blockIndx.x = 0
blockIndx.x = 0
blockIndx.x = 0
blockIndx.x = 0
blockIndx.x = 0
blockIndx.x = 0
blockIndx.x = 0
blockIndx.x = 0
blockIndx.x = 0
blockIndx.x = 0
blockIndx.x = 0
blockIndx.x = 0
blockIndx.y = 0
blockIndx.y = 0
blockIndx.y = 0
blockIndx.y = 0
blockIndx.y = 0
blockIndx.y = 0
blockIndx.y = 0
blockIndx.y = 0
blockIndx.y = 0
blockIndx.y = 0
blockIndx.y = 0
blockIndx.y = 0
blockIndx.z = 0
blockIndx.z = 0
blockIndx.z = 0
blockIndx.z = 0
blockIndx.z = 0
blockIndx.z = 0
blockIndx.z = 0
blockIndx.z = 0
blockIndx.z = 0
blockIndx.z = 0
blockIndx.z = 0
blockIndx.z = 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: