|
|
|
@ -45,6 +45,7 @@ |
|
|
|
|
|
|
|
|
|
#include "cuda_runtime_api.h" |
|
|
|
|
#include "cufft.h" |
|
|
|
|
#include "cublas.h" |
|
|
|
|
#include "NCV.hpp" |
|
|
|
|
|
|
|
|
|
#if defined(__GNUC__) |
|
|
|
@ -52,11 +53,13 @@ |
|
|
|
|
#define nppSafeCall(expr) ___nppSafeCall(expr, __FILE__, __LINE__, __func__) |
|
|
|
|
#define ncvSafeCall(expr) ___ncvSafeCall(expr, __FILE__, __LINE__, __func__) |
|
|
|
|
#define cufftSafeCall(expr) ___cufftSafeCall(expr, __FILE__, __LINE__, __func__) |
|
|
|
|
#define cublasSafeCall(expr) ___cublasSafeCall(expr, __FILE__, __LINE__, __func__) |
|
|
|
|
#else /* defined(__CUDACC__) || defined(__MSVC__) */ |
|
|
|
|
#define cudaSafeCall(expr) ___cudaSafeCall(expr, __FILE__, __LINE__) |
|
|
|
|
#define nppSafeCall(expr) ___nppSafeCall(expr, __FILE__, __LINE__) |
|
|
|
|
#define ncvSafeCall(expr) ___ncvSafeCall(expr, __FILE__, __LINE__) |
|
|
|
|
#define cufftSafeCall(expr) ___cufftSafeCall(expr, __FILE__, __LINE__) |
|
|
|
|
#define cublasSafeCall(expr) ___cublasSafeCall(expr, __FILE__, __LINE__) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
namespace cv |
|
|
|
@ -67,6 +70,7 @@ namespace cv |
|
|
|
|
void nppError(int err, const char *file, const int line, const char *func = ""); |
|
|
|
|
void ncvError(int err, const char *file, const int line, const char *func = ""); |
|
|
|
|
void cufftError(int err, const char *file, const int line, const char *func = ""); |
|
|
|
|
void cublasError(int err, const char *file, const int line, const char *func = ""); |
|
|
|
|
|
|
|
|
|
static inline void ___cudaSafeCall(cudaError_t err, const char *file, const int line, const char *func = "") |
|
|
|
|
{ |
|
|
|
@ -91,6 +95,12 @@ namespace cv |
|
|
|
|
if (CUFFT_SUCCESS != err) |
|
|
|
|
cv::gpu::cufftError(err, file, line, func); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
static inline void ___cublasSafeCall(cublasStatus_t err, const char *file, const int line, const char *func = "") |
|
|
|
|
{ |
|
|
|
|
if (CUBLAS_STATUS_SUCCESS != err) |
|
|
|
|
cv::gpu::cublasError(err, file, line, func); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|