|
| OpmGpuILU0 (const M &A, bool splitMatrix, bool tuneKernels, bool storeFactorizationAsFloat) |
| Constructor.
|
|
void | pre (X &x, Y &b) override |
| Prepare the preconditioner.
|
|
void | apply (X &v, const Y &d) override |
| Apply the preconditoner.
|
|
void | post (X &x) override |
| Post processing.
|
|
Dune::SolverCategory::Category | category () const override |
| Category of the preconditioner (see SolverCategory::Category)
|
|
void | update () final |
| Updates the matrix data.
|
|
void | LUFactorizeAndMoveData (int moveThreadBlockSize, int factorizationThreadBlockSize) |
| Compute LU factorization, and update the data of the reordered matrix.
|
|
void | tuneThreadBlockSizes () |
| function that will experimentally tune the thread block sizes of the important cuda kernels
|
|
virtual bool | hasPerfectUpdate () const override |
|
template<class M, class X, class Y, int l = 1>
class Opm::gpuistl::OpmGpuILU0< M, X, Y, l >
ILU0 preconditioner on the GPU.
- Template Parameters
-
M | The matrix type to operate on |
X | Type of the update |
Y | Type of the defect |
l | Ignored. Just there to have the same number of template arguments as other preconditioners. |
- Note
- We assume X and Y are both GpuVector<real_type>, but we leave them as template arguments in case of future additions.