VScode 及对应插件
推荐VScode配置好远程服务后在服务端添加如下插件
Xming Xming X Server for Windows download | SourceForge.netDownload Xming X Server for Windows for free. X Window System Server for Windows. Xming is the leading X Window System Server for Microsoft Windows 8/7/Vista/XP (+ server 2012/2008/2003). It is fully featured, small and fast, simple to install and because it is standalone native Microsoft Windows, easily made portable (not needing a machine-specific installation).https://sourceforge.net/projects/xming/
本地安装 目的是给本地开启X服务(不然服务器跑出来的图片没法回显到你的本地)
安装一路next即可
CUDA
服务器端安装
需要在~/.bashrc中添加环境变量(资料一堆,不赘述了)
点+号或者setting的符号
在.ssh\config中添加如下配置
Host //随便取
HostName //服务器IP
ForwardX11 yes //三个允许X11的配置
ForwardX11Trusted yes
ForwardAgent yes
User //登录用户ID
Port //服务器端口号
IdentityFile "" //本地RSA密钥位置
如何生成RSA密钥请自行百度,MAC和Windows略有区别。本地留私钥,.pub中的公钥保存在服务器端 ~/.ssh/authorized_keys 文件内(添加在后面即可)
登录成功
到刚刚一步已经可以在VScode上跑.cu的代码了。
但是懒得每次都敲,并且无法设置断点调试,所以用Nsight插件辅助一下。
添加cuda C++ launch,自动生成的launch.json文件中有两个CUDA调试器,只需要配置第一个。
配置信息如下:
{
"name": "CUDA C++: Launch", //默认
"type": "cuda-gdb", //默认
"request": "launch", //默认
//需要运行的文件,我这里是文件夹下的无扩展名运行文件
"program": "${fileDirname}/${fileBasenameNoExtension}",
//launch前的编译任务,我这里是mynvcc
"preLaunchTask": "mynvcc",
//环境配置,与第三部分相关
"env":{
"DISPLAY":"localhost:10.0"
},
},
因为.cu文件在launch之前还需要经过nvcc的编译,所以我们需要在launch.json之前增加一个task
{
"version": "2.0.0",
"tasks": [
{
"label": "mynvcc", //与launch.json的preLaunchTask保持一致
"type": "shell",
"command": "nvcc",
"args": ["-g","-G","-o","${fileDirname}/${fileBasenameNoExtension}","${file}","-lglut -lGLU -lGL"]
}
]
}
Note:args自己配置即可,后面加的-lglut…是因为俺要跑的代码里需要用到系统的openGL库所以添加
配置完成后只需要每次设置断点然后点一下就可以跑了。
第二步有问题可以看官方文档:Getting Started with the CUDA Debugger :: NVIDIA Nsight VSCE Documentationhttps://docs.nvidia.com/nsight-visual-studio-code-edition/cuda-debugger/index.html
前面的远程服务基于ssh的,无法将涉及到图形的结果回传,所以用XMing添加X服务。具体配置参考这篇博客
vscode远程连接服务器+X11插件图形化界面_stoneyshi的博客-CSDN博客_vscode图形化界面vscode远程连接服务器+X11插件图形化界面0.操作步骤1.配置vscode+ssh远程连接服务器(1)在服务器端查看IP地址和端口号(2)在本地vscode安装Remote-SSH插件(3)配置免密连接2.在本地安装Xming(1)开启Xming服务(2)修改Xming配置3.配置本地vscode Remote-SSH与服务器连接相关的设置(1)在本地vscode中安装Remote X11(SSH)插件(2)在远程服务器配置4.在服务器要使用GUI的工程中设置.vscode/launch.json (https://blog.csdn.net/Stone_hello/article/details/120041495
涉及到多个用户登录同一服务器的场景,需要在XLaunch中设置不同的ID,否则XLaunch会不报任何错误但是就是不开启
比如这里Display number为1 对应的X服务就是 Xming Server1:0
因此需要在Xming安装目录增加X*.hosts,并为服务器增加对应权限(这里是X1.hosts)
还有一个需要注意的 就是在服务器环境变量中最好设置为本机IP,链接中设置为localhost可能会有问题。
以及修改完配置后需要重启VScode的远程连接
Xclock
cuda上跑的Julia集demo code
搞定!