1 #ifndef PARALUTION_DIRECT_INVERSION_HPP_
2 #define PARALUTION_DIRECT_INVERSION_HPP_
4 #include "../solver.hpp"
8 template <
class OperatorType,
class VectorType,
typename ValueType>
16 virtual void Print(
void)
const;
18 virtual void Build(
void);
19 virtual void Clear(
void);
23 virtual void Solve_(
const VectorType &rhs, VectorType *
x);
40 #endif // PARALUTION_DIRECT_INVERSION_HPP_
Base class for all linear (direct) solvers.
Definition: solver.hpp:229
virtual void Print(void) const
Print information about the solver.
Definition: inversion.cpp:33
Inversion()
Definition: inversion.cpp:15
Definition: inversion.hpp:9
virtual void PrintStart_(void) const
Print starting msg of the solver.
Definition: inversion.cpp:41
OperatorType inverse_
Definition: inversion.hpp:33
virtual void PrintEnd_(void) const
Print ending msg of the solver.
Definition: inversion.cpp:48
Definition: backend_manager.cpp:43
virtual void Build(void)
Build the solver (data allocation, structure computation, numerical computation)
Definition: inversion.cpp:55
const IndexType const IndexType const IndexType const ValueType const ValueType const ValueType * x
Definition: cuda_kernels_coo.hpp:91
virtual void Solve_(const VectorType &rhs, VectorType *x)
Solution procedure.
Definition: inversion.cpp:118
virtual void Clear(void)
Clear (free all local data) the solver.
Definition: inversion.cpp:81
virtual void MoveToHostLocalData_(void)
Move all local data to the host.
Definition: inversion.cpp:96
virtual void MoveToAcceleratorLocalData_(void)
Move all local data to the accelerator.
Definition: inversion.cpp:107
virtual ~Inversion()
Definition: inversion.cpp:23