CUDA中常见的错误:the launch timed out and was treminated.

首先,产生这个错误的原因是因为在显卡上运行程序的时间过长.

windows有这个机制:如果在显卡上运行时间过长,windows会自动结束这个程序,

因为windows不知道程序是不是已经在显卡上无响应了.

解决办法:

微软说可以通过修改注册表来解决,但是我没修改成功.我是通过另外一个方法.

首先我的电脑是有一个集成显卡,一个独立显卡.用独立显卡做CUDA计算.

我把显示屏连接到了集成显卡上,这样就不会出现timed out的错误了.

不过在此之间需要进行一个小设置.就是将2块显卡都接上屏幕,然后在windows的屏幕设置那里,

设置成只在屏幕1(集成显卡连接的屏幕)上显示内容,这时屏幕2(独立显卡连接的屏幕)就自动关闭了.

这时再在独立显卡上进行CUDA计算就不会出现timed out的错误了.

官方带是SDK的例子有,有一个querydevice,你运行之后会看到变化.

设置前:

设置后:

如果你实在没有两块显卡,那么就得减小kernel函数的运算量了.

转自http://www.cnblogs.com/swsw/archive/2011/05/18/2049896.html

原文地址:https://www.cnblogs.com/winkyao/p/2344502.html