【CUDA-2】第一个CUDA代码例子——hello world

在上一篇文章中【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运算能力的差别。

发布了134 篇原创文章 · 获赞 119 · 访问量 31万+

猜你喜欢

转载自blog.csdn.net/jobbofhe/article/details/90520745
今日推荐