![]() |
PARALUTION
1.0.0
PARALUTION
|
Operator class defines the generic interface for applying an operator (e.g. matrix, stencil) from/to global and local vectors. More...
#include <operator.hpp>
Public Member Functions | |
Operator () | |
virtual | ~Operator () |
virtual int | get_nrow (void) const =0 |
Return the number of rows in the matrix/stencil. More... | |
virtual int | get_ncol (void) const =0 |
Return the number of columns in the matrix/stencil. More... | |
virtual int | get_nnz (void) const =0 |
Return the number of non-zeros in the matrix/stencil. More... | |
virtual int | get_local_nrow (void) const |
Return the number of rows in the local matrix/stencil. More... | |
virtual int | get_local_ncol (void) const |
Return the number of columns in the local matrix/stencil. More... | |
virtual int | get_local_nnz (void) const |
Return the number of non-zeros in the local matrix/stencil. More... | |
virtual int | get_ghost_nrow (void) const |
Return the number of rows in the ghost matrix/stencil. More... | |
virtual int | get_ghost_ncol (void) const |
Return the number of columns in the ghost matrix/stencil. More... | |
virtual int | get_ghost_nnz (void) const |
Return the number of non-zeros in the ghost matrix/stencil. More... | |
virtual void | Apply (const LocalVector< ValueType > &in, LocalVector< ValueType > *out) const |
Apply the operator, out = Operator(in), where in, out are local vectors. More... | |
virtual void | ApplyAdd (const LocalVector< ValueType > &in, const ValueType scalar, LocalVector< ValueType > *out) const |
Apply and add the operator, out = out + scalar*Operator(in), where in, out are local vectors. More... | |
virtual void | MoveToAccelerator (void)=0 |
Move the object to the Accelerator backend. More... | |
virtual void | MoveToHost (void)=0 |
Move the object to the Host backend. More... | |
virtual void | MoveToAcceleratorAsync (void) |
Move the object to the Accelerator backend with async move. More... | |
virtual void | MoveToHostAsync (void) |
Move the object to the Host backend with async move. More... | |
virtual void | Sync (void) |
void | CloneBackend (const BaseParalution< ValueType > &src) |
Clone the Backend descriptor from another object. More... | |
template<typename ValueType2 > | |
void | CloneBackend (const BaseParalution< ValueType2 > &src) |
Clone the Backend descriptor from another object with different template ValueType. More... | |
virtual void | info () const =0 |
Print the object information (properties, backends) More... | |
virtual void | Clear ()=0 |
Clear (free all data) the object. More... | |
Protected Member Functions | |
virtual bool | is_host (void) const =0 |
Return true if the object is on the host. More... | |
virtual bool | is_accel (void) const =0 |
Return true if the object is on the accelerator. More... | |
Protected Attributes | |
std::string | object_name_ |
Name of the object. More... | |
Paralution_Backend_Descriptor | local_backend_ |
Backend descriptor. More... | |
bool | asyncf |
size_t | global_obj_id |
Operator class defines the generic interface for applying an operator (e.g. matrix, stencil) from/to global and local vectors.
paralution::Operator< ValueType >::Operator | ( | ) |
|
virtual |
|
virtual |
Apply the operator, out = Operator(in), where in, out are local vectors.
Reimplemented in paralution::LocalMatrix< ValueType >, and paralution::LocalStencil< ValueType >.
|
virtual |
Apply and add the operator, out = out + scalar*Operator(in), where in, out are local vectors.
Reimplemented in paralution::LocalMatrix< ValueType >, and paralution::LocalStencil< ValueType >.
|
pure virtualinherited |
Clear (free all data) the object.
Implements paralution::ParalutionObj.
Implemented in paralution::LocalMatrix< ValueType >, paralution::LocalMatrix< ValueTypeL >, paralution::LocalMatrix< ValueTypeH >, paralution::LocalVector< ValueType >, paralution::LocalVector< ValueTypeL >, paralution::LocalVector< int >, paralution::LocalVector< ValueTypeH >, paralution::LocalStencil< ValueType >, and paralution::Vector< ValueType >.
|
inherited |
Clone the Backend descriptor from another object.
Referenced by paralution::AMG< OperatorType, VectorType, ValueType >::Aggregate(), paralution::SIRA< OperatorTypeH, VectorTypeH, ValueTypeH, OperatorTypeL, VectorTypeL, ValueTypeL >::Build_(), paralution::MultiColored< OperatorType, VectorType, ValueType >::Decompose_(), main(), paralution::LocalMatrix< ValueType >::MaximalIndependentSet(), paralution::LocalMatrix< ValueType >::MultiColoring(), and paralution::LocalMatrix< ValueType >::UpdateValuesCSR().
|
inherited |
Clone the Backend descriptor from another object with different template ValueType.
|
virtual |
Return the number of columns in the ghost matrix/stencil.
|
virtual |
Return the number of non-zeros in the ghost matrix/stencil.
|
virtual |
Return the number of rows in the ghost matrix/stencil.
|
virtual |
Return the number of columns in the local matrix/stencil.
|
virtual |
Return the number of non-zeros in the local matrix/stencil.
|
virtual |
Return the number of rows in the local matrix/stencil.
|
pure virtual |
Return the number of columns in the matrix/stencil.
Implemented in paralution::LocalStencil< ValueType >, paralution::LocalMatrix< ValueType >, paralution::LocalMatrix< ValueTypeL >, and paralution::LocalMatrix< ValueTypeH >.
|
pure virtual |
Return the number of non-zeros in the matrix/stencil.
Implemented in paralution::LocalStencil< ValueType >, paralution::LocalMatrix< ValueType >, paralution::LocalMatrix< ValueTypeL >, and paralution::LocalMatrix< ValueTypeH >.
|
pure virtual |
Return the number of rows in the matrix/stencil.
Implemented in paralution::LocalStencil< ValueType >, paralution::LocalMatrix< ValueType >, paralution::LocalMatrix< ValueTypeL >, and paralution::LocalMatrix< ValueTypeH >.
|
pure virtualinherited |
Print the object information (properties, backends)
Implemented in paralution::LocalVector< ValueType >, paralution::LocalVector< ValueTypeL >, paralution::LocalVector< int >, paralution::LocalVector< ValueTypeH >, paralution::LocalStencil< ValueType >, paralution::LocalMatrix< ValueType >, paralution::LocalMatrix< ValueTypeL >, and paralution::LocalMatrix< ValueTypeH >.
|
protectedpure virtualinherited |
Return true if the object is on the accelerator.
Implemented in paralution::LocalMatrix< ValueType >, paralution::LocalMatrix< ValueTypeL >, paralution::LocalMatrix< ValueTypeH >, paralution::LocalVector< ValueType >, paralution::LocalVector< ValueTypeL >, paralution::LocalVector< int >, paralution::LocalVector< ValueTypeH >, and paralution::LocalStencil< ValueType >.
Referenced by paralution::BaseParalution< ValueType >::CloneBackend().
|
protectedpure virtualinherited |
Return true if the object is on the host.
Implemented in paralution::LocalMatrix< ValueType >, paralution::LocalMatrix< ValueTypeL >, paralution::LocalMatrix< ValueTypeH >, paralution::LocalVector< ValueType >, paralution::LocalVector< ValueTypeL >, paralution::LocalVector< int >, paralution::LocalVector< ValueTypeH >, and paralution::LocalStencil< ValueType >.
Referenced by paralution::BaseParalution< ValueType >::CloneBackend().
|
pure virtualinherited |
Move the object to the Accelerator backend.
Implemented in paralution::LocalMatrix< ValueType >, paralution::LocalMatrix< ValueTypeL >, paralution::LocalMatrix< ValueTypeH >, paralution::LocalStencil< ValueType >, paralution::LocalVector< ValueType >, paralution::LocalVector< ValueTypeL >, paralution::LocalVector< int >, and paralution::LocalVector< ValueTypeH >.
|
virtualinherited |
Move the object to the Accelerator backend with async move.
Reimplemented in paralution::LocalMatrix< ValueType >, paralution::LocalMatrix< ValueTypeL >, paralution::LocalMatrix< ValueTypeH >, paralution::LocalVector< ValueType >, paralution::LocalVector< ValueTypeL >, paralution::LocalVector< int >, and paralution::LocalVector< ValueTypeH >.
|
pure virtualinherited |
Move the object to the Host backend.
Implemented in paralution::LocalMatrix< ValueType >, paralution::LocalMatrix< ValueTypeL >, paralution::LocalMatrix< ValueTypeH >, paralution::LocalStencil< ValueType >, paralution::LocalVector< ValueType >, paralution::LocalVector< ValueTypeL >, paralution::LocalVector< int >, and paralution::LocalVector< ValueTypeH >.
|
virtualinherited |
Move the object to the Host backend with async move.
Reimplemented in paralution::LocalMatrix< ValueType >, paralution::LocalMatrix< ValueTypeL >, paralution::LocalMatrix< ValueTypeH >, paralution::LocalVector< ValueType >, paralution::LocalVector< ValueTypeL >, paralution::LocalVector< int >, and paralution::LocalVector< ValueTypeH >.
|
virtualinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
Backend descriptor.
Referenced by paralution::BaseParalution< ValueType >::CloneBackend(), and paralution::LocalMatrix< ValueType >::CloneFrom().
|
protectedinherited |