我有一个带有两个嵌套循环的OpenCL内核。它可以在一定次数的迭代中正常工作,但是当迭代次数增加时会崩溃。循环本质上不会创建任何新数据(即,没有全局内存溢出等),它只是迭代更多的时间。我该怎么做才能允许更多的迭代?有谁遇到过这个问题?非常感谢
答案 0 :(得分:1)
你在Windows上运行吗? Windows有一个看门狗定时器机制,如果它看起来没有响应,它会重新启动显示驱动程序。我发现如果我的内核运行超过几秒钟,计时器将跳闸并重新启动显示驱动程序。我所知道的唯一解决方案是将内核执行分解为每个一到两秒的段,并按顺序运行它们。
答案 1 :(得分:1)
正如@ScottD所说,看门狗将是一个很好的解释。您可以修改看门狗触发的持续时间。您必须在注册表中修改/创建一个值,如此question中的解释。请注意,有一个答案可以解释如何为linux做这件事。