cudaGetErrorString:
__host____device__const char \*cudaGetErrorString(cudaError_t error)
cudaGetErrorString 与cudaGetErrorName类似,但它返回的是关于该错误码的详细描述信息。同样,如果错误码无法识别,它会返回“unrecognized error code”。
通过使用这两个函数,我们可以在记录错误日志时包含更详细的错误信息,从而更快速地定位和解决问题。因此,在编写涉及CUDA操作的代码时,建议对每个可能返回错误码的API调用都进行错误检查,并在发现错误时调用这些函数以获取更具体的错误信息。
使用示例:
#include <stdio.h>
#include <stdlib.h>
#include <cuda\_runtime.h>
cudaError_t cuda\_check(cudaError_t error_code, int line)
{
if (error_code != cudaSuccess)
{
printf("line: %d, error\_code: %d, error\_name: %s, error\_description: %s\n",
line, error_code, cudaGetErrorName(error_code), cudaGetErrorString(error_code));
exit(EXIT_FAILURE); // 如果出现错误,最好退出程序
}
return error_code;
}