all cuda devices are used for display and cannot be used while debugging

Is there ANY way to use Nsight eclipse with only one GPU for debugging?
I have seen solutions like “sudo service lightdm stop” to kill X but that kills Nsight eclipse too so what’s the point?


It is not possible to debug CUDA code on the same UI used to drive the UI as it can lock the graphical environment.
Stopping display manager is useful as you may use cuda-gdb debugger when in console mode. You are right, Nsight Eclipse Edition cannot be used without display manager running.

But why is it then possible to debug with only one GPU in Windows (e.g. through Microsoft Visual Studio) ?

Hi, I have the same error…

I can compile and run programs, I can even start the Debugger, but when it hits any CUDA line (e.g cudaMalloc) it’ll give me that error.

I have the following config:
Software: Nsight Eclipse Edition, Version 5.0.0
VCard: NVidia GTX 680
OS: Ubuntu 12.04

Am i missing something? what is the proper manner to start debugging?
Why all cuda devices are used for display?
Can i change that?

Thanks in advance for any information that can help me start the debugger correctly…

On Linux and Mac OS X, dedicated GPU is required for debugging from graphical environment. Please refer to cuda-gdb manual for information on debugging CUDA code from command line.

Thanks eugeneo, i found this thanks to your comment

I don’t understand if it is simply impossible to have single GPU debugging on Linux, or if it simply not implemented yet. Which is it?

I met the same problem.
Under Windows using NSight Visual Studio, at least, I can debug Cuda code with cudaMalloc function.
However, under Linux using NSight Eclipse, I cannot debug cuda code with cudaMalloc.

Well, if I just need to debug Cuda code under Linux, what can I do? Is there a way out for Linux users?