在使用Bumblebee的支持CUDA的GeForce GPU上运行长内核(特别是在带有一些内存检查的调试模式下)时,我收到以下错误:
CUDA错误6:启动超时并被终止
这似乎是由NVIDIA驱动程序的监视器引起的。有一个解决方案here。但是,为什么在使用Bumblebee和optirun
运行简单的CUDA内核时会发生这种情况(即我不使用我的NVIDIA GPU进行显示)?
我用来启动该程序的命令是:
optirun [cuda-memcheck] ./my_program program_options
答案 0 :(得分:4)
解决方案(找到here)是对--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)