1

カーネル内でブレークしない while ループを誤って記述し、これを GPU に送信しました。30 秒後、画面がちらつき始めました。自分が何をしたかを認識し、強制的にアプリケーションを終了しました。問題は、カーネルがなくなったことを確認するために、後でコンピューターをシャットダウンする必要があったことです。したがって、私の質問は次のとおりです。

  1. GPU リソースを解放 (バッファー、キュー、カーネル、CL.destroying を解放) せずにプログラム (カーネルを起動しているプログラム) を強制終了した場合、カーネルは引き続き実行されますか?
  2. それらがまだ実行されている場合、それらを停止するために何かできますか? たとえば、私がもうハンドルを持っていないリソースを解放します。
4

1 に答える 1

0

NVIDIA カードを使用している場合は、アプリケーションを終了することで、最終的にカードのリソースが解放され、再び実行できるようになります。これは、NVIDIA がデバイス上にウォッチドッグ モニターを備えているためです (オフにすることができます)。

AMD カードを使用している場合、私の知る限り運が悪く、クラッシュするたびにマシンを再起動する必要があります。

于 2012-10-08T20:16:26.970 に答える