From bb765cafafec995bcfb249d2ce2f897e1225d69e Mon Sep 17 00:00:00 2001 From: pghafari Date: Sun, 11 Dec 2022 22:28:36 -0500 Subject: [PATCH] SWDEV-369042 - updating to GetError to match cuda Change-Id: I0ec2330443b26cb1c8cedba942f31fb1267cd09d [ROCm/clr commit: 335a24d1a0b72d1698ecc7599f3a730cc24163ef] --- .../hip/nvidia_detail/nvidia_hip_runtime_api.h | 14 ++++++++++++-- projects/clr/hipamd/src/hip_error.cpp | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/projects/clr/hipamd/include/hip/nvidia_detail/nvidia_hip_runtime_api.h b/projects/clr/hipamd/include/hip/nvidia_detail/nvidia_hip_runtime_api.h index dd7e52a19d..712d793c51 100644 --- a/projects/clr/hipamd/include/hip/nvidia_detail/nvidia_hip_runtime_api.h +++ b/projects/clr/hipamd/include/hip/nvidia_detail/nvidia_hip_runtime_api.h @@ -1833,11 +1833,21 @@ inline static const char* hipGetErrorName(hipError_t error) { } inline static hipError_t hipDrvGetErrorString(hipError_t error, const char** errorString) { - return hipCUResultTohipError(cuGetErrorString(hipErrorToCUResult(error), errorString)); + CUresult err = hipErrorToCUResult(error); + if( err == CUDA_ERROR_UNKNOWN ) { + return hipCUResultTohipError(cuGetErrorString((CUresult)error, errorString)); + } else { + return hipCUResultTohipError(cuGetErrorString(err, errorString)); + } } inline static hipError_t hipDrvGetErrorName(hipError_t error, const char** errorString) { - return hipCUResultTohipError(cuGetErrorName(hipErrorToCUResult(error), errorString)); + CUresult err = hipErrorToCUResult(error); + if( err == CUDA_ERROR_UNKNOWN ) { + return hipCUResultTohipError(cuGetErrorName((CUresult)error, errorString)); + } else { + return hipCUResultTohipError(cuGetErrorName(err, errorString)); + } } inline static hipError_t hipGetDeviceCount(int* count) { diff --git a/projects/clr/hipamd/src/hip_error.cpp b/projects/clr/hipamd/src/hip_error.cpp index 6f3d371272..909a9e08d0 100644 --- a/projects/clr/hipamd/src/hip_error.cpp +++ b/projects/clr/hipamd/src/hip_error.cpp @@ -357,7 +357,7 @@ hipError_t hipDrvGetErrorName(hipError_t hip_error, const char** errStr) return hipErrorInvalidValue; } *errStr = ihipGetErrorName(hip_error); - if (strcmp( *errStr, "hipErrorUnknown") != 0) { + if (hip_error == hipErrorUnknown || strcmp( *errStr, "hipErrorUnknown") != 0) { return hipSuccess; } else { return hipErrorInvalidValue; @@ -370,7 +370,7 @@ hipError_t hipDrvGetErrorString(hipError_t hip_error, const char** errStr) return hipErrorInvalidValue; } *errStr = ihipGetErrorString(hip_error); - if (strcmp( *errStr, "unknown error") != 0) { + if (hip_error == hipErrorUnknown || strcmp( *errStr, "unknown error") != 0) { return hipSuccess; } else { return hipErrorInvalidValue;