1 #ifndef PARALUTION_LOCAL_STENCIL_HPP_
2 #define PARALUTION_LOCAL_STENCIL_HPP_
11 template <
typename ValueType>
13 template <
typename ValueType>
17 template <
typename ValueType>
26 virtual void info()
const;
31 virtual int get_nnz(
void)
const;
33 virtual void SetGrid(
const int size);
46 virtual bool is_host(
void)
const {
return true;};
47 virtual bool is_accel(
void)
const {
return false;};
67 #endif // PARALUTION_LOCAL_STENCIL_HPP_
virtual int get_nnz(void) const
Return the number of non-zeros in the matrix/stencil.
Definition: local_stencil.cpp:59
virtual void info() const
Print the object information (properties, backends)
Definition: local_stencil.cpp:78
Definition: base_stencil.hpp:16
const IndexType const IndexType const IndexType const ValueType const ValueType scalar
Definition: cuda_kernels_coo.hpp:91
virtual ~LocalStencil()
Definition: local_stencil.cpp:28
virtual bool is_host(void) const
Return true if the object is on the host.
Definition: local_stencil.hpp:46
Base class for all host/accelerator stencils.
Definition: base_stencil.hpp:37
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...
Definition: local_stencil.cpp:125
BaseStencil< ValueType > * stencil_
Definition: local_stencil.hpp:53
virtual int get_ndim(void) const
Definition: local_stencil.cpp:53
virtual bool is_accel(void) const
Return true if the object is on the accelerator.
Definition: local_stencil.hpp:47
virtual void SetGrid(const int size)
Definition: local_stencil.cpp:97
virtual int get_nrow(void) const
Return the number of rows in the matrix/stencil.
Definition: local_stencil.cpp:65
Definition: local_stencil.hpp:14
LocalStencil()
Definition: local_stencil.cpp:14
Operator class defines the generic interface for applying an operator (e.g. matrix, stencil) from/to global and local vectors.
Definition: operator.hpp:19
Definition: backend_manager.cpp:43
Definition: local_stencil.hpp:18
virtual void Clear()
Clear (free all data) the object.
Definition: local_stencil.cpp:85
virtual void MoveToAccelerator(void)
Move the object to the Accelerator backend.
Definition: local_stencil.cpp:142
Definition: base_stencil.hpp:10
virtual int get_ncol(void) const
Return the number of columns in the matrix/stencil.
Definition: local_stencil.cpp:71
AcceleratorStencil< ValueType > * stencil_accel_
Definition: local_stencil.hpp:56
virtual void Apply(const LocalVector< ValueType > &in, LocalVector< ValueType > *out) const
Apply the operator, out = Operator(in), where in, out are local vectors.
Definition: local_stencil.cpp:109
virtual void MoveToHost(void)
Move the object to the Host backend.
Definition: local_stencil.cpp:150
std::string object_name_
Definition: local_stencil.hpp:47
Definition: host_vector.hpp:13
HostStencil< ValueType > * stencil_host_
Definition: local_stencil.hpp:55