IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> VS实现Cuda/C++的远程编译运行 -> 正文阅读

[Python知识库]VS实现Cuda/C++的远程编译运行

VS实现Cuda/C++的远程编译运行

最近想做一些论文代码的复现,需要用到写一些Cuda程序,由于自己用的电脑没有N卡,只能用服务器上的GPU,但又不想在服务器上调试,就想通过本地编写代码,在服务器上编译运行。查了一些资料,发现C++的远程编译运行比较容易,但是Cuda程序却很少有资料,现有的资料都是用Nsight做远程的Debug,还需要安装Nsight客户端,端口转发什么的,比较麻烦。经过研究,成功实现需求。

前提

本地已经安装好Visual studio,并且通过Remote-ssh插件配置好远程连接服务器。远程服务器上的Cuda环境已经安装好。

工具

.1.C/C++插件
一定要通过VS安装到服务器上,直接安装不行就通过 Install from VSIX安装。
在这里插入图片描述
2.Nsight Visual Studio Code Edition 插件
同样要安装到服务器上。
在这里插入图片描述

C++/Cuda运行

C++对应:g++ build and debug active file
Cuda对应:CUDA C++: Launch
在这里插入图片描述

创建launch.json

内容如下:
{
“version”: “0.2.0”,
“configurations”: [

  {
    "name": "CUDA C++: Launch",
    "type": "cuda-gdb",
    "request": "launch",
    "program": "${fileDirname}/${fileBasenameNoExtension}",
    "args": [], 
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}",
    "environment": [],
    "externalConsole": false,
    "MIMode": "gdb",
    "setupCommands": [
      {
        "description": "Enable pretty-printing for gdb",
        "text": "-enable-pretty-printing",
        "ignoreFailures": true
      }
    ],
    "preLaunchTask": "nvcc build active file",
    "postDebugTask": "delete nvcc output file",
  },

  {
    "name": "g++ build and debug active file",
    "type": "cppdbg",
    "request": "launch",
    "program": "${fileDirname}/${fileBasenameNoExtension}",
    "args": [],
    "stopAtEntry": false,
    "cwd": "${workspaceFolder}",
    "environment": [],
    "externalConsole": false,
    "MIMode": "gdb",
    "setupCommands": [
      {
        "description": "Enable pretty-printing for gdb",
        "text": "-enable-pretty-printing",
        "ignoreFailures": true
      }
    ],
    "preLaunchTask": "g++ build active file",
    "postDebugTask": "delete output file",
    "miDebuggerPath": "/usr/bin/gdb"
  }
]

}

在这里插入代码片

创建task.json

内容如下:

{
    "tasks": [
        {
            "type": "shell",
            "label": "g++ build active file",
            "command": "/usr/bin/g++",
            "args": [
                "-std=c++11",
                "-g",
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "options": {
                "cwd": "/usr/bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "type": "shell",
            "label": "delete output file",
            "command": "rm",
            "args": [
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "presentation": {
                "reveal": "silent"
            },
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "type": "shell",
            "label": "nvcc build active file",
            "command": "/usr/local/cuda-10.0/bin/nvcc",
            "args": [
                "${file}",
                "-o",
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        },
        {
            "type": "shell",
            "label": "delete nvcc output file",
            "command": "rm",
            "args": [
                "${fileDirname}/${fileBasenameNoExtension}"
            ],
            "presentation": {
                "reveal": "silent"
            },
            "problemMatcher": [],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ],
    "version": "2.0.0"
}

测试

C++:
在这里插入图片描述
Cuda:
在这里插入图片描述
搞定!!!

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2021-07-14 00:20:01  更:2021-07-14 00:20:24 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 14:00:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码