第一个cuda编程helloworld

268 阅读2分钟

耗费3天的时间,终于用cuda输出了一行hello world,其中的辛酸只有自己知道,太不容易了

首先需要安装cuda toolkit,cuda toolkit只能使用windows或者linux系统,见下载链接,如果想指定cuda toolkit版本进行下载,点击该链接

如果要使用cuda,首先需要准备一张装有Nvidia的显卡,因为本人电脑是mac,装的是AMD的显卡,所以没搞定,第二天借用了一台装有Nvidia GTX1050的windows电脑。

然后,需要检查一下该显卡支持最高的cuda toolkit版本,在命令行工具输入nvidia-smi即可查看

捕获.PNG

Nvidia GTX1050支持最高11.2的cuda版本,所以下载11.2版本就行

第三步,就要下载visual studio了 下载链接

目前只能下载2022社区版,这是免费版本,下载完成后,需要配置环境变量path

添加 Visual Studio 的编译器路径,例如:C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC<version>\bin\Hostx64\x64。或者:C:\Program Files\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC<version>\bin\Hostx64\x64

主要是看看cl.exe在那个文件夹下

第四步,下载visual studio code, 添加Nsight Visual Studio Code Edition插件

新建一个后缀名为cu的文件,helloworld.cu代码如下

#include <stdio.h>

void hello() {
    printf("hello world");
}

__global__ void helloFromCUDA() {     printf("Hello from CUDA!\n"); }

int main() {
    hello()
    // 调用 CUDA kernel
    helloFromCUDA<<<3, 2>>>();
    cudaDeviceReset();
    return 0;
}

打开命令行工具,在所在的文件夹下执行

nvcc -o helloworld helloworld.cu

报错了 fatal errorC1189:#error:-- unsupported Microsoft Visual Studio version!

visual studio的版本与cuda版本不匹配,需要用visual studio 2019版本的,这个时候下载visual studio 2019就又成了一个问题,还好参考了该文档,文档最后又对应的下载链接,感谢。

安装visual studio 2019版本后,再执行

nvcc -o helloworld helloworld.cu

输出

helloworld.cu
  正在创建库 helloworld.lib 和对象 helloworld.exp

然后该文件夹下就多出了3个文件

helloworld.lib

helloworld.exp

helloworld.exe

然后执行.exe文件就可以看到输出结果了

 ./helloworld.exe

输出如图所示

捕获1.PNG

终于成功了,给自己鼓个掌,后面就是学习cude语法了。所谓良好的开头是成功的一半,开头不错,相信后面会更好。

参考文献:

  1. # cuda 编程环境搭建和第一个程序helloworld
  2. # 简单记录一下cuda配置环境