cuda 编 程 helloworld 打印grid 与block

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cuda 编 程 helloworld 打印grid 与block相关的知识,希望对你有一定的参考价值。


#include <stdio.h>
#include <iostream>
using namespace std;

__global__ void hello_from_gpu()

const int b = blockIdx.x;
const int c = blockIdx.y;

const int tx = threadIdx.x;
const int ty = threadIdx.y;
// cout<<b<<endl;
printf("Hello World from block-(%d,%d) and thread-(%d, %d)!\\n", b,c, tx, ty);


int main(void)

const dim3 grid(3, 2);
const dim3 block(5, 3);
//const dim3 block_size(2, 4);
hello_from_gpu<<<grid, block>>>();
cudaDeviceSynchronize();
return 0;
nvcc hello6.cu -o hello6
./hello6
Hello World from block-(2,1) and thread-(0, 0)!
Hello World from block-(2,1) and thread-(1, 0)!
Hello World from block-(2,1) and thread-(2, 0)!
Hello World from block-(2,1) and thread-(3, 0)!
Hello World from block-(2,1) and thread-(4, 0)!
Hello World from block-(2,1) and thread-(0, 1)!
Hello World from block-(2,1) and thread-(1, 1)!
Hello World from block-(2,1) and thread-(2, 1)!
Hello World from block-(2,1) and thread-(3, 1)!
Hello World from block-(2,1) and thread-(4, 1)!
Hello World from block-(2,1) and thread-(0, 2)!
Hello World from block-(2,1) and thread-(1, 2)!
Hello World from block-(2,1) and thread-(2, 2)!
Hello World from block-(2,1) and thread-(3, 2)!
Hello World from block-(2,1) and thread-(4, 2)!
Hello World from block-(1,1) and thread-(0, 0)!
Hello World from block-(1,1) and thread-(1, 0)!
Hello World from block-(1,1) and thread-(2, 0)!
Hello World from block-(1,1) and thread-(3, 0)!
Hello World from block-(1,1) and thread-(4, 0)!
Hello World from block-(1,1) and thread-(0, 1)!
Hello World from block-(1,1) and thread-(1, 1)!
Hello World from block-(1,1) and thread-(2, 1)!
Hello World from block-(1,1) and thread-(3, 1)!
Hello World from block-(1,1) and thread-(4, 1)!
Hello World from block-(1,1) and thread-(0, 2)!
Hello World from block-(1,1) and thread-(1, 2)!
Hello World from block-(1,1) and thread-(2, 2)!
Hello World from block-(1,1) and thread-(3, 2)!
Hello World from block-(1,1) and thread-(4, 2)!
Hello World from block-(0,0) and thread-(0, 0)!
Hello World from block-(0,0) and thread-(1, 0)!
Hello World from block-(0,0) and thread-(2, 0)!
Hello World from block-(0,0) and thread-(3, 0)!
Hello World from block-(0,0) and thread-(4, 0)!
Hello World from block-(0,0) and thread-(0, 1)!
Hello World from block-(0,0) and thread-(1, 1)!
Hello World from block-(0,0) and thread-(2, 1)!
Hello World from block-(0,0) and thread-(3, 1)!
Hello World from block-(0,0) and thread-(4, 1)!
Hello World from block-(0,0) and thread-(0, 2)!
Hello World from block-(0,0) and thread-(1, 2)!
Hello World from block-(0,0) and thread-(2, 2)!
Hello World from block-(0,0) and thread-(3, 2)!
Hello World from block-(0,0) and thread-(4, 2)!
Hello World from block-(0,1) and thread-(0, 0)!
Hello World from block-(0,1) and thread-(1, 0)!
Hello World from block-(0,1) and thread-(2, 0)!
Hello World from block-(0,1) and thread-(3, 0)!
Hello World from block-(0,1) and thread-(4, 0)!
Hello World from block-(0,1) and thread-(0, 1)!
Hello World from block-(0,1) and thread-(1, 1)!
Hello World from block-(0,1) and thread-(2, 1)!
Hello World from block-(0,1) and thread-(3, 1)!
Hello World from block-(0,1) and thread-(4, 1)!
Hello World from block-(0,1) and thread-(0, 2)!
Hello World from block-(0,1) and thread-(1, 2)!
Hello World from block-(0,1) and thread-(2, 2)!
Hello World from block-(0,1) and thread-(3, 2)!
Hello World from block-(0,1) and thread-(4, 2)!
Hello World from block-(1,0) and thread-(0, 0)!
Hello World from block-(1,0) and thread-(1, 0)!
Hello World from block-(1,0) and thread-(2, 0)!
Hello World from block-(1,0) and thread-(3, 0)!
Hello World from block-(1,0) and thread-(4, 0)!
Hello World from block-(1,0) and thread-(0, 1)!
Hello World from block-(1,0) and thread-(1, 1)!
Hello World from block-(1,0) and thread-(2, 1)!
Hello World from block-(1,0) and thread-(3, 1)!
Hello World from block-(1,0) and thread-(4, 1)!
Hello World from block-(1,0) and thread-(0, 2)!
Hello World from block-(1,0) and thread-(1, 2)!
Hello World from block-(1,0) and thread-(2, 2)!
Hello World from block-(1,0) and thread-(3, 2)!
Hello World from block-(1,0) and thread-(4, 2)!
Hello World from block-(2,0) and thread-(0, 0)!
Hello World from block-(2,0) and thread-(1, 0)!
Hello World from block-(2,0) and thread-(2, 0)!
Hello World from block-(2,0) and thread-(3, 0)!
Hello World from block-(2,0) and thread-(4, 0)!
Hello World from block-(2,0) and thread-(0, 1)!
Hello World from block-(2,0) and thread-(1, 1)!
Hello World from block-(2,0) and thread-(2, 1)!
Hello World from block-(2,0) and thread-(3, 1)!
Hello World from block-(2,0) and thread-(4, 1)!
Hello World from block-(2,0) and thread-(0, 2)!
Hello World from block-(2,0) and thread-(1, 2)!
Hello World from block-(2,0) and thread-(2, 2)!
Hello World from block-(2,0) and thread-(3, 2)!
Hello World from block-(2,0) and thread-(4, 2)!


以上是关于cuda 编 程 helloworld 打印grid 与block的主要内容,如果未能解决你的问题,请参考以下文章

cuda 编 程cuda 实现向量加法

cuda 编 程简单CUDA程序的基本框架

cuda 编程 helloworld 打印 blockIdx和threadIdx

cuda 编程 helloworld

将常量内存数组编译为 CUDA 中的立即值

CUDA编解码GPU性能参数对照表