1

私はいくつかの GPU プログラム (CUDA 4.1 および C を使用) を使用していますが、例外を処理するために Ctrl+C を使用して途中でプログラムを強制終了する必要がある場合があります (まれに)。以前に CudaDeviceReset() 関数を使用してみましたが、talonmies によるこの返信により、CudaDeviceReset() に対する信頼が失われたため、そのような例外を昔ながらの方法、つまり「コンピューターの再起動」で処理し始めました。プロジェクトのサイズが大きくなるにつれて、この方法は頭痛の種になりつつあります。誰かがより良い解決策を思いついたなら、私は感謝します。

4

1 に答える 1

3

この質問はより基本的なものだと思います。これは実際にはアプリの設計の問題であり、CUDA の問題ではありません。割り込みを定期的にチェックするようにアプリを正しく設計し、割り込み時にメイン ループを終了してリソースをクリーンアップする場合、この問題は発生しないはずです (cudaDeviceReset()終了時に適切に呼び出すこともできます。

この質問への回答が役立つ場合があります。そしてこれ。そしてこれ

于 2012-04-24T09:11:15.530 に答える