vscode中使用slurm集群上计算节点调试程序

问题

问题就是vscode在集群中调试的时候不能自动进入compute node,而是停留在login node

  • 假设你已经会通过 vscode 远程连接服务器

解决方案

  • 1 通过命令 ssh 到集群ssh cluster
  • 2 在集群中authorized_keys添加本地笔记本或者台式机public key
    • (windows系统的路径在C:\Users\yourusername\.ssh\id_rsa.pub ,如果没有话可以在终端通过ssh-keygen -t rsa命令生成,全按回车就行)
    • (集群中的 authorized_keys~/.ssh/authorized_keys
  • 3 从集群中获取计算资源,也就是能够保证你在登录节点下 ssh gpunode 是成功的
  • 4 获得计算节点的名字,这里假设是 gpunode
  • 5 编辑本地笔记本或者台式机的 config 文件
# 登录节点的名字随便起
Host loginnode
	# 登录节点的 ip
    HostName 127.0.0.1
    # 登录节点的用户名
    User lihua 
    # 登录节点的 端口
    Port 22
# 计算节点的名字随便起
Host computenode
	# 这里的 name 是你在计算节点能够通过 ssh gpunode直接进入的
    HostName gpunode
    # 登录节点的用户名
    User lihua
    # 登录节点的名字,跟上面保持一致
    ProxyJump loginnode

然后就可以通过本地直接连接到计算节点了!这样的话就没有在 debug 的时候依旧是在登录节点的烦恼了

结语

大家有问题欢迎留言,可以的话帮忙点个赞哦~~(#^.^#)

参考链接

https://stackoverflow.com/questions/60141905/how-to-run-code-in-a-debugging-session-from-vs-code-on-a-remote-using-an-interac

你可能感兴趣的:(日常bug问题,Linux,机器学习,vscode,ide,visual,studio,code)