This class implements a rocalution based linear solver solver on GPU It uses ilu0-bicgstab.
More...
|
| rocalutionSolverBackend (int linear_solver_verbosity, int maxit, Scalar tolerance) |
| Construct a rocalutionSolver also initialize rocalution library and rocalution variables.
|
|
| ~rocalutionSolverBackend () |
| Destroy a rocalutionSolver, and free memory.
|
|
SolverStatus | solve_system (std::shared_ptr< BlockedMatrix< Scalar > > matrix, Scalar *b, std::shared_ptr< BlockedMatrix< Scalar > > jacMatrix, WellContributions< Scalar > &wellContribs, GpuResult &res) override |
| Solve linear system, A*x = b, matrix A must be in blocked-CSR format.
|
|
void | get_result (Scalar *x) override |
| Get result after linear solve, and peform postprocessing if necessary.
|
|
| GpuSolver (int linear_solver_verbosity, int max_it, Scalar tolerance_) |
| Construct a GpuSolver.
|
|
| GpuSolver (int linear_solver_verbosity, int max_it, Scalar tolerance_, unsigned int deviceID_) |
|
| GpuSolver (int linear_solver_verbosity, int max_it, double tolerance_, unsigned int platformID_, unsigned int deviceID_) |
|
virtual | ~GpuSolver ()=default |
| Define virtual destructor, so that the derivedclass destructor will be called.
|
|
template<
class Scalar,
unsigned int block_size>
class Opm::Accelerator::rocalutionSolverBackend< Scalar, block_size >
This class implements a rocalution based linear solver solver on GPU It uses ilu0-bicgstab.