Parallel NSight for Visual studio 2010 supports to debug on the server? - cuda

I have installed Parallel Nsight for Visual Studio 2010. Due to my research, it is not able to debugging on machines which dont have NVIDIA graphic card.
Therefore, I would like to debug it on the server (connecting to the server), would it be possible?
Thanks in advance.

Yes. You can install Visual Studio and Parallel Nsight on your developer machine, and install Parallel Nsight on the remote machine with the GPU. Then you simply configure Parallel Nsight to execute on the remote machine.
Behind the scenes, when you "start CUDA debugging", Nsight will copy the executable (and any specified data files) to the remote machine and launch the task.
See the Parallel Nsight website for more details and to check system requirements, as well as the documentation that is installed.

Related

Can I connect NVIDIA Nsight to a remote machine?

I don't have a graphics card which supports CUDA on my computer. Can I connect NVIDIA Nsight to a remote machine using ssh (or anything else)?
Yes, you can use Nsight Visual Studio Edition's remote debugging feature
Yes, you can use Nsight Eclipse Edition's remote debugging feature

Developing using CUDA on several computers, when only one has a GPU installed

I am a Java developer. To speed some of our algorithms, we have decided to try CUDA.
But the Issue is, currently we have only one server with GPU installed and 3 developers have to work on it (by transferring the file each time over ssh and compiling and running it over there). This obviously is a tedious process.
What I would like to know is: On my machine which does not have GPU, can I using NSight work on CUDA by compiling and generating files locally. This can automatically be transferred to server to get the result.
If we can at least work on algorithm locally using NSight (or any other IDE) and not pure vim and then compile it to remove compile time errors, this would save quite some time.
On Linux you can do remote debugging using Nsight Eclipse Edition as documented here. This requires 5.5 or later. On Windows you need to start the Nsight monitor on the server and then just configure Nsight Visual Studio Edition to use the remote machine.

CUDA Parallel NSight Debugging host and device simultaneously

Does anyone know if its possible to Debug CUDA using parallel NSight on a remote machine? I am able to step into CUDA code but not my host code. It says CUDA has the capability to generate host debug information so debugging remotely and locally should be possible.
My card is a 580 GTX.
//device code <-- able to debug device code
//host code <---- when device code returns, should be able to debug host code
Thanks!
Simultaneous GPU/CPU debugging from a single IDE instance is unfortunately not possible with the current releases of Nsight and Visual Studio.
As a workaround, you can start GPU debugging from one copy of Visual Studio, then open a second IDE instance and attach its CPU debugger. They won't have unified stepping, but you can at least set breakpoints independently.
It should now be possible to attach both the Visual Studio default debugger and NSight in the same VS instance. Then this should work.

CUDA Developer Toolkit: Display Driver failed installation

I have the Nvidia Quadro NVS4200M along with Intel Integrated Graphics (on my laptop). I can't seem to get the CUDA 5.0 toolkit installation to succeed.
I am running Windows 7 Enterprise Edition 64-bit. I tried the 64-bit desktop & notebook installers and the 32-bit installers.
All of them seem to fail with the error message "Display Driver failed installation". I installed the latest drivers from here, and it is supposed to support CUDA-5.0, and despite that, the installation fails.
After failure, the libraries and binaries are present, but NSight Eclipse (which seems to have no standalone installation link) isn't installed. What could be the possible issue?
I'm not sure why the driver install failed in your case, but if you
have a "recent" driver installed, it's not necessary to use the
driver that comes with the cuda installer. The cuda installer
offers individual options to install the toolkit (required), samples
(optional), and driver (required only if you have an older driver),
so you can just select "no" when prompted for the driver install, to
avoid this, assuming you have a recent driver or installed one such
as the 307.45 driver.
You should always use a 64 bit installer if you have a 64 bit OS.
The only officially supported C/C++ compiler for windows is cl.exe, the microsoft compiler that ships with either Microsoft Visual Studio (the Express edition will do, it is free), or the Windows SDK (for command line use only). You're free to experiment with other stuff, but your mileage may vary. MS VS 2010 (and 2008) are the easiest to use. MS VS 2012 can be made to work but may require extra steps.
I recommend installing cuda after installing Microsoft Visual Studio. This is because the cuda installer should automatically find your VS installation and update some important files to make building cuda projects easier.
nsight Eclipse Edition is a linux-only tool (or mac). It is not for windows use, and will not be installed by the windows cuda installers. nsight EE provides an environment for code building, debugging, and profiling. In windows, the corresponding operations can be done via MS VS IDE for code building, the standalone visual profiler for profiling, and using a separate plug-in, nsight visual studio edition, for debugging and profiling within visual studio. Due to the way visual studio is constructed, nsight visual studio edition will not work with the free versions of visual studio. nsight visual studio has it's own separate installer.
The windows getting started guide may also be of interest.

CUDA Debugging - VS on windows workstation, GPUs on Linux server?

Has anyone had any experience debugging CUDA code on a server while coding on a workstation?
My laptop (Thinkpad T400) doesn't support CUDA, but I have access to a server with pair of NVIDIA GTX 295 cards that runs Linux.
Can I use NVidia's Visual Studio tools to debug remotely on the server?
Failing that, I also have an Ubuntu VM running on my laptop. Is there a debugger that I can use under Linux to debug on the server?
I really don't want to have to buy another laptop with dual NVidia cards.
Developing in c on a remote linux machine (like your server) is quite common. You can ssh onto the server from any client (like your laptop) to compile and run the code just as you would if you were sitting at the machine, and you can use gdb to debug your code in a terminal. You can also use ddd as a graphical front end to gdb or a linux IDE such as eclipse by forwarding X11 over ssh.
You can use cuda-gdb to debug your CUDA code in a terminal in exactly the same way. Unfortunately, there is not a visual cuda debugger for linux yet. However, it appears you can use ddd with cuda-gdb [source], as you have two gpus. I'm not sure about using cuda-gdb in eclipse.
Yes you can but you need to buy the Parallel Nsight Studio from Nvidia
After installing on the remote machine the NsightDebugServer you can upload and debug programs from
your cuda-less laptop.
Update
Turns out This solution requires a WINDOWS server in order to run the NsightDebugServer.
To connect to the linux machine from your laptop, use a remote connection.
install putty and a Xserver for windows and just login with
ssh -X username#cudaserver.
The environment would not be fancy as Visual Studio but you can do the basic steps of debugging.
Eclipse "might" have some support for remote gdb servers. Never experimented that (Emacs + gdb is sufficient for me)