【问题标题】:Can I run a CUDA Program on a computer if I remote into it using Windows RDP? [duplicate]如果我使用 Windows RDP 远程访问计算机,我可以在计算机上运行 CUDA 程序吗? [复制]
【发布时间】:2016-04-22 21:18:03
【问题描述】:

我有一台位于其他地方的服务器。在该服务器上,我计划运行一个程序,以利用该物理机器上支持 CUDA 的图形卡。该程序与图形无关——它只会将图形卡用于计算数学。

我能在那台机器上运行这个程序吗?如果我使用 Windows 远程桌面登录,程序会识别物理显卡吗?还是因为我正在远程连接,服务器甚至不会识别出插入了显卡?

编辑:我想提一下,所有计算都将远程进行,并且这台机器上的任何内容都取决于我家用 PC 上本地发生的事情。我只是在使用我的家用 PC 来“查看”该服务器上正在发生的事情。

【问题讨论】:

    标签: cuda


    【解决方案1】:

    您不能使用远程桌面运行 CUDA。远程桌面卸载禁用 CUDA 的图形驱动程序。

    您需要使用 VNC 或 Splashtop 或其他东西来代替远程桌面。

    【讨论】:

    • 太棒了。 VNC 听起来不错。不过还有一个问题:我可以在远程显卡上运行 CUDA 代码并仍然使用它来显示通过 VNC 发生的事情吗?基本上,将显卡用于 CUDA 代码是否消除了将其用于任何其他目的的可能性,例如显示?
    • 是的,您可以在用于显示的同一张卡上运行 CUDA。事实上,使用最新版本的 Nsight,您实际上可以在用于显示的同一张卡上调试 CUDA。
    • 太棒了!你有推荐的 VNC 服务器/客户端吗?我正在寻找与 RDP 一样流畅的东西。
    • 实际上,我只能使用 rCUDA 吗?那会做这项工作吗?或者这不是我想要的?
    • 这实际上是不正确的。您可以在 Tesla 设备上通过远程桌面使用 CUDA,因为 Tesla 设备默认使用 TCC 模式,因此它们不受 WDDM 图形驱动程序限制。
    【解决方案2】:

    RDP 在会话 0 中运行——就像服务一样。无法从 Session 0 访问图形驱动程序,因此通常 CUDA 程序将无法运行(因为它们无法访问底层硬件)。

    如果您使用的是 Tesla,您可以将驱动程序置于 Tesla Compute Cluster (TCC) 模式并绕过此问题,因此任何 CUDA 程序都可以在 RDP 上正常运行。

    【讨论】:

    • 不幸的是,不是特斯拉。我想我会按照 Mark 的建议使用 VNC。但是我能运行 CUDA 代码并将显卡用于 VNC 显示器吗?
    • 你应该可以做到,是的。但是,当您的内核运行时,显示可能仍会暂停(即不更新)——就像您坐在机器旁时一样。
    • 哎呀。我的程序可能整天都在运行。如果我升级到 Tesla 并在使用 RDP 时将其切换到 TCC 模式,显示还会暂停吗?顺便说一句,您的网站/程序看起来真的很酷。我得调查一下。
    • 如果您的程序整天运行也没关系——许多内核完成得很快,您不会注意到延迟。一般来说,如果您计划 24/7 全天候计算,最好还是买一辆 Tesla(出于多种原因)——其中一个原因是,如果您在 TCC 模式下运行 Tesla,显示器不会暂停(无论您是否直接使用机器或通过 RDP)。
    • 您可以在会话 0 中运行 CUDA,但您必须跳过一些难看的环节:forums.nvidia.com/index.php?showtopic=93450&st=0。正如杰克所说,特斯拉设备使用 TCC(在大多数情况下实际上是默认设置),这使它们脱离了 WDDM 控制,因此允许 RDP 工作。一些 Quadro 设备支持 TCC,但对于 Geforce,VNC 是您最好的选择。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    • 2013-04-02
    • 1970-01-01
    • 2020-11-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多