cudaDeviceReset()的使用疑惑

手册上说“当主机线程调用cudaDeviceReset()时,这销毁了主机线程操作的设备的主上
下文。主机线程调用的运行时函数将为设备重新建立一个主上下文。”

一个程序的main函数在“return 0;” 前一定要加上 cudaDeviceReset() 吗? 不加有啥后果没?:loveliness:

不加也没什么后果。

您好,不加的话一般没啥不良后果的,当然一般也没啥好处。
目前已知的一个建议添加的地方是,如果最后有kernel里面的printf而因为GPU程序结束而导致无法正常打印出来的时候,可以添加这个。当然我并不知道这里面的原理何在。

总之,我可以保证,加还是不加,您的机器都不会爆炸或者烧毁的,您尽可以大胆尝试。:slight_smile:

欢迎莅临CUDAZONE,祝您编码愉快~

好的,非常感谢两位版主解决了困扰我很长时间的问题。

善哉,欢迎您经常来这里交流讨论~