logo 🤗

技术视野

聚焦科技前沿,分享技术解析,洞见未来趋势。在这里,与您一起探索人工智能的无限可能,共赴技术盛宴。

  1. 官方插件: Nsight Visual Studio Code Edition(与cuda调试有关)
  2. 配置文件格式识别,在设置中搜索files.associations, 设置“*.cu”: ".cpp",将cu文件映射为cpp文件(利用cpp插件来编译,可不做)。
  3. 解决导入cuda_runtime.h出现波浪线问题。

    • 打开Microsoft C/C++扩展配置。
    • 编译器参数那里添加
-I "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.3\\include"
-L "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.3\\libi\\x64"
  1. 解决不识别核函数中的关键词问题,在每个头文件下面添加下面两行。(如果执行了第五步这个可以省略,因为插件会帮你导入。保险起见还是写一下咯)
#include <cuda_runtime.h>
#include <device_launch_parameters.h>
  1. 解决不识别cu的<<<>>>核函数调用问题

    • 安装vscode-cudacpp插件。
    • 在当前工作区的.vscode文件夹下面新建一个setting.json文件,文件内容如下:
{
  "files.associations": {
    "*.cu": "cuda-cpp",
    "*.cuh": "cuda-cpp"
  }
}
  1. 总的文件配置如下(文件均位于.vscode文件夹下):
    6.1 c_cpp_properties.json
  • 该文件主要用于cpp编译器,如果执行了第五步可以省略该步骤。
  • 内容如下:
{
    "configurations": [
        {
            "name": "Win32",
            "includePath": [
                "${workspaceFolder}/**"
            ],
            "defines": [
                "_DEBUG",
                "UNICODE",
                "_UNICODE"
            ],
            "windowsSdkVersion": "10.0.19041.0",
            "compilerPath": "D:/Program Files (x86)/Microsoft Visual Studio/2019/BuildTools/VC/Tools/MSVC/14.29.30133/bin/Hostx64/x64/cl.exe",
            "intelliSenseMode": "windows-msvc-x64",
            "compilerArgs": [
                "-I",
                "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.3\\include",
                "-L",
                "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.3\\libi\\x64",
                "-l", "cudart",                           
                "-l", "cublas",
                "-l", "cudnn",
                "-l", "curand"
            ],
            "cStandard": "c17",
            "cppStandard": "c++17"
        }
    ],
    "version": 4
}

6.2 launch.json

  • 该文件用于debug调试用,但是实际windows下面的debug应该是废掉了。
  • 该文件只是充数用,没有debug的作用了。
{
  // 使用 IntelliSense 了解相关属性。 
  // 悬停以查看现有属性的描述。
  // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "name": "g++.exe - 生成和调试活动文件",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${fileDirname}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "miDebuggerPath": "D:\\mingw-w64\\x86_64-8.1.0-posix-seh-rt_v6-rev0\\mingw64\\bin\\gdb.exe",
      "setupCommands": [
        {
          "description": "为 gdb 启用整齐打印",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
      "preLaunchTask": "C/C++: g++.exe 生成活动文件"
    }
  ]
}

6.3 settings.json

  • 该文件用于告诉插件你的文件格式,方便插件执行,非常重要。
  • 文件内容
{
  "files.associations": {
    "*.cu": "cuda",
    "*.cuh": "cuda"
  }
}

6.4 tasks.json

  • 用于调用nvcc编译器并且执行.cu文件,核心文件所在。
  • 文件内容
{
  "tasks": [
    {
      "type": "cppbuild",
      "label": "C/C++: g++.exe 生成活动文件",
      "command": "nvcc",
      "args": [
        "-g",
        "${file}",
        "-o",
        "${fileDirname}\\${fileBasenameNoExtension}.exe",
        "-I",
        "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.3\\include",
        "-L",
        "C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.3\\libi\\x64",
        "-l", "cudart",                           
        "-l", "cublas",
        "-l", "cudnn",
        "-l", "curand",

      ],
      "options": {
        "cwd": "${fileDirname}"
      },
      "problemMatcher": [
        "$gcc"
      ],
      "group": {
        "kind": "build",
        "isDefault": true
      },
      "detail": "调试器生成的任务。"
    }
  ],
  "version": "2.0.0"
}

cuda-gdb调试

  1. 安装Nsight Visual Studio Code Edition插件
  2. tasks.json的args参数增加一个“-G”即可(windows下只能debug cpu数据,gpu数据不能debug,除非用远程开发连接linux)。
"args": [
        "-G",
        "-g",
        "${file}",
        "-o",
        "${fileDirname}/${fileBasenameNoExtension}",
# ---省略-- #
  ],

版权属于:tlntin
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2023年05月26日 14:31


39 文章数
5 分类数
40 页面数
已在风雨中度过 1年160天12小时26分
目录
来自 《windows下VsCode cuda配置》
暗黑模式
暗黑模式
返回顶部
暗黑模式
暗黑模式
返回顶部