CUDA C++ / 错误处理

错误处理

接收错误信息

定义一个cudaError_t类型的变量来接收错误信息

cudaError_t err;

获取错误信息的字符串

cudaGetErrorString(err);

使用方法:

cout<<cudaGetErrorString(err)<<endl;

获取核函数执行后最后一次错误

cudaGetLastError();

使用方法:

核函数<<<1,1>>>();
cudaError_t err = cudaGetLastError();

错误处理常量

cudaSuccess:属于cudaError_t类型,表示执行正确

使用方法:

cudaError_t err = cudaMemcpy(...);
if(err != cudaSuccess)cout<<"执行失败!"<<cudaGetErrorString(err);
else cout<<"执行成功";

 

自定义错误处理功能

inline cudaError_t checkCuda(cudaError_t result)
{
  if (result != cudaSuccess) {
    fprintf(stderr, "CUDA Runtime Error: %s\n", cudaGetErrorString(result));
    assert(result == cudaSuccess);
  }
  return result;
}

 

posted @ 2023-01-31 22:18  Laplace蒜子  阅读(263)  评论(0)    收藏  举报