Reputation: 143
I am connecting to my desktop which has an Nvidia card (CUDA compatible) using remote desktop connection.
I am doing this because I currently don't have a monitor! Therefore I am temporary using my laptop to connect to my desktop and run my CUDA code.
It seams that remote desktop does not recognize the Nvidia card.
cudaGetDeviceCount()
is returning a very big number. I only have 1 Nvidia 460 on my PC.
How can I solve this issue? Should I use other remote software?
Upvotes: 14
Views: 15388
Reputation: 14555
As said, you cannot use remote desktop.
Instead, you can use a VNC client such as Splashtop Remote Desktop, it is free.
Upvotes: 12
Reputation: 98
You can install Nvidia Driver v353.06 and use CUDA over RDP. It works for me and my GTX 680 on Windows 7 x64.
Upvotes: 2
Reputation: 3957
Indeed the Remote Desktop application doesn't allow you to access the graphics card at all, which is done for speed considerations: the device you're connected to doesn't do the rendering, the device you connect with (in your case a laptop) does this. As a result, CUDA programmes suddenly don't see any CUDA enabled device and return all sort of strange stuff. (I found that my test programmes don't always just return 0 for the device count, but all sort of random data, and so does cudaGetDeviceProperties
.
A perfect, free, cross-platform, and in my opinion much better alternative I found is LogMeIn. With this application, the rendering is all done on the device you're connected to, and basically a screenshot is sent over the network every frame. So in short: it works like you would expect a remote desktop to work.
Upvotes: 0
Reputation: 17369
I use Windows Remote Desktop to connect to Amazon's HPC instances. I can run CUDA-based code there without problem. So, it is technically possible to access GPU's through a Windows Remote Desktop connection. I have no idea what Amazon is doing differently.
Upvotes: 3
Reputation: 8889
Unless you're using Windows, SSH would be a good option. If you use an IDE or want to use the mouse in your text editor, X11 forwarding is still supported while running CUDA.
Upvotes: 0
Reputation: 31
You may use rCUDA .
The rCUDA Framework enables the concurrent usage of CUDA-compatible devices remotely.
rCUDA employs the socket API for the communication between clients and servers. Thus, it can be useful in three different environments: Clusters. To reduce the number of GPUs installed in High Performance Clusters. This leads to increase GPUs use and to energy savings, as well as other related savings like acquisition costs, maintenance, space, cooling, etc. Academia. In commodity networks, to offer access to a few high performance GPUs concurrently to many students. Virtual Machines. To enable the access to the CUDA facilities on the physical machine.
Upvotes: 3
Reputation: 41
As far as I know there is no way to use cuda with remote desktop.
Remote desktop does not allow to access your graphics card. It works more like a visual remote shell. Remote desktop is simply told what gui elements are visible. The rendering takes place on your laptop.
Something like VNC or TeamViewer might work because VNC actually sends what is on the screen.
Upvotes: 4
Reputation: 4988
You cannot do that as the display is not connected to the video card when using remote desktop.
Upvotes: -1