对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
相关文章推荐
- 对cuda函数grid中的block的理解(1)
- 理解 Thread.Sleep 函数
- 理解 Thread.Sleep 函数
- 理解 Thread.Sleep 函数
- 理解 Thread.Sleep 函数 ,Sleep(0) 释放当前线程所剩余的时间片,让线程马上回到就绪队列而非等待队列
- 理解 Thread.Sleep 函数
- 理解 Thread.Sleep 函数
- CUDA中grid、block、thread、warp与SM、SP的关系
- 理解 Thread.Sleep 函数
- 理解 Thread.Sleep 函数
- cuda之thread,block,gird详解
- CUDA Thread Block:transpose
- 理解 Thread.Sleep 函数
- cuda编程-block和thread数量的确定
- 理解 Thread.Sleep 函数
- (转)理解 Thread.Sleep 函数
- 理解 Thread.Sleep 函数
- 理解 Thread.Sleep 函数
- 理解 Thread.Sleep 函数 --【转】虫子
- CUDA 技巧与经验 关于block、thread