使用 GPU 处理 Ctrl+C 异常



我正在使用一些GPU程序(使用CUDA 4.1和C),有时(很少)我必须使用Ctrl + C中途杀死程序来处理一些异常。早些时候我尝试使用 CudaDeviceReset() 函数,但 talonmies 的这个回复取代了我对 CudaDeviceReset() 的信任,因此我开始以老式的方式处理此类异常,即"计算机重启"。随着项目规模的扩大,这种方法正成为一个令人头疼的问题。如果有人想出更好的解决方案,我将不胜感激。

我认为这个问题更基本——它实际上是一个应用程序设计问题,而不是 CUDA 问题。 如果您正确地设计了应用程序以定期检查中断,并退出主循环并在中断时清理资源,那么您不应该遇到此问题(您甚至可以在退出时正确调用cudaDeviceReset()

这个问题的答案可能会有所帮助。还有这个。 还有这个。

最新更新