CUDA:出现“粘性”错误后如何重置GPU?

时间:2019-04-30 10:11:32

标签: c++ cuda gpu

我有一个多线程程序,并且只有一个线程正在使用GPU(Cuda,C ++)。在Linux的cuda代码中出现“粘性”错误后,如何恢复正常的GPU处理?

我尝试了cudaDeviceReset():

__global__ void tKernel() {return; }
// it is a part of my code
cudaDeviceSynchronize();
cudaGetLastError();
cudaGetLastError();
cudaDeviceReset();
tKernel<<<1, 1>>>();
cudaDeviceSynchronize();
cudaError_t err = cudaGetLastError();
if (err != cudaSuccess) {
   std::cout << cudaGetErrorString(err);
}

但是每次都会出现错误: “所有支持CUDA的设备正忙或不可用”。 唯一的方法是停止我的程序,然后再次运行它。但是如何在不重启程序的情况下重置GPU?

0 个答案:

没有答案