20#ifndef OPM_PRECONDITIONER_HEADER_INCLUDED
21#define OPM_PRECONDITIONER_HEADER_INCLUDED
23#include <opm/simulators/linalg/bda/opencl/opencl.hpp>
33template <
unsigned int block_size>
44 std::shared_ptr<cl::Context> context;
45 std::shared_ptr<cl::CommandQueue> queue;
46 std::vector<cl::Event> events;
54 enum PreconditionerType {
60 static std::unique_ptr<Preconditioner> create(PreconditionerType type,
int verbosity,
bool opencl_ilu_parallel);
65 virtual void setOpencl(std::shared_ptr<cl::Context>& context, std::shared_ptr<cl::CommandQueue>& queue);
68 virtual void apply(
const cl::Buffer& y, cl::Buffer& x) = 0;
This class implements a Blocked ILU0 preconditioner The decomposition is done on GPU,...
Definition: BILU0.hpp:42
This class implements a Blocked version of the Incomplete Sparse Approximate Inverse (ISAI) precondit...
Definition: BISAI.hpp:40
This struct resembles a blocked csr matrix, like Dune::BCRSMatrix.
Definition: BlockedMatrix.hpp:31
This class implements a Constrained Pressure Residual (CPR) preconditioner.
Definition: CPR.hpp:46
Definition: Preconditioner.hpp:35
This file contains a set of helper functions used by VFPProd / VFPInj.
Definition: BlackoilPhases.hpp:27