如何仅使用运行X11的1个图形卡调试CUDA库

时间:2010-10-26 16:13:33

标签: debugging gdb cuda

我正在运行一个CUDA库,我需要针对内存问题和其他问题进行调试。但是当我将cuda-gdb附加到进程时,我得到了错误

  

错误:所有CUDA设备都用于X11,在调试时无法使用。

我理解错误,但必须有一种方法可以调试问题。由于我只有1个GPU,因此关闭X11实际上是不切实际的。

在非Nvidia硬件上,我认为有一种方法可以模拟cuda gpu。即使我有一个NVIDIA gpu,这可以设置为调试吗?

1 个答案:

答案 0 :(得分:3)

首先,当您使用Linux时,您处于一个幸运的位置,因为您可以在调试时轻松地杀死X.

但是,如果您真的想在调试时坚持运行X,那么运气不好,因为可能是一个很好的理由:显示驱动程序有一个名为watchdog timer的保护机制当使用的GPU也驱动显示器时启用。看门狗定时器会中断任何运行时间更长的AFAIR 5s的内核。这是为了防止GPU锁定。

或者,您可以尝试使用ocelot,但我不确定它提供的调试功能有多好。