下面是一个核函数的代码,思路是通过每个线程计算一些数据,然后归约求和。因为需要处理的数据个数大于每个block的线程数,因此,需要一个while循环进行累加,最后在block内进行归约。其中,每个block内的线程数为128。
[attach]3415[/attach]
图1
但程序出错,在输出窗口输出:
[attach]3413[/attach]
图2
并且在屏幕右下角弹出错误,见图1。
在论坛里面找到一个相近的帖子:
http://cudazone.nvidia.cn/forum/forum.php?mod=viewthread&tid=1741
说是因为核函数的运行时间过长。另外,在网上找到:
windows有一个机制,如果在显卡上运行时间过长,windows会自动结束这个程序。
请问,是这个原因吗?