5#include <hip/hip_runtime_api.h>
6#include <hip/hip_version.h>
10#define HIP_CHECK(STAT) \
12 const hipError_t stat = (STAT); \
13 if(stat != hipSuccess) \
15 std::ostringstream oss; \
16 oss << "rocsparseSolverBackend::hip "; \
17 oss << "error: " << hipGetErrorString(stat); \
18 OPM_THROW(std::logic_error, oss.str()); \
22#define ROCSPARSE_CHECK(STAT) \
24 const rocsparse_status stat = (STAT); \
25 if(stat != rocsparse_status_success) \
27 std::ostringstream oss; \
28 oss << "rocsparseSolverBackend::rocsparse "; \
29 oss << "error: " << stat; \
30 OPM_THROW(std::logic_error, oss.str()); \
34#define ROCBLAS_CHECK(STAT) \
36 const rocblas_status stat = (STAT); \
37 if(stat != rocblas_status_success) \
39 std::ostringstream oss; \
40 oss << "rocsparseSolverBackend::rocblas "; \
41 oss << "error: " << stat; \
42 OPM_THROW(std::logic_error, oss.str()); \
47#define HIP_CHECK_NOTHROW(STAT) \
49 const hipError_t stat = (STAT); \
50 if(stat != hipSuccess) \
52 std::cerr << "rocsparseSolverBackend::hip error: " << hipGetErrorString(stat) << std::endl; \
56#define ROCSPARSE_CHECK_NOTHROW(STAT) \
58 const rocsparse_status stat = (STAT); \
59 if(stat != rocsparse_status_success) \
61 std::cerr << "rocsparseSolverBackend::rocsparse error: " << stat << std::endl; \
68 const unsigned int B);
Definition: amgclSolverBackend.hpp:44
void solve_transposed_3x3(const Scalar *A, const Scalar *b, Scalar *x)
unsigned int ceilDivision(const unsigned int A, const unsigned int B)
Scalar get_absmax(const Scalar *data, const int N)