运行cuda程序时,提示the launch timed out and was terminated in
原因: 核函数运行时间太长,导致看门狗定时器超时。
解决办法
一个简单的方法就是把每个核函数写的足够短。
其他方法可以看这里,它提供了windows和linux的解决方案:
这里记录一下我用linux解决方案中第四种方法(Option 4: Turn Off Interactive Mode in the NVIDIA Driver
)遇到的问题:
- 修改
xorg.conf
文件
$sudo gedit /etc/X11/xorg.conf
- 在
Section "Device"
里添加一行Option "Interactive" "off"
,如下图
- 重启即可。重启后,再运行代码就不会超时了。
不过虽然可以长时间运行核函数,但是我遇到了其他问题,就是屏幕的分辨率变小了,只支持960x540;所以成功代码运行完后我还想取消这种设置,下面是取消设置的办法:
- 打开
/etc/X11/xorg.conf
,删掉刚才添加的Option "Interactive" "off"
,重启,这时候还没有好。 - 按
Ctrl+Alt+F1
进入tty1模式,输入
$sudo service lightdm stop
$sudo service lightdm start
- 按
Ctrl+Alt+F7
切换回GUI模式,分辨率的问题就好了。