与他人共享我的计算机,以运行繁重的 CPU/GPU 计算,同时我继续使用它

与他人共享我的计算机,以运行繁重的 CPU/GPU 计算,同时我继续使用它

我想将我强大的 Windows 10 Pro 机器的访问权限授予外部人员(我完全信任该人员),以运行 Python/PyTorch 程序,并使用 GPU 进行计算。

关键是我想在该人运行计算负载时继续使用该机器:据我所知,该要求排除了所有形式的 RDP/VNC,但我不确定(尤其是 RDP):你能确认/否认吗?

我正在考虑运行 SSH 服务器。这样可行吗?

答案1

Windows 10 包含一个 OpenSSH 服务器作为标准功能。

要启用 OpenSSH 服务器:

  • 打开设置 > 应用 > 应用和功能
  • 点击右侧的可选功能
  • 在可选功能窗​​口中,单击添加要素
  • 在功能列表中,找到“OpenSSH 服务器”。在选择字段中输入“open”可以更轻松地找到该功能(这足以找到该功能)。
  • 单击该条目,然后单击其“安装”按钮
  • 等待完成并重新启动 Windows 10。

在此处输入图片描述

这将在文件夹中安装 OpenSSH 服务器软件 ,该文件夹 将包含SSHC:\Windows\System32\OpenSSH客户端应用程序和以下服务器工具:sftp-server.exe、、和配置文件。ssh-agent.exessh-keygen.exesshd.exesshd_config

SSH 服务器配置为作为名为 的服务运行sshd。如果它没有自动启动,则需要手动配置它。

答案2

要配置 Windows 10 中的内置 OpenSSH 服务器,您可以查看很多参考资料,包括 harrymc 的回答。我只是在这里添加官方文档链接仅此而已,以防万一有帮助。
但我不确定这是否足够,或者只是共享 GPU 的一些方法的要求,请参阅下文。

分布式 RPC

PyTorch 共享 GPU 的一个选项是使用分布式 RPC(建议使用 PyTorch v1.4)。链接提供了一个教程“使用两个简单示例演示如何使用该torch.distributed.rpc包构建分布式训练”。这里引用的篇幅很长,甚至包括一组基本步骤。

也可以看看

https://pytorch.org/docs/stable/rpc.html

https://discuss.pytorch.org/t/send-computation-to-a-remote-gpu/71739

您的朋友还可以调试按照图示使用计算机电源这里

远程桌面协议

至于通过 RDP 的 GPU,提到这里这里例如,可以通过组策略启用 GPU 渲染。我不确定这是否包括有关 PyTorch 计算的任何内容。

答案3

关键是,当该人在该机器上运行计算负载时,我想继续使用该机器

这是可能的,但这些计算负载会降低机器的速度。如果您想优先考虑平稳运行,我一定会将运行计算负载的进程的优先级设置为低于正常。这意味着所有默认运行的进程将在计算负载之前优先获得可用的 CPU 时间,但另一种看待它的方法是,如果在同一台机器上以正常优先级运行着许多其他进程,这些进程也占用了 100% 的 CPU,则计算负载将获得很少甚至没有 CPU 时间。这可能是您想要的,而且您以 100% 的利用率使用 CPU(或以某种方式让大量进程为您运行)的可能性可能很低。

据我所知,该要求排除所有形式的 RDP/VNC,但我不确定(尤其是 RDP):您能确认/否认吗?

没错。Windows Starter/Student/Home/Pro 版本的 RDP 有意限制一次只能登录一次(企业版除外)。有一些极好的有一些不正当的方法来打破这种局面,这样当其他人使用 RDP 远程登录时,它就不会将你踢出去,但我相信在超级用户上讨论这样的事情是不允许的,所以这种对话就此结束。

VNC/NX/Screensharing 都将接管您当前登录的会话并远程使用它,所以绝对不行。

我正在考虑运行 SSH 服务器。这样可行吗?

是的!这肯定会起作用,而且 Windows 10 默认内置了 SSH。您可以使用以下步骤激活它:

  1. 设置 > 应用程序,然后单击应用程序和功能下的“管理可选功能”。

  2. 单击已安装功能列表顶部的“添加功能”。如果您已经安装了 SSH 客户端,它将出现在此处的列表中。

  3. 向下滚动,单击“OpenSSH 服务器”选项,然后单击“安装”。

此人应该能够使用您要为他们设置的用户帐户通过 SSH 登录,并在您实际登录到计算机时发出命令行命令来运行进程。大功告成!

答案4

考虑到用例特定于获取python/pytorch 程序的计算能力你应该设置 ssh 服务器在具有 OpenSSH 的主机上。

尽管有可能在 Windows 10 上设置 ssh 服务器它不能用作功能齐全的 Windows Server由于限制,但对于远程执行 Python 程序来说可能已经足够了。在笔记本电脑上设置 Windows 服务器是另一种选择,具体取决于您是否要长期和更广泛地使用。


开始在 ssh 上使用 powershell

如何在 Windows 机器上通过 SSH 远程运行 Python 脚本

相关内容