4

关于正确使用 有各种问题cudaDeviceReset(),但我无法找到以下问题的答案。

上的文档cudaDeviceReset()说它explicitly destroys and cleans up all resources associated with the current device in the current process

假设我有一个包含许多数组的程序,所有数组都分配有cudaMalloc. 我可以在程序末尾使用cudaDeviceReset许多语句来快速释放设备上的所有内存吗?cudaFree这样做有什么缺点吗?

4

1 回答 1

4

cudaDeviceReset()如果您愿意,您可以在申请结束时致电。事实上,建议正确使用可视化分析器。

cudaDeviceReset()如果您实际上已经完成了 GPU 并准备退出您的应用程序,那么如果您选择使用它应该没有任何缺点。请注意,对于这种情况,这些方法(cudaDeviceReset与许多cudaFree语句)可能都不是真正必要的,因为应用程序退出也会释放资源(由于应用程序退出时 cuda 上下文的破坏)。但请注意上面关于探查器使用的声明。

于 2013-08-05T04:29:12.950 回答