1 前言

原料:

我有两台电脑,一台是Win10系统的小米笔记本12.5(简称为A电脑),一台是Ubuntu系统的小米游戏本(简称为B电脑)。A电脑没有GPU,没有配置任何深度学习环境;而B电脑的GPU是GTX 1060,配置好了深度学习环境,已经能用CUDA跑代码了。

A电脑和B电脑使用的IDE都是VS Code。

需求:

  • 代码调试:因为B电脑有GPU,我希望能够用A电脑调试B电脑的代码。
    场景1(远程调试):我想在A电脑的IDE中,控制B电脑运行B电脑的代码,并将代码结果返回至A电脑的终端。
    场景2(服务器):我想用A电脑在IDE中,控制B电脑中运行A电脑的代码,并将代码结果返回至A电脑的终端。
  • 文件传输:在B电脑调试完代码后,我想把B电脑中的代码结果图传到A电脑中。

基础软件:

OpenSSH组件 + VS Code Remote Development拓展程序

更进一步地说,A电脑上的OpenSSH Client + B电脑上的OpenSSH Server + A电脑上的Remote Development

因此,本教程分为两部分,第一部分是基础软件的准备,第二部分是Remote Development配置。

2 基础软件准备

2.1 Win10: OpenSSH Client

在A电脑中用管理员模式进入Powershell,然后输入如下代码。[1]



Get-WindowsCapability -Online | ? Name -like 'OpenSSH*'

Add-WindowsCapability -Online -Name OpenSSH.Client~~~~0.0.1.0





用cpu跑代码和用gpu跑代码 怎么用电脑gpu跑代码_用cpu跑代码和用gpu跑代码


如果一切正常,会显示如下结果。

2.2 Ubuntu: OpenSSH Server

在命令行输入如下代码。


sudo apt-get install openssh-server


用cpu跑代码和用gpu跑代码 怎么用电脑gpu跑代码_系统gpu 调试_02

如果一切正常,会显示如下结果。


2.3 Win10: Remote Development

点左侧的Extensions按钮,搜索Remote Development下载即可。


用cpu跑代码和用gpu跑代码 怎么用电脑gpu跑代码_Code_03


3 Remote Development配置

点Extensions上面的Remote Explorer,把上面的REMOTE EXPLORES的选项调成SSH Targets。


用cpu跑代码和用gpu跑代码 怎么用电脑gpu跑代码_系统gpu 调试_04


点小齿轮,选择第一个,配置ssh文件。


用cpu跑代码和用gpu跑代码 怎么用电脑gpu跑代码_基础软件_05


获取B电脑的ip地址。在B电脑的命令行输入如下代码。


hostname -I


HostName改成B电脑的ip地址,User改成B电脑的用户名,保存。


用cpu跑代码和用gpu跑代码 怎么用电脑gpu跑代码_用cpu跑代码和用gpu跑代码_06


然后点server1旁边那个+号文件夹。


用cpu跑代码和用gpu跑代码 怎么用电脑gpu跑代码_用cpu跑代码和用gpu跑代码_07


按Enter进行选择,其中有一步需要输入B电脑的登录密码。


用cpu跑代码和用gpu跑代码 怎么用电脑gpu跑代码_用cpu跑代码和用gpu跑代码_08


然后会打开一个新的远程控制窗口(注意左下角的改变),这样就可以进行远程开发啦!


用cpu跑代码和用gpu跑代码 怎么用电脑gpu跑代码_用cpu跑代码和用gpu跑代码_09


4 需求实现

远程运行Python代码需要让VS Code在B电脑上重新识别Python和Anaconda,方法同在Extensions下载Python和Ananconda。


用cpu跑代码和用gpu跑代码 怎么用电脑gpu跑代码_基础软件_10


在B电脑上运行B电脑的Python代码:


用cpu跑代码和用gpu跑代码 怎么用电脑gpu跑代码_用cpu跑代码和用gpu跑代码_11


在B电脑上运行A电脑的代码:

只要在B电脑上新建一个文件,把A电脑的代码拷过去即可。

文件传输:

对任意文件,右键,Download即可。


用cpu跑代码和用gpu跑代码 怎么用电脑gpu跑代码_用cpu跑代码和用gpu跑代码_12


致谢

感谢@pprp的图文教程[2],是这个教程让我有信心去把这个远程开发功能配置出来。
同时感谢@晓峰 和 @Cat 帮我解释ip地址等计网知识。

参考

  1. ^https://docs.microsoft.com/en-us/windows-server/administration/openssh/openssh_install_firstuse
  2. ^https://mp.weixin.qq.com/s/oZ3YWOA1kO9TTjMSfQWXOg