1 #ifndef PARALUTION_PRECONDITIONER_AS_HPP_
2 #define PARALUTION_PRECONDITIONER_AS_HPP_
9 template <
class OperatorType,
class VectorType,
typename ValueType>
17 virtual void Print(
void)
const;
18 virtual void Set(
const int nb,
const int overlap,
21 virtual void Solve(
const VectorType &rhs,
25 virtual void Build(
void);
26 virtual void Clear(
void);
48 template <
class OperatorType,
class VectorType,
typename ValueType>
49 class RAS :
public AS<OperatorType, VectorType, ValueType> {
56 virtual void Print(
void)
const;
58 virtual void Solve(
const VectorType &rhs,
66 #endif // PARALUTION_PRECONDITIONER_AS_HPP_
int overlap_
Definition: preconditioner_as.hpp:34
virtual void Solve(const VectorType &rhs, VectorType *x)
Solve Operator x = rhs.
Definition: preconditioner_as.cpp:215
int * sizes_
Definition: preconditioner_as.hpp:36
VectorType weight_
Definition: preconditioner_as.hpp:43
virtual void MoveToHostLocalData_(void)
Move all local data to the host.
Definition: preconditioner_as.cpp:258
virtual ~RAS()
Definition: preconditioner_as.cpp:308
virtual void Print(void) const
Print information about the solver.
Definition: preconditioner_as.cpp:316
VectorType ** z_
Definition: preconditioner_as.hpp:42
OperatorType ** local_mat_
Definition: preconditioner_as.hpp:40
virtual void MoveToAcceleratorLocalData_(void)
Move all local data to the accelerator.
Definition: preconditioner_as.cpp:279
VectorType ** r_
Definition: preconditioner_as.hpp:41
int num_blocks_
Definition: preconditioner_as.hpp:33
Solver< OperatorType, VectorType, ValueType > ** local_precond_
Definition: preconditioner_as.hpp:38
AS preconditioner.
Definition: preconditioner_as.hpp:49
Base preconditioner class.
Definition: preconditioner.hpp:10
virtual void Print(void) const
Print information about the solver.
Definition: preconditioner_as.cpp:41
AS preconditioner.
Definition: preconditioner_as.hpp:10
virtual void Solve(const VectorType &rhs, VectorType *x)
Solve Operator x = rhs.
Definition: preconditioner_as.cpp:334
virtual ~AS()
Definition: preconditioner_as.cpp:31
Definition: backend_manager.cpp:43
RAS()
Definition: preconditioner_as.cpp:300
const IndexType const IndexType const IndexType const ValueType const ValueType const ValueType * x
Definition: cuda_kernels_coo.hpp:91
virtual void Clear(void)
Clear (free all local data) the solver.
Definition: preconditioner_as.cpp:166
The base class for all solvers and preconditioners.
Definition: solver.hpp:12
virtual void Build(void)
Build the solver (data allocation, structure computation, numerical computation)
Definition: preconditioner_as.cpp:84
AS()
Definition: preconditioner_as.cpp:16
int * pos_
Definition: preconditioner_as.hpp:35
virtual void Set(const int nb, const int overlap, Solver< OperatorType, VectorType, ValueType > **preconds)
Definition: preconditioner_as.cpp:58