1

我不小心写了一个永远不会在内核中中断的while循环,然后我将它发送到了GPU。30 秒后,我的屏幕开始闪烁,我意识到我做了什么并强行终止了应用程序。问题是我必须在之后关闭计算机以确保内核已经消失。因此我的问题是:

  1. 如果我强制终止程序(启动内核的程序)而不释放 GPU 资源(释放缓冲区、队列、内核、CL.destroying),内核还会运行吗?
  2. 如果它们仍在运行,我可以做些什么来阻止它们吗?比如说,释放资源,我再也没有办法处理了。
4

1 回答 1

0

如果您使用的是 NVIDIA 卡,则通过终止应用程序,您最终将释放卡上的资源以使其再次运行。这是因为 NVIDIA 在设备上有一个看门狗监视器(您可以将其关闭)。

如果您使用的是 AMD 卡,那么您就不走运了,AFAIK 每次崩溃后都必须重新启动机器。

于 2012-10-08T20:16:26.970 回答