安装VSCode, Remote Development 插件。打开远程资源管理器,点击+号新建,然后输入ssh xx@xxx连接服务器。参考链接打开.vscode文件夹(如果不存在则新建一个)按照windows配置篇装好对应插件。配置相关配置文件如下:c_cpp_properties.jso...
- 安装VSCode, Remote Development 插件(1, 2步仅限远程开发才需要,如果是linux本机开发就不用了)。
- 远程环境安装扩展,C/C++,C/C++ Extension Pack(非常关键),Nsight Visual一个,Better C++ Syntax一个。中文简体汉化一个。
- 打开远程资源管理器,点击+号新建,然后输入ssh xx@xxx连接服务器。参考链接
相关配置文件如下:
- c_cpp_properties.json
{
"configurations": [
{
"name": "Linux",
"includePath": [
"${workspaceFolder}/**"
],
"defines": [],
"compilerPath": "/usr/local/cuda/bin/nvcc",
"compilerArgs": [
"-I /usr/local/cuda/include"
]
}
],
"version": 4
}
- launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "CUDA C++: Launch",
"type": "cuda-gdb",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}",
"externalConsole": false, // 关闭外置窗口显示
"preLaunchTask": "cuda_build" // 调试前调用task任务
}
]
}
settings.json
{ "files.associations": { "*.cu": "cuda-cpp", "*.cuh": "cuda-cpp" } }
- tasks.json
{
"tasks": [
{
"type": "cppbuild",
"label": "cuda_build",
"command": "nvcc",
"args": [
"-g",
"-G",
"-arch=sm_86", // 3090专用,具体你要查询一下你的算力的大小
"-rdc=true", // 开启动态并行功能,开启后可以在核函数中递归调用
"--compiler-bindir",
"/usr/bin/g++-9", // 指定g++-9,防止不兼容
"${file}",
"-o",
"${fileDirname}/${fileBasenameNoExtension}",
"-I",
"/usr/local/cuda/include",
"-L",
"/usr/local/cuda/lib64",
"-l",
"cudadevrt",
// 加上这个防止代码不执行
"&&",
"${fileDirname}/${fileBasenameNoExtension}"
],
"options": {
"cwd": "${fileDirname}"
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared", // 可选new
"showReuseMessage": true,
"clear": false
},
"problemMatcher": [
"$nvcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
},
// // 建一个新任务运行结果(不然MAC没有输出)(可以不用填了)
// {
// "type": "shell",
// "label": "run output file",
// "dependsOn": "cuda_build",
// "command": "${fileDirname}/${fileBasenameNoExtension}",
// "group": {
// "kind": "build",
// "isDefault": true
// },
// }
],
"version": "2.0.0"
}