gpt4 book ai didi

ubuntu - 所有CUDA设备都用于显示: Can not debug my CUDA-code from within desktop environment

转载 作者:太空宇宙 更新时间:2023-11-03 16:46:52 25 4
gpt4 key购买 nike

自上周以来,我的 CUDA 开发设置遇到了一个大问题。我有一个集成的 GPU,我也连接了我的显示器和一个额外的 NVIDIA 卡来运行我的 CUDA 内核。但是,我不能再调试我的代码了,因为它说:

fatal:  All CUDA devices are used for display and cannot be used while debugging. (error code = CUDBG_ERROR_ALL_DEVICES_WATCHDOGGED(0x18)

我的 X-Server 似乎以某种方式阻止了我的 NVIDIA GPU,因为如果我切换到另一个虚拟控制台 (CTRL+ALT+F1),我就可以使用 cuda-gdb 运行我的代码。没有显示器电缆插入 NVIDIA 卡...

"lsof/dev/nvidia*"没有给出任何输出。我正在使用 Xubuntu 14.04。

有没有人知道如何解决这个问题?

最佳答案

在计算能力至少为 SM35 的设备中,我们显然可以通过设置环境变量来解决这个问题

CUDA_DEBUGGER_SOFTWARE_PREEMPTION=1

我们可以在 cuda-gdb 文档页面看到它:http://docs.nvidia.com/cuda/cuda-gdb/#axzz4BrMPoaoW

这是测试。我在 Maxwell Quadro GPU 上运行:

nvidia-smi
Fri Jun 17 10:59:47 2016
+------------------------------------------------------+
| NVIDIA-SMI 352.63 Driver Version: 352.63 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Quadro M4000M Off | 0000:01:00.0 On | N/A |
| N/A 37C P8 9W / 100W | 158MiB / 4087MiB | 1% Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 2981 G /usr/bin/X 57MiB |
| 0 9186 G ...ves-passed-by-fd --v8-snapshot-passed-by- 85MiB |
+-----------------------------------------------------------------------------+

构建并运行应用程序

 nvcc -g -G foo.cu
cuda-gdb ./a.out

...
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
fatal: All CUDA devices are used for display and cannot be used while debugging. (error code = CUDBG_ERROR_ALL_DEVICES_WATCHDOGGED(0x18)

现在设置环境变量。

export CUDA_DEBUGGER_SOFTWARE_PREEMPTION=1
cuda-gdb ./a.out
(cuda-gdb) r
...
warning: Cuda API error detected: cudaMemcpy returned (0xb)

warning: Cuda API error detected: cudaFree returned (0x11)

[Thread 0x7fffed3ff700 (LWP 10302) exited]
[Thread 0x7ffff7fc6780 (LWP 10293) exited]

关于ubuntu - 所有CUDA设备都用于显示: Can not debug my CUDA-code from within desktop environment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35292723/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com