在ubuntu下利用cuda的GPU编程之旅(1)

在ubuntu16.04的操作系统之下下载了cuda10.0从此在GPU编程的道路上越走越远。。。
1.环境搭建
参考https://blog.csdn.net/linhai1028/article/details/79451648
但是值得注意的是,我们不一定要提前下载NVIDIA驱动,在安装CUDA时安装器会提醒你是否安装GPU的driver,可以自动安装与cuda相匹配的driver,这样可以避免cuda的version与runtime不匹配的问题。
2.编写第一个cuda程序
部分同学纠结在ubuntu下面使用什么编辑器书写代码,其实用ubuntu自带的记事本就行,将文件后缀改为.cu即可。下面我们先来编写第一个cuda程序。将其命名为“helloworld.cu”。

#include<stdio.h>


__global__ void helloFromGPU(void)
{
  printf("Hello World from GPU!\n");
}

int main(void)
{
  printf("Hello World from CPU!\n");

  helloFromGPU<<<1,10>>>();
  cudaDeviceReset();
  return 0;
}

其中__global__表示后面的函数交由GPU处理,通常GPU编程包含以下五步
(1)分配GPU内存
(2)将CPU的内容拷贝给GPU内存
(3)调用CUDA的内核函数进行处理
(4)将GPU处理完的数据拷贝给CPU
(5)释放GPU的内存

上述代码中__global__之后的内容为内核函数<<<>>>代表从主线程到设备端代码的调用,里面的参数10代表调用10个线程。
打开终端,进入cu文件所在的文件夹输入

nvcc -o helloworld helloworld.cu

输出结果应为
Hello World from CPU!
Hello World from GPU!
Hello World from GPU!
Hello World from GPU!
Hello World from GPU!
Hello World from GPU!
Hello World from GPU!
Hello World from GPU!
Hello World from GPU!
Hello World from GPU!
Hello World from GPU!

希望可以越走越远

猜你喜欢

转载自blog.csdn.net/kyleasy/article/details/82988913