如何使用远程桌面运行cuda代码

How to Run a cuda code using remote Desktop?

本文关键字:运行 cuda 代码 桌面 何使用 程桌面      更新时间:2023-10-16

我正在使用远程桌面连接连接到具有Nvidia卡(CUDA兼容)的桌面。

我这样做是因为我目前没有显示器!因此,我暂时使用我的笔记本电脑连接到我的台式机并运行我的CUDA代码。

似乎远程桌面无法识别Nvidia卡。cudaGetDeviceCount()返回一个很大的数。我的电脑上只有1个Nvidia 460。

如何解决这个问题?我应该使用其他远程软件吗?

如上所述,您不能使用远程桌面。

相反,您可以使用VNC客户端,如Splashtop Remote Desktop,它是免费的。

据我所知,没有办法在远程桌面中使用cuda。

远程桌面不允许访问您的显卡。它更像是一个可视远程shell。远程桌面只是被告知哪些gui元素是可见的。渲染将在您的笔记本电脑上进行。

VNC或TeamViewer之类的东西可能会起作用,因为VNC实际上发送的是屏幕上的内容。

您可以使用rCUDA。

http://www.gap.upv.es/rCUDA

rCUDA框架允许远程并发使用cuda兼容设备。

rCUDA使用套接字API在客户端和服务器之间进行通信。因此,它可以在三种不同的环境中使用:集群。减少高性能集群中gpu的安装数量。这将增加gpu的使用并节省能源,以及其他相关的节省,如购置成本,维护,空间,冷却等。学术界。在商品网络中,为许多学生同时提供对几个高性能gpu的访问。虚拟机。允许访问物理机器上的CUDA设施。

我使用Windows Remote Desktop连接到Amazon的HPC实例。我可以在那里毫无问题地运行基于cuda的代码。因此,从技术上讲,通过Windows远程桌面连接访问GPU是可能的。我不知道亚马逊有什么不同。

您可以安装Nvidia Driver v353.06并通过RDP使用CUDA。它适用于我和我的GTX 680 Windows 7 x64。

除非您使用的是Windows,否则SSH将是一个不错的选择。如果您使用IDE或希望在文本编辑器中使用鼠标,则在运行CUDA时仍然支持X11转发。

实际上远程桌面应用程序根本不允许您访问显卡,这是出于速度方面的考虑:您连接的设备不执行渲染,您将连接的设备(在您的情况下是笔记本电脑)执行渲染。结果,CUDA程序突然看不到任何支持CUDA的设备,并返回各种奇怪的东西。(我发现我的测试程序并不总是只为设备计数返回0,而是所有类型的随机数据,cudaGetDeviceProperties也是如此。

一个完美的,免费的,跨平台的,在我看来更好的选择是LogMeIn。使用这个应用程序,渲染都是在你所连接的设备上完成的,基本上每帧都有一个屏幕截图通过网络发送。所以简而言之:它的工作方式就像你期望的远程桌面一样。

使用远程桌面时,显示器未连接到显卡,因此不能这样做。