|
| BlockJacobiClass () |
| The constructor of BlockJacobiClass. More...
|
|
virtual int | Clear () |
| Free the current precondioner. More...
|
|
virtual | ~BlockJacobiClass () |
| The destructor of BlockJacobiClass. More...
|
|
| BlockJacobiClass (const BlockJacobiClass< ParallelMatrixType, ParallelVectorType, LocalMatrixType, LocalVectorType, DataType > &solver) |
| The copy constructor of BlockJacobiClass. Note that this is not the true copy. We only copy the pointer to the local preconditioner. More...
|
|
| BlockJacobiClass (BlockJacobiClass< ParallelMatrixType, ParallelVectorType, LocalMatrixType, LocalVectorType, DataType > &&solver) |
| The move constructor of BlockJacobiClass. More...
|
|
BlockJacobiClass< ParallelMatrixType, ParallelVectorType, LocalMatrixType, LocalVectorType, DataType > & | operator= (const BlockJacobiClass< ParallelMatrixType, ParallelVectorType, LocalMatrixType, LocalVectorType, DataType > &solver) |
| The = operator of BlockJacobiClass. Note that this is not the true copy. We only copy the pointer to the local preconditioner. More...
|
|
BlockJacobiClass< ParallelMatrixType, ParallelVectorType, LocalMatrixType, LocalVectorType, DataType > & | operator= (BlockJacobiClass< ParallelMatrixType, ParallelVectorType, LocalMatrixType, LocalVectorType, DataType > &&solver) |
| The = operator of BlockJacobiClass. More...
|
|
virtual int | Setup (ParallelVectorType &x, ParallelVectorType &rhs) |
| Setup the precondioner phase. Will be called by the solver if not called directly. More...
|
|
virtual int | Solve (ParallelVectorType &x, ParallelVectorType &rhs) |
| Solve phase. Call this function after Setup. Solve with cusparse if unified memory/device memory is used. More...
|
|
virtual long int | GetNumNonzeros () |
| Get the total number of nonzeros. More...
|
|
int | SetLocalPreconditioner (SolverClass< LocalMatrixType, LocalVectorType, DataType > &local_precond) |
| Set the local preconditioenr. More...
|
|
int | SetLocalPreconditionerP (SolverClass< LocalMatrixType, LocalVectorType, DataType > *local_precond) |
| Set the local preconditioenr. More...
|
|
SolverClass< LocalMatrixType, LocalVectorType, DataType > * | GetLocalPreconditionerP () |
| Get the local preconditioenr. More...
|
|
int | SetOwnLocalPreconditioner (bool own_local_preconditioner) |
| Set the own preconditioenr. If set to true, the preconditioner will be freed when destrooy. More...
|
|
virtual int | SetSolveLocation (const int &location) |
| Set the data location that the preconditioner apply to. More...
|
|
virtual int | MoveData (const int &location) |
| Move the preconditioner to another location. Only can be called after Setup. More...
|
|
| SolverClass () |
| The constructor of solver class. More...
|
|
| SolverClass (const SolverClass< ParallelMatrixType, ParallelVectorType, DataType > &solver) |
| The copy constructor of solver class. More...
|
|
| SolverClass (SolverClass< ParallelMatrixType, ParallelVectorType, DataType > &&solver) |
| The move constructor of solver class. More...
|
|
SolverClass< ParallelMatrixType, ParallelVectorType, DataType > & | operator= (const SolverClass< ParallelMatrixType, ParallelVectorType, DataType > &solver) |
| The = operator of solver class. More...
|
|
SolverClass< ParallelMatrixType, ParallelVectorType, DataType > & | operator= (SolverClass< ParallelMatrixType, ParallelVectorType, DataType > &&solver) |
| The = operator of solver class. More...
|
|
virtual | ~SolverClass () |
| The destructor of solver class. More...
|
|
virtual int | Solve (DenseMatrixClass< DataType > &x, DenseMatrixClass< DataType > &rhs) |
| Solve phase with multiple right-hand-sides. Call this function after Setup. More...
|
|
ParallelMatrixType * | GetMatrix () |
| Get pointer to the matrix. More...
|
|
SolverClass< ParallelMatrixType, ParallelVectorType, DataType > * | GetPreconditioner () |
| Get pointer to the preconditioner. More...
|
|
virtual int | SetWithParameterArray (double *params) |
| Setup with parameter array. More...
|
|
int | SetMatrix (ParallelMatrixType &matrix) |
| Set the target matrix for the current solver. More...
|
|
int | SetMatrixP (ParallelMatrixType *matrix) |
| Set the target matrix for the current solver. More...
|
|
int | SetPreconditioner (SolverClass< ParallelMatrixType, ParallelVectorType, DataType > &precond) |
| Set the preconditioner for the current solver. More...
|
|
int | SetPreconditionerP (SolverClass< ParallelMatrixType, ParallelVectorType, DataType > *precond) |
| Set the preconditioner for the current solver. More...
|
|
bool | IsReady () const |
| Check if the solver is ready to be used. More...
|
|
int | SetOwnMatrix (bool own_matrix) |
| Set if the matrix is owned by this solver, if so, matrix is freed when free the solver. More...
|
|
int | SetOwnPreconditioner (bool own_preconditioner) |
| Set if the preconditioner is owned by this solver, if so, preconditioner is freed when free the solver. More...
|
|
int | SetPrintOption (int print_option) |
| Set the print option. More...
|
|
PrecisionEnum | GerPrecision () const |
| Get the precision. More...
|
|
SolverTypeEnum | GetSolverType () const |
| Get the solver type. More...
|
|
template<class ParallelMatrixType, class ParallelVectorType, class LocalMatrixType, class LocalVectorType, typename DataType>
class pargemslr::BlockJacobiClass< ParallelMatrixType, ParallelVectorType, LocalMatrixType, LocalVectorType, DataType >
Block Jacobi preconditioner, only for parallel csr matrix.