|
| openclSolverBackend (int linear_solver_verbosity, int maxit, Scalar tolerance, unsigned int platformID, unsigned int deviceID, bool opencl_ilu_parallel, std::string linsolver) |
| Construct a openclSolver.
|
|
| openclSolverBackend (int linear_solver_verbosity, int maxit, Scalar tolerance, bool opencl_ilu_parallel) |
| For the CPR coarse solver.
|
|
SolverStatus | solve_system (std::shared_ptr< BlockedMatrix< Scalar > > matrix, Scalar *b, std::shared_ptr< BlockedMatrix< Scalar > > jacMatrix, WellContributions< Scalar > &wellContribs, BdaResult &res) override |
| Solve linear system, A*x = b, matrix A must be in blocked-CSR format.
|
|
void | get_result (Scalar *x) override |
| Solve scalar linear system, for example a coarse system of an AMG preconditioner Data is already on the GPU.
|
|
void | setOpencl (std::shared_ptr< cl::Context > &context, std::shared_ptr< cl::CommandQueue > &queue) |
| Set OpenCL objects This class either creates them based on platformID and deviceID or receives them through this function.
|
|
| BdaSolver (int linear_solver_verbosity, int max_it, Scalar tolerance_) |
| Construct a BdaSolver.
|
|
| BdaSolver (int linear_solver_verbosity, int max_it, Scalar tolerance_, unsigned int deviceID_) |
|
| BdaSolver (int linear_solver_verbosity, int max_it, double tolerance_, unsigned int platformID_, unsigned int deviceID_) |
|
virtual | ~BdaSolver ()=default |
| Define virtual destructor, so that the derivedclass destructor will be called.
|
|
template<class Scalar, unsigned int block_size>
class Opm::Accelerator::openclSolverBackend< Scalar, block_size >
This class implements a opencl-based ilu0-bicgstab solver on GPU.
template<class Scalar , unsigned int block_size>
Solve scalar linear system, for example a coarse system of an AMG preconditioner Data is already on the GPU.
Get result after linear solve, and peform postprocessing if necessary
- Parameters
-
[in,out] | x | resulting x vector, caller must guarantee that x points to a valid array |
Implements Opm::Accelerator::BdaSolver< Scalar, block_size >.