20#ifndef OPM_ROCSPARSEPRECONDITIONER_HEADER_INCLUDED
21#define OPM_ROCSPARSEPRECONDITIONER_HEADER_INCLUDED
23#include <opm/simulators/linalg/gpubridge/Preconditioner.hpp>
25#include <rocsparse/rocsparse.h>
27namespace Opm::Accelerator {
29template<
class Scalar>
class BlockedMatrix;
31template <
class Scalar,
unsigned int block_size>
49 bool useJacMatrix =
false;
50 std::shared_ptr<BlockedMatrix<Scalar>> jacMat{};
52 static std::unique_ptr<rocsparsePreconditioner<Scalar, block_size>> create(PreconditionerType type,
60 virtual void copy_system_to_gpu(Scalar*
b) = 0;
This struct resembles a blocked csr matrix, like Dune::BCRSMatrix.
Definition BlockedMatrix.hpp:29
Definition Preconditioner.hpp:41
Definition rocsparsePreconditioner.hpp:33
virtual void update_system_on_gpu(Scalar *b)=0
Update linear system to GPU.
constexpr auto getPropValue()
get the value data member of a property
Definition propertysystem.hh:242