在CUDA的GPU编程中,通常将大数据分配由众多线程解决,这样每个线程的工作量通常很小,秒秒钟解决。当时,当GPU希望承担CPU一样的耗时线程操作时,经常会出现“驱动已恢复”的崩溃现象。这是由于window系统Tdr所导致的,显卡是用来桌面显示的,所以不允许显卡长期(>2s)被占用,需要把GPU抢回来用于图形显示。因此就出现了上述情况。
解决方案:在Nvidia安装的Nsight monitor 打开如下
2.点击右下角option
3.把Dispalay Driver下的TDR delay改为更长,或直接把enabeled 改为False。(后者更彻底),然后重启即可生效。
4.如果恢复TDR, 改回来,重启系统后可恢复。