耗费3天的时间,终于用cuda输出了一行hello world,其中的辛酸只有自己知道,太不容易了
首先需要安装cuda toolkit,cuda toolkit只能使用windows或者linux系统,见下载链接,如果想指定cuda toolkit版本进行下载,点击该链接
如果要使用cuda,首先需要准备一张装有Nvidia的显卡,因为本人电脑是mac,装的是AMD的显卡,所以没搞定,第二天借用了一台装有Nvidia GTX1050的windows电脑。
然后,需要检查一下该显卡支持最高的cuda toolkit版本,在命令行工具输入nvidia-smi即可查看
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
输出如图所示
终于成功了,给自己鼓个掌,后面就是学习cude语法了。所谓良好的开头是成功的一半,开头不错,相信后面会更好。
参考文献: