Remote GPU Application how to integrate a remote GPU into my system
Hi all, I would like to ask about how to integrate a remote GPU with my system. I am currently accessing a NVIDIA Tesla in another school through PuTTY. I am also able to run the sample programs in their environment. But what I want to do is to create my own CUDA program and run it in their GPU. My system has no GPU whatsoever and I'm having a hard time installing the drivers because it cannot detect the GPU. Do you know how to install and integrate CUDA and VS2010 into my computer and then after run this program in the GPU? Thanks
Hi all, I would like to ask about how to integrate a remote GPU with my system. I am currently accessing a NVIDIA Tesla in another school through PuTTY. I am also able to run the sample programs in their environment. But what I want to do is to create my own CUDA program and run it in their GPU. My system has no GPU whatsoever and I'm having a hard time installing the drivers because it cannot detect the GPU. Do you know how to install and integrate CUDA and VS2010 into my computer and then after run this program in the GPU? Thanks

#1
Posted 04/25/2012 09:42 AM   
You need to have an nvidia GPU with the same capability or close to the Tesla in your computer.
You need to have an nvidia GPU with the same capability or close to the Tesla in your computer.

#2
Posted 04/25/2012 09:48 AM   
[quote name='pasoleatis' date='25 April 2012 - 05:48 PM' timestamp='1335347311' post='1400747']
You need to have an nvidia GPU with the same capability or close to the Tesla in your computer.
[/quote]

I have no GPU installed on my notebook PC. Does that mean there's no way I can use the GPU through PuTTY?
[quote name='pasoleatis' date='25 April 2012 - 05:48 PM' timestamp='1335347311' post='1400747']

You need to have an nvidia GPU with the same capability or close to the Tesla in your computer.





I have no GPU installed on my notebook PC. Does that mean there's no way I can use the GPU through PuTTY?

#3
Posted 04/25/2012 10:47 AM   
[quote name='markmanio' date='25 April 2012 - 11:47 AM' timestamp='1335350860' post='1400765']
I have no GPU installed on my notebook PC. Does that mean there's no way I can use the GPU through PuTTY?
[/quote]

No way to integrate the remote gpu with your local VS installation.
[quote name='markmanio' date='25 April 2012 - 11:47 AM' timestamp='1335350860' post='1400765']

I have no GPU installed on my notebook PC. Does that mean there's no way I can use the GPU through PuTTY?





No way to integrate the remote gpu with your local VS installation.

#4
Posted 04/25/2012 12:30 PM   
Nothing prevents you from compiling your program on the remote machine though. No need to have CUDA installed locally.
Nothing prevents you from compiling your program on the remote machine though. No need to have CUDA installed locally.

Always check return codes of CUDA calls for errors. Do not use __syncthreads() in conditional code unless the condition is guaranteed to evaluate identically for all threads of each block. Run your program under cuda-memcheck to detect stray memory accesses. If your kernel dies for larger problem sizes, it might exceed the runtime limit and trigger the watchdog timer.

#5
Posted 04/25/2012 01:02 PM   
You won't be able to install the CUDA driver without a CUDA device (which makes sense cause you can't actually run anything). But you can still install the CUDA toolkit on the local machine without a CUDA device to be able to build a CUDA application. Then deploy the application to the remote machine (where you have to have the CUDA driver installed) and run there.
You won't be able to install the CUDA driver without a CUDA device (which makes sense cause you can't actually run anything). But you can still install the CUDA toolkit on the local machine without a CUDA device to be able to build a CUDA application. Then deploy the application to the remote machine (where you have to have the CUDA driver installed) and run there.

John Melonakos ([email="john.melonakos@accelereyes.com"]john.melonakos@accelereyes.com[/email])

#6
Posted 04/25/2012 02:51 PM   
[quote name='melonakos' date='25 April 2012 - 10:51 PM' timestamp='1335365514' post='1400839']
You won't be able to install the CUDA driver without a CUDA device (which makes sense cause you can't actually run anything). But you can still install the CUDA toolkit on the local machine without a CUDA device to be able to build a CUDA application. Then deploy the application to the remote machine (where you have to have the CUDA driver installed) and run there.
[/quote]

Thanks for the advice!

I've actually tried to install just the Toolkit and the SDK but for some reason I cannot run the sample programs and I've been having problems integrating it with VS2010. I'm actually not sure of the problem here, but I'm using PuTTY to connect to the GPU and I have no idea how to establish the connection between my CUDA application and the GPU
[quote name='melonakos' date='25 April 2012 - 10:51 PM' timestamp='1335365514' post='1400839']

You won't be able to install the CUDA driver without a CUDA device (which makes sense cause you can't actually run anything). But you can still install the CUDA toolkit on the local machine without a CUDA device to be able to build a CUDA application. Then deploy the application to the remote machine (where you have to have the CUDA driver installed) and run there.





Thanks for the advice!



I've actually tried to install just the Toolkit and the SDK but for some reason I cannot run the sample programs and I've been having problems integrating it with VS2010. I'm actually not sure of the problem here, but I'm using PuTTY to connect to the GPU and I have no idea how to establish the connection between my CUDA application and the GPU

#7
Posted 04/26/2012 05:29 AM   
You can't use a remote GPU from a locally running program (at least not without installing [url="http://www.rcuda.net/"]rCUDA)[/url].

If you have successfully installed the CUDA toolkit locally following John's advice, you need to transfer your compiled executable to the remote machine and run it there. Or compile it on the remote machine in the first place.
You can't use a remote GPU from a locally running program (at least not without installing rCUDA).



If you have successfully installed the CUDA toolkit locally following John's advice, you need to transfer your compiled executable to the remote machine and run it there. Or compile it on the remote machine in the first place.

Always check return codes of CUDA calls for errors. Do not use __syncthreads() in conditional code unless the condition is guaranteed to evaluate identically for all threads of each block. Run your program under cuda-memcheck to detect stray memory accesses. If your kernel dies for larger problem sizes, it might exceed the runtime limit and trigger the watchdog timer.

#8
Posted 04/26/2012 09:40 AM   
[quote name='tera' date='26 April 2012 - 05:40 PM' timestamp='1335433241' post='1401165']
You can't use a remote GPU from a locally running program (at least not without installing [url="http://www.rcuda.net/"]rCUDA)[/url].

If you have successfully installed the CUDA toolkit locally following John's advice, you need to transfer your compiled executable to the remote machine and run it there. Or compile it on the remote machine in the first place.
[/quote]

Okay, I think i'm having a problem with the remote GPU since it doesn't have any sort of user interface, I am only accessing it through PuTTY and the only way I can control it is through some sort of Command Prompt. I will go ahead and try to look into RCUDA. thanks for the advice!
[quote name='tera' date='26 April 2012 - 05:40 PM' timestamp='1335433241' post='1401165']

You can't use a remote GPU from a locally running program (at least not without installing rCUDA).



If you have successfully installed the CUDA toolkit locally following John's advice, you need to transfer your compiled executable to the remote machine and run it there. Or compile it on the remote machine in the first place.





Okay, I think i'm having a problem with the remote GPU since it doesn't have any sort of user interface, I am only accessing it through PuTTY and the only way I can control it is through some sort of Command Prompt. I will go ahead and try to look into RCUDA. thanks for the advice!

#9
Posted 04/27/2012 04:23 AM   
[quote name='markmanio' date='26 April 2012 - 11:23 PM' timestamp='1335500597' post='1401452']
Okay, I think i'm having a problem with the remote GPU since it doesn't have any sort of user interface, I am only accessing it through PuTTY and the only way I can control it is through some sort of Command Prompt. I will go ahead and try to look into RCUDA. thanks for the advice!
[/quote]

Why not just SCP the binary you built over to the remote machine and run it there. If you have the NVIDIA driver installed on the remote machine, it will run fine. Start by SCP'ing over some pre-built examples that you know should run (like those in the ArrayFire examples or in the CUDA SDK).
[quote name='markmanio' date='26 April 2012 - 11:23 PM' timestamp='1335500597' post='1401452']

Okay, I think i'm having a problem with the remote GPU since it doesn't have any sort of user interface, I am only accessing it through PuTTY and the only way I can control it is through some sort of Command Prompt. I will go ahead and try to look into RCUDA. thanks for the advice!





Why not just SCP the binary you built over to the remote machine and run it there. If you have the NVIDIA driver installed on the remote machine, it will run fine. Start by SCP'ing over some pre-built examples that you know should run (like those in the ArrayFire examples or in the CUDA SDK).

John Melonakos ([email="john.melonakos@accelereyes.com"]john.melonakos@accelereyes.com[/email])

#10
Posted 04/27/2012 01:26 PM   
I fully support John's advice. My mention of rCUDA was in no way meant as a recommendation for your problem. Just copy the executable over from the local to the remote machine as John said.
I fully support John's advice. My mention of rCUDA was in no way meant as a recommendation for your problem. Just copy the executable over from the local to the remote machine as John said.

Always check return codes of CUDA calls for errors. Do not use __syncthreads() in conditional code unless the condition is guaranteed to evaluate identically for all threads of each block. Run your program under cuda-memcheck to detect stray memory accesses. If your kernel dies for larger problem sizes, it might exceed the runtime limit and trigger the watchdog timer.

#11
Posted 04/27/2012 02:04 PM   
He wants to use use Visual Studio on Windows to compile and then on the remote computer on Unix/Linux without having to open a session. There is no way this can be done easy.
He wants to use use Visual Studio on Windows to compile and then on the remote computer on Unix/Linux without having to open a session. There is no way this can be done easy.

#12
Posted 04/27/2012 02:32 PM   
Ok, if the remote machine is a Linux box then he'll have to follow the other advice and compile there.
Ok, if the remote machine is a Linux box then he'll have to follow the other advice and compile there.

Always check return codes of CUDA calls for errors. Do not use __syncthreads() in conditional code unless the condition is guaranteed to evaluate identically for all threads of each block. Run your program under cuda-memcheck to detect stray memory accesses. If your kernel dies for larger problem sizes, it might exceed the runtime limit and trigger the watchdog timer.

#13
Posted 04/27/2012 02:38 PM   
[quote name='melonakos' date='27 April 2012 - 09:26 PM' timestamp='1335533174' post='1401561']
Why not just SCP the binary you built over to the remote machine and run it there. If you have the NVIDIA driver installed on the remote machine, it will run fine. Start by SCP'ing over some pre-built examples that you know should run (like those in the ArrayFire examples or in the CUDA SDK).
[/quote]

thanks! I shall try and do this as well. I'll keep you posted on the details
[quote name='melonakos' date='27 April 2012 - 09:26 PM' timestamp='1335533174' post='1401561']

Why not just SCP the binary you built over to the remote machine and run it there. If you have the NVIDIA driver installed on the remote machine, it will run fine. Start by SCP'ing over some pre-built examples that you know should run (like those in the ArrayFire examples or in the CUDA SDK).





thanks! I shall try and do this as well. I'll keep you posted on the details

#14
Posted 04/28/2012 08:35 AM   
Scroll To Top