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

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

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

它接缝远程桌面无法识别Nvidia卡。 cudaGetDeviceCount()返回一个非常大的数字。 我的电脑上只有1个Nvidia 460。

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

如上所述,您无法使用远程桌面。

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

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

远程桌面不允许访问您的图形卡。 它更像是一个可视远程shell。 只需告诉远程桌面可以看到哪些gui元素。 渲染发生在您的笔记本电脑上。

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

您可以使用rCUDA。

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

rCUDA Framework可以远程同时使用CUDA兼容设备。

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

我使用Windows远程桌面连接到亚马逊的HPC实例。 我可以毫无问题地运行基于CUDA的代码。 因此,技术上可以通过Windows远程桌面连接访问GPU。 我不知道亚马逊的做法有何不同。

您可以安装Nvidia驱动程序v353.06并使用CUDA而不是RDP。 它适用于我和Windows 7 x64上的GTX 680。

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

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

一个完美的,免费的,跨平台的,在我看来,我找到的更好的替代方案是LogMeIn 。 使用此应用程序,渲染全部在您连接的设备上完成,基本上每帧都通过网络发送屏幕截图。 简而言之:它就像您期望远程桌面一样工作。

由于在使用远程桌面时显示器未连接到video卡,因此无法执行此操作。