Windows下 VSCode配置cuda编译环境

6 篇文章 0 订阅
6 篇文章 0 订阅

Windows系统下,在Visual Studio 里配置CUDA环境网上已经有很多资料了,而在轻量级IDE VScode上编译CUDA的材料不是很多,本篇博文将简要介绍在Windows 系统下配置CUDA环境的方法。

一、VScode插件 code-runner法

在VScode里安装插件——coder-runner,在settings.json里添加(win10下的)

"code-runner.executorMap": {
        "cu": "cd $dir; nvcc $fileName -o $fileNameWithoutExt.exe -I'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.0\\include' && $dir$fileNameWithoutExt"
    }, // 右键

win7下的(注意win7 和win 10 下的不太一样,之前的博文里有提到过) 

"code-runner.executorMap": {
        "cu": "cd $dir && nvcc $fileName -o $fileNameWithoutExt.exe -I'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.0\\include' && $dir$fileNameWithoutExt"
    }, // 右键

注意:这里的settings.json 是当前工作目录  .vscode 目录下(没有自己创建,自己写也可以)的设置文件,是局部的,如果需要全局通用的话,则转到全局settings.json 文件里修改。

上面的命令里比较关键的地方在于 nvcc——指定编译器(这里直接使用是因为已经在系统环境变量里添加了nvcc的地址了,否则这里需要把nvcc所在的路径写全),其次 -I (大写的i)为指定include文件路径,用 '  而不是 " 是因为语句已经被 " "包含了。此外如果还需要使用链接库的话,还需要加 

-l 和 -L

来分别指定需要的库名称,和库所在的位置。具体参考博文:https://www.cnblogs.com/shrimp-can/p/5567518.html

按照上面的方法应该是可以在win下编译cuda文件为可执行文件并运行,不过也有可能在编译的时候 会以gcc/g++的方式进行编译,这时候需要看一下 在系统settigns.json 文件里 是否将. c/.cpp 与.cu 进行关联了,如果是的话,要么取消关联,但是这个时候,就无法享用.c/.cpp 带来的的语法高亮的便利,还用一种办法就是把上面"code-runner.executorMap" 中关于c或者cpp的执行命令语句全部 注销掉。这里给出我使用的settings.json,仅供参考。

{
    "files.defaultLanguage": "c", // ctrl+N新建文件后默认的语言
    "editor.formatOnType": false, // 输入分号(C/C++的语句结束标识)后自动格式化当前这一行的代码
    "editor.suggest.snippetsPreventQuickSuggestions": false, // clangd的snippets有很多的跳转点,不用这个就必须手动触发Intellisense了
    "editor.acceptSuggestionOnEnter": "off", // 我个人的习惯,按回车时一定是真正的换行,只有tab才会接受Intellisense
    // "editor.snippetSuggestions": "top", // (可选)snippets显示在补全列表顶端,默认是inline
    "code-runner.runInTerminal": true, // 设置成false会在“输出”中输出,无法输入
    "code-runner.executorMap": {
        // "c": "cd $dir && gcc '$fileName' -o '$fileNameWithoutExt.exe' -Wall -g -O2 -static-libgcc -std=c11 -fexec-charset=GBK && &'$dir$fileNameWithoutExt'",
        //"cpp": "cd $dir && g++ '$fileName' -o '$fileNameWithoutExt.exe' -Wall -g -O2 -static-libgcc -std=c++17 -fexec-charset=GBK && &'$dir$fileNameWithoutExt'"
        //"c": "cd $dir ; gcc $fileName -o $fileNameWithoutExt.exe -Wall -g -O2 -static-libgcc -std=c11 -fexec-charset=GBK && $dir$fileNameWithoutExt",
        //"cpp": "cd $dir; g++ $fileName -o $fileNameWithoutExt.exe -Wall -g -O2 -static-libgcc -std=c++17 -fexec-charset=GBK && $dir$fileNameWithoutExt",
        "c": "cd $dir; nvcc $fileName -o $fileNameWithoutExt.exe -I'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v9.0\\include' && $dir$fileNameWithoutExt"
    }, // 右键run code时运行的命令;未注释的仅适用于PowerShell(Win10默认),文件名中有空格也可以编译运行;注释掉的适用于cmd(win7默认),PS和bash也能用,但文件名中有空格时无法运行
    "code-runner.saveFileBeforeRun": true, // run code前保存
    "code-runner.preserveFocus": true, // 若为false,run code后光标会聚焦到终端上。如果需要频繁输入数据可设为false
    "code-runner.clearPreviousOutput": false, // 每次run code前清空属于code runner的终端消息,默认false
    "code-runner.ignoreSelection": true, // 默认为false,效果是鼠标选中一块代码后可以单独执行,但C是编译型语言,不适合这样用
    // "terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe",
    //"terminal.integrated.shell.windows": "powershell.exe",
    "C_Cpp.clang_format_sortIncludes": true, // 格式化时调整include的顺序(按字母排序)
}

二、手动输入命令的方法

这种方法更接近在linux系统下的使用方法,要在环境变量中增加cl.exe的路径,不然会报错,具体的

1.在vscode里打开终端

2.输入命令 

nvcc -o main -I"C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include" main.cu

3.输入 ./main 即可执行

这里的nvcc ,-I 与前面的解释类似。

其实,不一定非要在vscode终端里执行,也可以在cmd或者powershell里执行 类似的命令,具体可以自己探索一下。

windows在vscode里配置环境稍微麻烦一点,linux下比较方便是因为在 .bashrc 文件里已经配置好了 PATH 和LD_LIBRARY_PATH 。

 

参考链接:

1.https://blog.csdn.net/u012435142/article/details/102651892

2.https://www.cnblogs.com/shrimp-can/p/5567518.html


额外补充一点,可以直接使用 MS VS工具切换到指定目录下执行,

参考 https://www.cnblogs.com/kileyi/p/5492253.html 打开, 本机工具命令提示符,然后cd 到cu文件所在目录

,直接执行 nvcc -o test  test.cu也行,因为这个VS自带的工具已经提前配置好了环境。

 

  • 16
    点赞
  • 57
    收藏
    觉得还不错? 一键收藏
  • 15
    评论
配置 CUDA 环境通常需要以下步骤: 1. 安装 NVIDIA 驱动程序:首先,需要确认您的显卡型号并下载对应的 NVIDIA 驱动程序。然后,通过命令行或图形界面进行驱动程序的安装。 2. 安装 CUDA Toolkit:访问 NVIDIA 官方网站下载 CUDA Toolkit 的安装包。选择与您显卡驱动程序兼容的版本,并按照安装向导进行安装。安装完成后,CUDA 相关程序将会被安装到默认目录下。 3. 设置环境变量:为了在命令行中能够使用正确版本的 CUDA,需要设置相关的环境变量。打开终端,编辑或创建一个 `.bashrc` 或 `.bash_profile` 文件,并加入以下内容: ``` export PATH=/usr/local/cuda/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH ``` 然后运行以下命令使环境变量生效: ``` source ~/.bashrc ``` 4. 配置 VSCode 插件:打开 VSCode,按下 `Ctrl + P` 输入 `ext install`,然后输入 `TensorFlow Snippets` 并安装该插件。 5. 配置 `tasks.json` 文件:在 VSCode 的文件菜单中选择 `Tasks -> Configure Tasks`,然后选择 "Create tasks.json file from template",并选择 "Others"。在新打开的 `tasks.json` 文件中,添加以下代码: ```json { "version": "2.0.0", "tasks": [ { "label": "Compile CUDA", "type": "shell", "command": "nvcc", "args": ["${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"], "group": { "kind": "build", "isDefault": true } } ] } ``` 6. 配置 `launch.json` 文件:在 VSCode 的文件菜单中选择 "Debug -> Add Configuration",然后选择 "C++ (GDB/LLDB)"。修改新打开的 `launch.json` 文件中的 `"program"` 字段为 `${fileDirname}/${fileBasenameNoExtension}`。 至此,您已成功配置了 Linux 系统上的 VSCode CUDA 环境。现在,您可以通过将 CUDA 代码保存为 `.cu` 文件后按下 `Ctrl + Shift + B` 来进行 CUDA 编译,或者选择 "Run" 菜单中的 "Start Debugging" 来进行 CUDA 调试。
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值