cuDevicePrimaryCtxReset()和cudaDeviceReset()是否执行相同的操作?
阅读CUDA运行时API和驱动程序API文档,似乎有两个函数:cuDevicePrimaryCtxReset()和cudaDeviceReset()是否执行相同的操作?,cuda,compatibility,cuda-driver,Cuda,Compatibility,Cuda Driver,阅读CUDA运行时API和驱动程序API文档,似乎有两个函数: CUresult cuDevicePrimaryCtxReset ( CUdevice dev ); __host__ cudaError_t cudaDeviceReset ( void ); 执行相同的操作(直到在运行时API调用之前必须cudaSetDevice(dev)): 销毁主上下文上的所有分配并重置所有状态 第一次和第二次 在当前进程中销毁当前设备上的所有分配并重置所有状态 他们真的也这样做了吗?或者,是否存在我遗
CUresult cuDevicePrimaryCtxReset ( CUdevice dev );
__host__ cudaError_t cudaDeviceReset ( void );
执行相同的操作(直到在运行时API调用之前必须cudaSetDevice(dev)
):
销毁主上下文上的所有分配并重置所有状态
第一次和第二次
在当前进程中销毁当前设备上的所有分配并重置所有状态
他们真的也这样做了吗?或者,是否存在我遗漏的或未记录的细微差异?e、 g.与线程和进程相关的东西?它们完全不同。
检查链接到的@RobertCrovella程序,似乎
cudaDeviceReset()
会破坏指定设备的所有上下文,并将它们从上下文堆栈中删除。我认为它们不会做同样的事情。稍微修改一下代码可能会让你相信这一点。