![]() |
PARALUTION
1.0.0
PARALUTION
|
Base preconditioner class. More...
#include <preconditioner.hpp>
Public Member Functions | |
Preconditioner () | |
virtual | ~Preconditioner () |
virtual void | SolveZeroSol (const VectorType &rhs, VectorType *x) |
Solve Operator x = rhs; but set first the init x = 0. More... | |
void | SetOperator (const OperatorType &op) |
Set the Operator of the solver. More... | |
virtual void | ResetOperator (const OperatorType &op) |
Reset the operator; see ReBuildNumeric. More... | |
virtual void | Print (void) const =0 |
Print information about the solver. More... | |
virtual void | Solve (const VectorType &rhs, VectorType *x)=0 |
Solve Operator x = rhs. More... | |
virtual void | Clear (void) |
Clear (free all local data) the solver. More... | |
virtual void | Build (void) |
Build the solver (data allocation, structure computation, numerical computation) More... | |
virtual void | ReBuildNumeric (void) |
Rebuild only with numerical computation (no allocation or data structure computation) More... | |
virtual void | MoveToHost (void) |
Move all the data (i.e. move the solver) to the host. More... | |
virtual void | MoveToAccelerator (void) |
Move all the data (i.e. move the solver) to the accelerator. More... | |
virtual void | Verbose (const int verb=1) |
Provide verbose output of the solver: verb == 0 no output verb == 1 print info about the solver (start,end); verb == 2 print (iter, residual) via iteration control;. More... | |
Protected Member Functions | |
virtual void | PrintStart_ (void) const |
Print starting msg of the solver. More... | |
virtual void | PrintEnd_ (void) const |
Print ending msg of the solver. More... | |
virtual void | MoveToHostLocalData_ (void)=0 |
Move all local data to the host. More... | |
virtual void | MoveToAcceleratorLocalData_ (void)=0 |
Move all local data to the accelerator. More... | |
Protected Attributes | |
const OperatorType * | op_ |
Pointer to the operator. More... | |
Solver< OperatorType, VectorType, ValueType > * | precond_ |
Pointer to the defined preconditioner. More... | |
bool | build_ |
Flag == true after building the solver (e.g. Build()) More... | |
LocalVector< int > | permutation_ |
Permutation vector (used if the solver performs permutation/re-ordering techniques) More... | |
int | verb_ |
Verbose flag verb == 0 no output verb == 1 print info about the solver (start,end); verb == 2 print (iter, residual) via iteration control;. More... | |
size_t | global_obj_id |
Base preconditioner class.
paralution::Preconditioner< OperatorType, VectorType, ValueType >::Preconditioner | ( | ) |
|
virtual |
|
virtualinherited |
Build the solver (data allocation, structure computation, numerical computation)
Reimplemented in paralution::IC< OperatorType, VectorType, ValueType >, paralution::FixedPoint< OperatorType, VectorType, ValueType >, paralution::ILUT< OperatorType, VectorType, ValueType >, paralution::ILU< OperatorType, VectorType, ValueType >, paralution::TNS< OperatorType, VectorType, ValueType >, paralution::SGS< OperatorType, VectorType, ValueType >, paralution::SPAI< OperatorType, VectorType, ValueType >, paralution::GS< OperatorType, VectorType, ValueType >, paralution::BaseMultiGrid< OperatorType, VectorType, ValueType >, paralution::FSAI< OperatorType, VectorType, ValueType >, paralution::FSAI< paralution::LocalMatrix< ValueTypeL >, paralution::LocalVector< ValueTypeL >, ValueTypeL >, paralution::FSAI< paralution::LocalMatrix< ValueTypeH >, paralution::LocalVector< ValueTypeH >, ValueTypeH >, paralution::SIRA< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::CG_HN< OperatorType, VectorType, ValueType >, paralution::CG_HN< OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::CG_HN< OperatorTypeH, VectorTypeH, ValueTypeH >, paralution::DPCG< OperatorType, VectorType, ValueType >, paralution::MultiElimination< OperatorType, VectorType, ValueType >, paralution::Jacobi< OperatorType, VectorType, ValueType >, paralution::BlockPreconditioner< OperatorType, VectorType, ValueType >, paralution::DiagJacobiSaddlePointPrecond< OperatorType, VectorType, ValueType >, paralution::AIChebyshev< OperatorType, VectorType, ValueType >, paralution::AS< OperatorType, VectorType, ValueType >, paralution::IDR< OperatorType, VectorType, ValueType >, paralution::Chebyshev< OperatorType, VectorType, ValueType >, paralution::MultiColored< OperatorType, VectorType, ValueType >, paralution::MixedPrecisionDC< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::BiCGStab< OperatorType, VectorType, ValueType >, paralution::CG< OperatorType, VectorType, ValueType >, paralution::CR< OperatorType, VectorType, ValueType >, paralution::FGMRES< OperatorType, VectorType, ValueType >, paralution::GMRES< OperatorType, VectorType, ValueType >, paralution::CG< OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::CG< OperatorTypeH, VectorTypeH, ValueTypeH >, paralution::BaseAMG< OperatorType, VectorType, ValueType >, paralution::Inversion< OperatorType, VectorType, ValueType >, paralution::LU< OperatorType, VectorType, ValueType >, and paralution::QR< OperatorType, VectorType, ValueType >.
Referenced by paralution_fortran_solve().
|
virtualinherited |
Clear (free all local data) the solver.
Implements paralution::ParalutionObj.
Reimplemented in paralution::IC< OperatorType, VectorType, ValueType >, paralution::FixedPoint< OperatorType, VectorType, ValueType >, paralution::ILUT< OperatorType, VectorType, ValueType >, paralution::ILU< OperatorType, VectorType, ValueType >, paralution::TNS< OperatorType, VectorType, ValueType >, paralution::SIRA< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::SGS< OperatorType, VectorType, ValueType >, paralution::SPAI< OperatorType, VectorType, ValueType >, paralution::SIRA< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::GS< OperatorType, VectorType, ValueType >, paralution::BaseMultiGrid< OperatorType, VectorType, ValueType >, paralution::FSAI< OperatorType, VectorType, ValueType >, paralution::FSAI< paralution::LocalMatrix< ValueTypeL >, paralution::LocalVector< ValueTypeL >, ValueTypeL >, paralution::FSAI< paralution::LocalMatrix< ValueTypeH >, paralution::LocalVector< ValueTypeH >, ValueTypeH >, paralution::SIRA< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::CG_HN< OperatorType, VectorType, ValueType >, paralution::CG_HN< OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::CG_HN< OperatorTypeH, VectorTypeH, ValueTypeH >, paralution::DPCG< OperatorType, VectorType, ValueType >, paralution::Jacobi< OperatorType, VectorType, ValueType >, paralution::MultiElimination< OperatorType, VectorType, ValueType >, paralution::AIChebyshev< OperatorType, VectorType, ValueType >, paralution::AS< OperatorType, VectorType, ValueType >, paralution::IDR< OperatorType, VectorType, ValueType >, paralution::Chebyshev< OperatorType, VectorType, ValueType >, paralution::MixedPrecisionDC< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::BiCGStab< OperatorType, VectorType, ValueType >, paralution::CG< OperatorType, VectorType, ValueType >, paralution::CR< OperatorType, VectorType, ValueType >, paralution::FGMRES< OperatorType, VectorType, ValueType >, paralution::GMRES< OperatorType, VectorType, ValueType >, paralution::BlockPreconditioner< OperatorType, VectorType, ValueType >, paralution::DiagJacobiSaddlePointPrecond< OperatorType, VectorType, ValueType >, paralution::CG< OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::CG< OperatorTypeH, VectorTypeH, ValueTypeH >, paralution::BaseAMG< OperatorType, VectorType, ValueType >, paralution::MultiColored< OperatorType, VectorType, ValueType >, paralution::Inversion< OperatorType, VectorType, ValueType >, paralution::LU< OperatorType, VectorType, ValueType >, and paralution::QR< OperatorType, VectorType, ValueType >.
Referenced by paralution_fortran_solve().
|
virtualinherited |
Move all the data (i.e. move the solver) to the accelerator.
Referenced by main(), mexFunction(), and paralution_fortran_solve().
|
protectedpure virtualinherited |
Move all local data to the accelerator.
Implemented in paralution::FixedPoint< OperatorType, VectorType, ValueType >, paralution::IC< OperatorType, VectorType, ValueType >, paralution::ILUT< OperatorType, VectorType, ValueType >, paralution::ILU< OperatorType, VectorType, ValueType >, paralution::TNS< OperatorType, VectorType, ValueType >, paralution::SIRA< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::SGS< OperatorType, VectorType, ValueType >, paralution::SPAI< OperatorType, VectorType, ValueType >, paralution::BaseMultiGrid< OperatorType, VectorType, ValueType >, paralution::MultiColored< OperatorType, VectorType, ValueType >, paralution::MultiElimination< OperatorType, VectorType, ValueType >, paralution::GS< OperatorType, VectorType, ValueType >, paralution::FSAI< OperatorType, VectorType, ValueType >, paralution::FSAI< paralution::LocalMatrix< ValueTypeL >, paralution::LocalVector< ValueTypeL >, ValueTypeL >, paralution::FSAI< paralution::LocalMatrix< ValueTypeH >, paralution::LocalVector< ValueTypeH >, ValueTypeH >, paralution::DiagJacobiSaddlePointPrecond< OperatorType, VectorType, ValueType >, paralution::DPCG< OperatorType, VectorType, ValueType >, paralution::BlockPreconditioner< OperatorType, VectorType, ValueType >, paralution::CG_HN< OperatorType, VectorType, ValueType >, paralution::CG_HN< OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::CG_HN< OperatorTypeH, VectorTypeH, ValueTypeH >, paralution::Jacobi< OperatorType, VectorType, ValueType >, paralution::IDR< OperatorType, VectorType, ValueType >, paralution::FGMRES< OperatorType, VectorType, ValueType >, paralution::GMRES< OperatorType, VectorType, ValueType >, paralution::Chebyshev< OperatorType, VectorType, ValueType >, paralution::MixedPrecisionDC< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::BiCGStab< OperatorType, VectorType, ValueType >, paralution::CG< OperatorType, VectorType, ValueType >, paralution::CR< OperatorType, VectorType, ValueType >, paralution::CG< OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::CG< OperatorTypeH, VectorTypeH, ValueTypeH >, paralution::AIChebyshev< OperatorType, VectorType, ValueType >, paralution::AS< OperatorType, VectorType, ValueType >, paralution::Inversion< OperatorType, VectorType, ValueType >, paralution::LU< OperatorType, VectorType, ValueType >, and paralution::QR< OperatorType, VectorType, ValueType >.
|
virtualinherited |
Move all the data (i.e. move the solver) to the host.
|
protectedpure virtualinherited |
Move all local data to the host.
Implemented in paralution::FixedPoint< OperatorType, VectorType, ValueType >, paralution::IC< OperatorType, VectorType, ValueType >, paralution::ILUT< OperatorType, VectorType, ValueType >, paralution::ILU< OperatorType, VectorType, ValueType >, paralution::TNS< OperatorType, VectorType, ValueType >, paralution::SIRA< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::SGS< OperatorType, VectorType, ValueType >, paralution::SPAI< OperatorType, VectorType, ValueType >, paralution::BaseMultiGrid< OperatorType, VectorType, ValueType >, paralution::MultiColored< OperatorType, VectorType, ValueType >, paralution::MultiElimination< OperatorType, VectorType, ValueType >, paralution::GS< OperatorType, VectorType, ValueType >, paralution::FSAI< OperatorType, VectorType, ValueType >, paralution::FSAI< paralution::LocalMatrix< ValueTypeL >, paralution::LocalVector< ValueTypeL >, ValueTypeL >, paralution::FSAI< paralution::LocalMatrix< ValueTypeH >, paralution::LocalVector< ValueTypeH >, ValueTypeH >, paralution::DiagJacobiSaddlePointPrecond< OperatorType, VectorType, ValueType >, paralution::DPCG< OperatorType, VectorType, ValueType >, paralution::BlockPreconditioner< OperatorType, VectorType, ValueType >, paralution::CG_HN< OperatorType, VectorType, ValueType >, paralution::CG_HN< OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::CG_HN< OperatorTypeH, VectorTypeH, ValueTypeH >, paralution::Jacobi< OperatorType, VectorType, ValueType >, paralution::IDR< OperatorType, VectorType, ValueType >, paralution::FGMRES< OperatorType, VectorType, ValueType >, paralution::GMRES< OperatorType, VectorType, ValueType >, paralution::Chebyshev< OperatorType, VectorType, ValueType >, paralution::MixedPrecisionDC< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::BiCGStab< OperatorType, VectorType, ValueType >, paralution::CG< OperatorType, VectorType, ValueType >, paralution::CR< OperatorType, VectorType, ValueType >, paralution::CG< OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::CG< OperatorTypeH, VectorTypeH, ValueTypeH >, paralution::AIChebyshev< OperatorType, VectorType, ValueType >, paralution::AS< OperatorType, VectorType, ValueType >, paralution::Inversion< OperatorType, VectorType, ValueType >, paralution::LU< OperatorType, VectorType, ValueType >, and paralution::QR< OperatorType, VectorType, ValueType >.
|
pure virtualinherited |
Print information about the solver.
Implemented in paralution::IC< OperatorType, VectorType, ValueType >, paralution::FixedPoint< OperatorType, VectorType, ValueType >, paralution::ILUT< OperatorType, VectorType, ValueType >, paralution::TNS< OperatorType, VectorType, ValueType >, paralution::ILU< OperatorType, VectorType, ValueType >, paralution::SGS< OperatorType, VectorType, ValueType >, paralution::SPAI< OperatorType, VectorType, ValueType >, paralution::GS< OperatorType, VectorType, ValueType >, paralution::RAS< OperatorType, VectorType, ValueType >, paralution::FSAI< OperatorType, VectorType, ValueType >, paralution::FSAI< paralution::LocalMatrix< ValueTypeL >, paralution::LocalVector< ValueTypeL >, ValueTypeL >, paralution::FSAI< paralution::LocalMatrix< ValueTypeH >, paralution::LocalVector< ValueTypeH >, ValueTypeH >, paralution::MultiColoredGS< OperatorType, VectorType, ValueType >, paralution::SIRA< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::CG_HN< OperatorType, VectorType, ValueType >, paralution::CG_HN< OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::CG_HN< OperatorTypeH, VectorTypeH, ValueTypeH >, paralution::DPCG< OperatorType, VectorType, ValueType >, paralution::Jacobi< OperatorType, VectorType, ValueType >, paralution::MultiElimination< OperatorType, VectorType, ValueType >, paralution::AMG< OperatorType, VectorType, ValueType >, paralution::BaseMultiGrid< OperatorType, VectorType, ValueType >, paralution::MultiColoredILU< OperatorType, VectorType, ValueType >, paralution::IDR< OperatorType, VectorType, ValueType >, paralution::AIChebyshev< OperatorType, VectorType, ValueType >, paralution::MultiColoredSGS< OperatorType, VectorType, ValueType >, paralution::BlockPreconditioner< OperatorType, VectorType, ValueType >, paralution::DiagJacobiSaddlePointPrecond< OperatorType, VectorType, ValueType >, paralution::Chebyshev< OperatorType, VectorType, ValueType >, paralution::BiCGStab< OperatorType, VectorType, ValueType >, paralution::CG< OperatorType, VectorType, ValueType >, paralution::CR< OperatorType, VectorType, ValueType >, paralution::FGMRES< OperatorType, VectorType, ValueType >, paralution::GMRES< OperatorType, VectorType, ValueType >, paralution::CG< OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::CG< OperatorTypeH, VectorTypeH, ValueTypeH >, paralution::MixedPrecisionDC< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::AS< OperatorType, VectorType, ValueType >, paralution::Inversion< OperatorType, VectorType, ValueType >, paralution::LU< OperatorType, VectorType, ValueType >, and paralution::QR< OperatorType, VectorType, ValueType >.
|
protectedvirtual |
Print ending msg of the solver.
Implements paralution::Solver< OperatorType, VectorType, ValueType >.
|
protectedvirtual |
Print starting msg of the solver.
Implements paralution::Solver< OperatorType, VectorType, ValueType >.
|
virtualinherited |
Rebuild only with numerical computation (no allocation or data structure computation)
Reimplemented in paralution::FixedPoint< OperatorType, VectorType, ValueType >, paralution::MultiColoredILU< OperatorType, VectorType, ValueType >, and paralution::MultiColoredSGS< OperatorType, VectorType, ValueType >.
|
virtualinherited |
Reset the operator; see ReBuildNumeric.
Reimplemented in paralution::SGS< OperatorType, VectorType, ValueType >, paralution::GS< OperatorType, VectorType, ValueType >, and paralution::Jacobi< OperatorType, VectorType, ValueType >.
Referenced by main().
|
inherited |
Set the Operator of the solver.
Referenced by paralution::BaseAMG< OperatorType, VectorType, ValueType >::Build(), paralution::MultiElimination< OperatorType, VectorType, ValueType >::Build(), paralution::MultiColored< OperatorType, VectorType, ValueType >::Decompose_(), main(), mexFunction(), paralution_fortran_solve(), and paralution_solve().
|
pure virtualinherited |
Solve Operator x = rhs.
Implemented in paralution::DirectLinearSolver< OperatorType, VectorType, ValueType >, paralution::IC< OperatorType, VectorType, ValueType >, paralution::ILUT< OperatorType, VectorType, ValueType >, paralution::IterativeLinearSolver< OperatorType, VectorType, ValueType >, paralution::IterativeLinearSolver< OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::IterativeLinearSolver< OperatorTypeH, VectorTypeH, ValueTypeH >, paralution::TNS< OperatorType, VectorType, ValueType >, paralution::ILU< OperatorType, VectorType, ValueType >, paralution::SGS< OperatorType, VectorType, ValueType >, paralution::SPAI< OperatorType, VectorType, ValueType >, paralution::SIRA< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::GS< OperatorType, VectorType, ValueType >, paralution::BaseMultiGrid< OperatorType, VectorType, ValueType >, paralution::RAS< OperatorType, VectorType, ValueType >, paralution::FSAI< OperatorType, VectorType, ValueType >, paralution::FSAI< paralution::LocalMatrix< ValueTypeL >, paralution::LocalVector< ValueTypeL >, ValueTypeL >, paralution::FSAI< paralution::LocalMatrix< ValueTypeH >, paralution::LocalVector< ValueTypeH >, ValueTypeH >, paralution::MultiElimination< OperatorType, VectorType, ValueType >, paralution::Jacobi< OperatorType, VectorType, ValueType >, paralution::BlockPreconditioner< OperatorType, VectorType, ValueType >, paralution::MultiColored< OperatorType, VectorType, ValueType >, paralution::DiagJacobiSaddlePointPrecond< OperatorType, VectorType, ValueType >, paralution::AIChebyshev< OperatorType, VectorType, ValueType >, and paralution::AS< OperatorType, VectorType, ValueType >.
|
virtual |
Solve Operator x = rhs; but set first the init x = 0.
Reimplemented from paralution::Solver< OperatorType, VectorType, ValueType >.
|
virtualinherited |
Provide verbose output of the solver: verb == 0 no output verb == 1 print info about the solver (start,end); verb == 2 print (iter, residual) via iteration control;.
Reimplemented in paralution::DirectLinearSolver< OperatorType, VectorType, ValueType >, paralution::IterativeLinearSolver< OperatorType, VectorType, ValueType >, paralution::IterativeLinearSolver< OperatorTypeL, VectorTypeL, ValueTypeL >, paralution::IterativeLinearSolver< OperatorTypeH, VectorTypeH, ValueTypeH >, and paralution::SIRA< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >.
|
protectedinherited |
Flag == true after building the solver (e.g. Build())
|
protectedinherited |
|
protectedinherited |
Pointer to the operator.
|
protectedinherited |
Permutation vector (used if the solver performs permutation/re-ordering techniques)
|
protectedinherited |
Pointer to the defined preconditioner.
|
protectedinherited |
Verbose flag verb == 0 no output verb == 1 print info about the solver (start,end); verb == 2 print (iter, residual) via iteration control;.