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; \ 67 unsigned int ceilDivision(
const unsigned int A,
68 const unsigned int B);
70 template<
class Scalar>
71 Scalar get_absmax(
const Scalar *data,
74 template<
class Scalar>
75 void solve_transposed_3x3(
const Scalar *A,
Definition: amgclSolverBackend.cpp:49