1

在带有 Bumblebee 的支持 CUDA 的 GeForce GPU 上运行长内核(尤其是在调试模式下进行一些内存检查)时,我收到以下错误:

CUDA错误6:启动超时并被终止

这似乎是由 NVIDIA 驱动程序的看门狗引起的。此处提供了一个解决方案。但是,为什么在使用 Bumblebee 并optirun运行简单的 CUDA 内核(即我不使用 NVIDIA GPU 进行显示)时会发生这种情况?

我用来启动程序的命令是:

optirun [cuda-memcheck] ./my_program program_options
4

1 回答 1

4

解决方案(在此处找到)是使用 的--no-xorg选项optirun,即:

optirun --no-xorg [cuda-memcheck or cuda-gdb] ./my_program program_options

实际上,默认行为optirun是创建一个辅助 X 服务器,然后该服务器将受驱动程序的看门狗的约束。通过使用该--no-xorg选项,我们可以避免这个额外的 X 服务器带来的不必要的后果。这个新选项从Bumblebee 3.2开始可用。

它还提供了一种使用cuda-gdb和避免以下错误的方法:

致命:所有CUDA设备都用于显示,不能在调试时使用。(错误代码 = 24)

于 2013-06-27T06:16:45.677 回答