cuda运行错误:the launch timed out and was terminated in

运行cuda程序时,提示the launch timed out and was terminated in
原因: 核函数运行时间太长,导致看门狗定时器超时。


解决办法

一个简单的方法就是把每个核函数写的足够短。
其他方法可以看这里,它提供了windows和linux的解决方案:

这里记录一下我用linux解决方案中第四种方法(Option 4: Turn Off Interactive Mode in the NVIDIA Driver)遇到的问题:

  1. 修改xorg.conf文件
$sudo gedit /etc/X11/xorg.conf
  1. Section "Device"里添加一行Option "Interactive" "off",如下图
    在这里插入图片描述
  2. 重启即可。重启后,再运行代码就不会超时了。

不过虽然可以长时间运行核函数,但是我遇到了其他问题,就是屏幕的分辨率变小了,只支持960x540;所以成功代码运行完后我还想取消这种设置,下面是取消设置的办法:

  1. 打开/etc/X11/xorg.conf,删掉刚才添加的Option "Interactive" "off",重启,这时候还没有好。
  2. Ctrl+Alt+F1进入tty1模式,输入
$sudo service lightdm stop
$sudo service lightdm start
  1. Ctrl+Alt+F7切换回GUI模式,分辨率的问题就好了。

相关/参考链接