本文主要是windows下的vscode的cudac++环境的配置。
cuda编程首先需要下载CUDA的toolkit和驱动等来提供支持,我这里主要是针对下载完之后的,对于vscode下进行cudac++的配置,以下是我的CUDA的一些版本信息,提供参考:
nvcc
依赖 MSVC 编译器完成主机代码(Host Code)的编译,然后涉及到需要下载 Visual Studio,我的CUDA版本支持2017-2022的 Visual Studio,不过我原来就有2022的 Visual Studio,但是后面配置发现不行,于是重新下了个2019的,官网的下载链接好像关闭了,我在知乎找到了个可以下载的链接:Visual Studio 2019 2017 官网下载链接不可用 解决方案 - 知乎
一、环境变量
下载好Visual Studio后根据自己下载安装的路径添加下面两条。
二、c_cpp_properties.json文件的配置
下载完成Visual Studio之后,就需要添加配置信息了,首先是c_cpp_properties.json的,
{
"configurations": [
{
"name": "Win32-CUDA",
"includePath": [
"D:/Program Files/NVIDIA GPU Computing Toolkit/CUDA12.3/v12.3/include/**",
"D:/Tools/VStudio/VC/Tools/MSVC/14.29.30133/include/**",
"D:/Windows Kits/10/Include/10.0.22621.0/ucrt/**",
"${workspaceFolder}/**"
],
"compilerPath": "D:/Program Files/NVIDIA GPU Computing Toolkit/CUDA12.3/v12.3/bin/nvcc.exe",
"cStandard": "${default}",
"cppStandard": "${default}",
"intelliSenseMode": "windows-msvc-x64",
"compilerArgs": [
""
]
}
],
"version": 4
}
主要是includePath那三条添加、compilerPath的改动以及intelliSenseMode的改动。
"D:/Tools/VStudio/VC/Tools/MSVC/14.29.30133/include/**"这条是Visual Studio里面的,"D:/Windows Kits/10/Include/10.0.22621.0/ucrt/**"这条可以自己找找,我是用一个叫做Everything的软件找的。
三、task.json文件
看我下面的代码文件,根据注释和自己的情况改。
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "nvcc",//修改这里
"args": [
"-arch=sm_86",//改成自己的架构
"-o",
"${fileDirname}/${fileBasenameNoExtension}.exe",
"${file}",
"-I",
//下面三条根据自己的文件地址改
"D:/Program Files/NVIDIA GPU Computing Toolkit/CUDA12.3/v12.3/include",
"-L",
"D:/Program Files/NVIDIA GPU Computing Toolkit/CUDA12.3/v12.3/lib/x64",
"-lcudart",
"D:/Tools/VStudio/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64"
],
"group": "build",
"problemMatcher": []
},
{
"type": "cppbuild",
"label": "C/C++: nvcc.exe 生成活动文件",
"command": "D:/Program Files/NVIDIA GPU Computing Toolkit/CUDA12.3/v12.3/bin/nvcc.exe",//这里一样根据自己的路径改
"args": [
// "-fdiagnostics-color=always",这条好像要注释掉,我记得我这条有报错过。
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe",
"-arch=sm_86",
"-D__CUDA_NO_HALF_OPERATORS__"
],
"options": {
"cwd": "D:/Program Files/NVIDIA GPU Computing Toolkit/CUDA12.3/v12.3/bin"//改
},
"problemMatcher": [
"$nvcc"//改
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
]
}