在上一篇文章中【CUDA-1】centos7安装CUDA,记录了在centos7安装cuda的过程,这一篇,我们首先用一个最简单的示例代码来感受一下,CUDA编程的基本风格。
少废话,上代码:
// 001_hello.cu
#include <stdio.h>
#include <unistd.h>
// __global__ 修饰符,将告诉编译器,函数在设备(GPU)上运行而不是在主机(CPU)上运行
__global__ void kernel(void)
{
printf("Hello world!\n");
}
int main(void)
{
while(1)
{
kernel<<<1,1>>>();
sleep(1);
}
return 0;
}
代码怎么编译呢?超级简单,只需要将gcc 换成nvcc就好了。
nvcc 001_hello.cu -o e_002
为了只管的看见GPU的占用,上输代码中使用了循环一直执行代码 kernel<<<1,1>>>();
可以发现,几乎所有的语法和C语言一模一样。
执行结果:
体验了CUDA基本语法之后,在下一篇中将会讲解如何获取GPU的属性,以及运行以个并行计算的例子,并比较CPU和GPU运算能力的差别。