2011-07-30 141 views
13

我使用远程桌面连接连接到具有Nvidia卡(CUDA兼容)的桌面。如何使用远程桌面运行cuda代码?

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

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

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

回答

11

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

取而代之,您可以使用VNC客户端,如Splashtop Remote Desktop,它是免费的。

+4

Splashtop只是一个带有一些额外的花里胡哨的VNC客户端。您也可以使用任何其他VNC客户端 - TurboVNC是免费且速度非常快的。 RealVNC和TightVNC也可以工作。 – harrism

+0

您无法访问其他网络中的内容。你需要在这种情况下购买。 –

-1

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

+0

请告诉我奇怪的约,这是当我登录使用过程防爆我的GPU使用plorer,当我登录时,我使用了我的Nvidia卡的〜23%,当我退出时使用了固定的0%。运行Windows 8并使用RDP进行连接7 –

4

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

远程桌面不允许访问您的图形卡。 它更像一个可视化的远程外壳。简单地告诉远程桌面哪些GUI元素可见。 渲染发生在您的笔记本电脑上。

像VNC或TeamViewer可能会工作,因为VNC实际上发送屏幕上的内容。

3

您可以使用rCUDA。

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

的rCUDA框架使CUDA兼容设备远程的并发使用。

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

0

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

3

我使用Windows远程桌面连接到Amazon的HPC实例。我可以在那里运行基于CUDA的代码。因此,通过Windows远程桌面连接访问GPU在技术上是可行的。我不知道亚马逊在做什么不同。

+2

我发现Tesla Compute Cluster驱动程序模型允许在Windows远程桌面中使用CUDA。这很可能是亚马逊HPC实例的工作原理。 – Wally

+2

正确,这是他们特殊的[TCC驱动程序](http://http.developer.nvidia.com/ParallelNsight/2.1/Documentation/UserGuide/HTML/Content/Tesla_Compute_Cluster.htm)。请记住,Tesla实例类型('cg1')正在慢慢被替换为不支持此驱动程序的Grid K520s('g2'实例类型)。 – Hans

0

事实上远程桌面应用程序不允许你在所有,这是为速度考虑做访问显卡:您已连接到不这样做的渲染设备,您连接设备与(在你的情况下,一台笔记本电脑)这样做。因此,CUDA程序突然看不到任何支持CUDA的设备并返回各种奇怪的东西。(我发现我的测试程序并不总是只返回0的设备数,而是所有类型的随机数据,所以cudaGetDeviceProperties

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

2

您可以安装nvidia驱动v353.06,并使用CUDA的RDP,它为我和我的Windows 7 X64的GTX 680。