去年虽然看了CUDA编程的基础知识(没学完つ﹏⊂),但是没有整理成笔记,并且一直没有使用,导致忘了好多。今年打算重新再把CUDA的基础知识学习一边,并进行总结梳理,记录成文,便于后续的复习。
本篇博客是CUDA编程系列笔记的开篇,我打算先介绍下搭建CUDA编程环境的整体过程以及遇到的问题。
我学习的参考书目为:樊哲勇老师的《CUDA编程 基础与实践》。这本书我个人认为适合新手入门,书页不厚,内容通俗易懂,并且有C++代码示例。推荐一下。
1. visual studio 2019
2. CUDA下载地址
3. 作者:Xav Zewen,VS+CUDA 新建项目里没有CUDA选项(附详细图文步骤)
4. windows下CUDA的卸载以及安装
5. CUDA版本和驱动的对应表
我个人尝试手动配置,但是失败了(分析原因是:我的C:\ProgramData\NVIDIA GPU Computing Toolkit\v10.2\extras\visual_studio_integration\CudaProjectVsWizards文件下的东西和博客3中的不一致,没法有效配置)。
由于我的GPU是GTX1650, 所以我选择的是CUDA10.2版本,读者朋友其实可以根据自己电脑的情况自行选择,但是值得注意的是30系列显卡的CUDA必须大于等于CUDA11.0,CUDA11.0以下的版本不能使用,会报算力不匹配的错误。
一定要把Visual Studio Integration选上,其他的根据需求下载。我直接全下了。
安装路径我也是直接默认C盘。
直接不管,点击下一步。
点击下一步。
此时就算是安装完成了,点击重启。
9. 重启完后我们开始验证CUDA是否安装成功。首先进入如下文件路径中(修改过默认路径的读者可以根据如下路径对应查找)。
10. 在文件路径中输入cmd,打开当前路径下的命令行窗口。
11. 运行其中的bandwidthTest.exe和deviceQuery.exe。出现下图中结果就说明安装成功。
在安装完Visual studio 2019和CUDA后,我们开始进行测试是否可以进行CUDA编程。
此处如果找不到,只能说明你的visual studio 2019中没有生成CUDA10.2的模板插件,此处你要么通过我上面列举的参考博客VS+CUDA 新建项目里没有CUDA选项(附详细图文步骤)中进行手动配置,要么删除CUDA,重新下载。
我在此处列出配置好的CUDA模板插件的位置和路径,方便读者朋友参考。如下图所示:
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\NVIDIA
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\NVIDIA\CUDA 10.2 Wizards\10.2
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\Common7\IDE\Extensions\NVIDIA\Nsight Visual Studio Edition\2019.4
根据这篇博客中VS+CUDA 新建项目里没有CUDA选项(附详细图文步骤)似乎没有配置这个Nsight Visual Studio Edition,只需要配置上面的CUDA 10.2 Wizards\10.2,不过我还是列出来给读者朋友进行参考。
#include "cuda_runtime.h"
#include "device_launch_parameters.h"
#include
#include
__global__ void hello_from_gpu()
{
const int bid = blockIdx.x;
const int tid = threadIdx.x;
printf("Hello World from block %d, from thread %d.\n",bid, tid);
}
int main()
{
const dim3 gridSize(2);
const dim3 blockSize(3);
printf("start\n");
hello_from_gpu << <gridSize, blockSize >> > ();
printf("endn\n");
cudaDeviceSynchronize();
return 0;
}
以上是我个人的环境安装全部流程,我分别在家里和公司都配置成功了。但是也只展示visual studio 2019和CUDA10.2的配置方法,仅仅作为一个成功的案例,没办法解决读者朋友因为不同电脑硬件和软件版本而出现的新问题。如果读者朋友遇到新问题,可以在评论区提出,我们一起讨论或者看看有没有大神帮忙解答。
最后感谢读者朋友的阅读,如果帮到您的话,希望可以给我一个点赞。您的鼓励是我最大动力。o( ̄▽ ̄)ブ