Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::SimpleCSRMatrix< ValueT > Class Template Reference
Inheritance diagram for Alien::SimpleCSRMatrix< ValueT >:
Collaboration diagram for Alien::SimpleCSRMatrix< ValueT >:

Classes

class  IsLocal

Public Types

typedef BackEnd::tag::simplecsr TagType
typedef ValueT ValueType
typedef SimpleCSRInternal::CSRStructInfo CSRStructInfo
typedef SimpleCSRInternal::CSRStructInfo ProfileType
typedef SimpleCSRInternal::DistStructInfo DistStructInfo
typedef SimpleCSRInternal::MatrixInternal< ValueType > MatrixInternal
typedef ProfileType::IndexType IndexType
typedef Alien::StdTimer TimerType
typedef TimerType::Sentry SentryType
Public Types inherited from Alien::IMatrixImpl
typedef Arccore::Real ValueType
 Type of the values stored in the matrix.

Public Member Functions

 SimpleCSRMatrix ()
 SimpleCSRMatrix (const MultiMatrixImpl *multi_impl)
virtual ~SimpleCSRMatrix ()
void setTraceMng (ITraceMng *trace_mng)
void free ()
void freeData ()
void clear ()
 Wipe out internal data.
void allocate ()
void scal (ValueType const *values)
CSRStructInfo & getCSRProfile ()
const CSRStructInfo & getCSRProfile () const
const CSRStructInfo & getProfile () const
const DistStructInfo & getDistStructInfo () const
SimpleCSRInternal::CommProperty::ePolicyType getSendPolicy () const
SimpleCSRInternal::CommProperty::ePolicyType getRecvPolicy () const
ValueType * getAddressData ()
ValueType * data ()
ValueType const * getAddressData () const
ValueType const * data () const
MatrixInternal * internal ()
MatrixInternal const * internal () const
bool isParallel () const
Integer getLocalSize () const
Integer getLocalOffset () const
Integer getGlobalSize () const
Integer getGhostSize () const
Integer getAllocSize () const
Integer blockSize () const
void setBlockSize (Integer block_size)
IMessagePassingMng * getParallelMng ()
void sequentialStart ()
void parallelStart (ConstArrayView< Integer > offset, IMessagePassingMng *parallel_mng, bool need_sort_ghost_col=false)
void sortGhostCols (ConstArrayView< Integer > offset)
virtual SimpleCSRMatrixcloneTo (const MultiMatrixImpl *multi) const
void copy (SimpleCSRMatrix const &matrix)
void copyProfile (SimpleCSRMatrix const &matrix)
void notifyChanges ()
void endUpdate ()
TimerType & timer () const
Public Member Functions inherited from Alien::IMatrixImpl
 IMatrixImpl (const MultiMatrixImpl *multi_impl, BackEndId backend="")
 Constructor.
virtual ~IMatrixImpl () override=default
 Free resources.
 IMatrixImpl (const IMatrixImpl &src)=delete
 IMatrixImpl (IMatrixImpl &&src)=delete
IMatrixImploperator= (const IMatrixImpl &src)=delete
IMatrixImploperator= (IMatrixImpl &&src)=delete
virtual const ISpacerowSpace () const
 Get the row space associated to the matrix \ returns The row space.
virtual const ISpacecolSpace () const
 Get the row space associated to the matrix \ returns The row space.
virtual const MatrixDistributiondistribution () const
 Get the distribution of the matrix.
virtual BackEndId backend () const
virtual const Blockblock () const
 Get block datas of the matrix.
virtual const VBlockvblock () const
 Get block datas of the matrix.
virtual const VBlockrowBlock () const
 Get row block datas of the matrix.
virtual const VBlockcolBlock () const
 Get col block datas of the matrix.
const MultiMatrixImplimpls () const
Public Member Functions inherited from Alien::Timestamp
 Timestamp (const TimestampMng *manager)
virtual ~Timestamp ()
 Destructeur de la classe.
virtual Int64 timestamp () const
 Donne la valeur courante du timestamp.
void updateTimestamp ()
 Met à jour le timestamp.
void copyTimestamp (const Timestamp &v)
 Copy un autre timestamp.
void setTimestamp (const TimestampMng *manager, const Int64 timestamp)
Public Member Functions inherited from Alien::ObjectWithTrace
template<typename T>
void alien_info (T &&t) const
template<typename T>
void alien_debug (T &&t) const
template<typename T>
void alien_warning (T &&t) const
template<typename T>
void alien_fatal (T &&t) const
ITraceMng * traceMng () const

Static Public Attributes

static const bool on_host_only = true

Private Attributes

MatrixInternal m_matrix
bool m_is_parallel = 0
Integer m_local_size = 0
Integer m_local_offset = 0
Integer m_global_size = 0
Integer m_ghost_size = 0
DistStructInfo m_matrix_dist_info
SimpleCSRInternal::CommProperty::ePolicyType m_send_policy
SimpleCSRInternal::CommProperty::ePolicyType m_recv_policy
IMessagePassingMng * m_parallel_mng = nullptr
Integer m_own_block_size = 1
Integer m_nproc = 1
Integer m_myrank = 0
ITraceMng * m_trace = nullptr
TimerType m_timer

Friends

class SimpleCSRInternal::SimpleCSRMatrixMultT< ValueType >

Additional Inherited Members

Protected Member Functions inherited from Alien::ObjectWithTrace
TraceMessage cout () const
Protected Attributes inherited from Alien::IMatrixImpl
const MultiMatrixImplm_multi_impl
 Pointer on matrices implementation.
BackEndId m_backend
 Backend id.

Detailed Description

template<typename ValueT>
class Alien::SimpleCSRMatrix< ValueT >

Definition at line 42 of file SimpleCSRMatrix.h.

Member Typedef Documentation

◆ CSRStructInfo

template<typename ValueT>
typedef SimpleCSRInternal::CSRStructInfo Alien::SimpleCSRMatrix< ValueT >::CSRStructInfo

Definition at line 49 of file SimpleCSRMatrix.h.

◆ DistStructInfo

template<typename ValueT>
typedef SimpleCSRInternal::DistStructInfo Alien::SimpleCSRMatrix< ValueT >::DistStructInfo

Definition at line 51 of file SimpleCSRMatrix.h.

◆ IndexType

template<typename ValueT>
typedef ProfileType::IndexType Alien::SimpleCSRMatrix< ValueT >::IndexType

Definition at line 53 of file SimpleCSRMatrix.h.

◆ MatrixInternal

template<typename ValueT>
typedef SimpleCSRInternal::MatrixInternal<ValueType> Alien::SimpleCSRMatrix< ValueT >::MatrixInternal

Definition at line 52 of file SimpleCSRMatrix.h.

◆ ProfileType

template<typename ValueT>
typedef SimpleCSRInternal::CSRStructInfo Alien::SimpleCSRMatrix< ValueT >::ProfileType

Definition at line 50 of file SimpleCSRMatrix.h.

◆ SentryType

template<typename ValueT>
typedef TimerType::Sentry Alien::SimpleCSRMatrix< ValueT >::SentryType

Definition at line 55 of file SimpleCSRMatrix.h.

◆ TagType

template<typename ValueT>
typedef BackEnd::tag::simplecsr Alien::SimpleCSRMatrix< ValueT >::TagType

Definition at line 47 of file SimpleCSRMatrix.h.

◆ TimerType

template<typename ValueT>
typedef Alien::StdTimer Alien::SimpleCSRMatrix< ValueT >::TimerType

Definition at line 54 of file SimpleCSRMatrix.h.

◆ ValueType

template<typename ValueT>
typedef ValueT Alien::SimpleCSRMatrix< ValueT >::ValueType

Definition at line 48 of file SimpleCSRMatrix.h.

Constructor & Destructor Documentation

◆ SimpleCSRMatrix() [1/2]

template<typename ValueT>
Alien::SimpleCSRMatrix< ValueT >::SimpleCSRMatrix ( )
inline

Constructeur de la classe

Definition at line 60 of file SimpleCSRMatrix.h.

◆ SimpleCSRMatrix() [2/2]

template<typename ValueT>
Alien::SimpleCSRMatrix< ValueT >::SimpleCSRMatrix ( const MultiMatrixImpl * multi_impl)
inline

Constructeur de la classe

Definition at line 67 of file SimpleCSRMatrix.h.

◆ ~SimpleCSRMatrix()

template<typename ValueT>
virtual Alien::SimpleCSRMatrix< ValueT >::~SimpleCSRMatrix ( )
inlinevirtual

Destructeur de la classe

Definition at line 75 of file SimpleCSRMatrix.h.

Member Function Documentation

◆ allocate()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::allocate ( )
inline

Definition at line 93 of file SimpleCSRMatrix.h.

◆ blockSize()

template<typename ValueT>
Integer Alien::SimpleCSRMatrix< ValueT >::blockSize ( ) const
inline

Definition at line 162 of file SimpleCSRMatrix.h.

◆ clear()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::clear ( )
inlinevirtual

Wipe out internal data.

Reimplemented from Alien::IMatrixImpl.

Definition at line 91 of file SimpleCSRMatrix.h.

◆ cloneTo()

template<typename ValueT>
virtual SimpleCSRMatrix * Alien::SimpleCSRMatrix< ValueT >::cloneTo ( const MultiMatrixImpl * multi) const
inlinevirtual

Definition at line 295 of file SimpleCSRMatrix.h.

◆ copy()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::copy ( SimpleCSRMatrix< ValueT > const & matrix)
inline

Definition at line 315 of file SimpleCSRMatrix.h.

◆ copyProfile()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::copyProfile ( SimpleCSRMatrix< ValueT > const & matrix)
inline

Definition at line 338 of file SimpleCSRMatrix.h.

◆ data() [1/2]

template<typename ValueT>
ValueType * Alien::SimpleCSRMatrix< ValueT >::data ( )
inline

Definition at line 131 of file SimpleCSRMatrix.h.

◆ data() [2/2]

template<typename ValueT>
ValueType const * Alien::SimpleCSRMatrix< ValueT >::data ( ) const
inline

Definition at line 134 of file SimpleCSRMatrix.h.

◆ endUpdate()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::endUpdate ( )
inline

Definition at line 401 of file SimpleCSRMatrix.h.

◆ free()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::free ( )
inline

Definition at line 85 of file SimpleCSRMatrix.h.

◆ freeData()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::freeData ( )
inline

Definition at line 88 of file SimpleCSRMatrix.h.

◆ getAddressData() [1/2]

template<typename ValueT>
ValueType * Alien::SimpleCSRMatrix< ValueT >::getAddressData ( )
inline

Definition at line 130 of file SimpleCSRMatrix.h.

◆ getAddressData() [2/2]

template<typename ValueT>
ValueType const * Alien::SimpleCSRMatrix< ValueT >::getAddressData ( ) const
inline

Definition at line 133 of file SimpleCSRMatrix.h.

◆ getAllocSize()

template<typename ValueT>
Integer Alien::SimpleCSRMatrix< ValueT >::getAllocSize ( ) const
inline

Definition at line 150 of file SimpleCSRMatrix.h.

◆ getCSRProfile() [1/2]

template<typename ValueT>
CSRStructInfo & Alien::SimpleCSRMatrix< ValueT >::getCSRProfile ( )
inline

Definition at line 112 of file SimpleCSRMatrix.h.

◆ getCSRProfile() [2/2]

template<typename ValueT>
const CSRStructInfo & Alien::SimpleCSRMatrix< ValueT >::getCSRProfile ( ) const
inline

Definition at line 114 of file SimpleCSRMatrix.h.

◆ getDistStructInfo()

template<typename ValueT>
const DistStructInfo & Alien::SimpleCSRMatrix< ValueT >::getDistStructInfo ( ) const
inline

Definition at line 118 of file SimpleCSRMatrix.h.

◆ getGhostSize()

template<typename ValueT>
Integer Alien::SimpleCSRMatrix< ValueT >::getGhostSize ( ) const
inline

Definition at line 148 of file SimpleCSRMatrix.h.

◆ getGlobalSize()

template<typename ValueT>
Integer Alien::SimpleCSRMatrix< ValueT >::getGlobalSize ( ) const
inline

Definition at line 146 of file SimpleCSRMatrix.h.

◆ getLocalOffset()

template<typename ValueT>
Integer Alien::SimpleCSRMatrix< ValueT >::getLocalOffset ( ) const
inline

Definition at line 144 of file SimpleCSRMatrix.h.

◆ getLocalSize()

template<typename ValueT>
Integer Alien::SimpleCSRMatrix< ValueT >::getLocalSize ( ) const
inline

Definition at line 142 of file SimpleCSRMatrix.h.

◆ getParallelMng()

template<typename ValueT>
IMessagePassingMng * Alien::SimpleCSRMatrix< ValueT >::getParallelMng ( )
inline

Definition at line 184 of file SimpleCSRMatrix.h.

◆ getProfile()

template<typename ValueT>
const CSRStructInfo & Alien::SimpleCSRMatrix< ValueT >::getProfile ( ) const
inline

Definition at line 116 of file SimpleCSRMatrix.h.

◆ getRecvPolicy()

template<typename ValueT>
SimpleCSRInternal::CommProperty::ePolicyType Alien::SimpleCSRMatrix< ValueT >::getRecvPolicy ( ) const
inline

Definition at line 125 of file SimpleCSRMatrix.h.

◆ getSendPolicy()

template<typename ValueT>
SimpleCSRInternal::CommProperty::ePolicyType Alien::SimpleCSRMatrix< ValueT >::getSendPolicy ( ) const
inline

Definition at line 120 of file SimpleCSRMatrix.h.

◆ internal() [1/2]

template<typename ValueT>
MatrixInternal * Alien::SimpleCSRMatrix< ValueT >::internal ( )
inline

Definition at line 136 of file SimpleCSRMatrix.h.

◆ internal() [2/2]

template<typename ValueT>
MatrixInternal const * Alien::SimpleCSRMatrix< ValueT >::internal ( ) const
inline

Definition at line 138 of file SimpleCSRMatrix.h.

◆ isParallel()

template<typename ValueT>
bool Alien::SimpleCSRMatrix< ValueT >::isParallel ( ) const
inline

Definition at line 140 of file SimpleCSRMatrix.h.

◆ notifyChanges()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::notifyChanges ( )
inline

Definition at line 396 of file SimpleCSRMatrix.h.

◆ parallelStart()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::parallelStart ( ConstArrayView< Integer > offset,
IMessagePassingMng * parallel_mng,
bool need_sort_ghost_col = false )
inline

Definition at line 204 of file SimpleCSRMatrix.h.

◆ scal()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::scal ( ValueType const * values)
inline

Definition at line 107 of file SimpleCSRMatrix.h.

◆ sequentialStart()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::sequentialStart ( )
inline

Definition at line 189 of file SimpleCSRMatrix.h.

◆ setBlockSize()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::setBlockSize ( Integer block_size)
inline

Definition at line 176 of file SimpleCSRMatrix.h.

◆ setTraceMng()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::setTraceMng ( ITraceMng * trace_mng)
inline

Definition at line 82 of file SimpleCSRMatrix.h.

◆ sortGhostCols()

template<typename ValueT>
void Alien::SimpleCSRMatrix< ValueT >::sortGhostCols ( ConstArrayView< Integer > offset)
inline

Definition at line 243 of file SimpleCSRMatrix.h.

◆ timer()

template<typename ValueT>
TimerType & Alien::SimpleCSRMatrix< ValueT >::timer ( ) const
inline

Definition at line 448 of file SimpleCSRMatrix.h.

◆ SimpleCSRInternal::SimpleCSRMatrixMultT< ValueType >

template<typename ValueT>
friend class SimpleCSRInternal::SimpleCSRMatrixMultT< ValueType >
friend

Definition at line 440 of file SimpleCSRMatrix.h.

Member Data Documentation

◆ m_ghost_size

template<typename ValueT>
Integer Alien::SimpleCSRMatrix< ValueT >::m_ghost_size = 0
private

Definition at line 432 of file SimpleCSRMatrix.h.

◆ m_global_size

template<typename ValueT>
Integer Alien::SimpleCSRMatrix< ValueT >::m_global_size = 0
private

Definition at line 431 of file SimpleCSRMatrix.h.

◆ m_is_parallel

template<typename ValueT>
bool Alien::SimpleCSRMatrix< ValueT >::m_is_parallel = 0
private

Definition at line 428 of file SimpleCSRMatrix.h.

◆ m_local_offset

template<typename ValueT>
Integer Alien::SimpleCSRMatrix< ValueT >::m_local_offset = 0
private

Definition at line 430 of file SimpleCSRMatrix.h.

◆ m_local_size

template<typename ValueT>
Integer Alien::SimpleCSRMatrix< ValueT >::m_local_size = 0
private

Definition at line 429 of file SimpleCSRMatrix.h.

◆ m_matrix

template<typename ValueT>
MatrixInternal Alien::SimpleCSRMatrix< ValueT >::m_matrix
private

Definition at line 427 of file SimpleCSRMatrix.h.

◆ m_matrix_dist_info

template<typename ValueT>
DistStructInfo Alien::SimpleCSRMatrix< ValueT >::m_matrix_dist_info
private

Definition at line 433 of file SimpleCSRMatrix.h.

◆ m_myrank

template<typename ValueT>
Integer Alien::SimpleCSRMatrix< ValueT >::m_myrank = 0
private

Definition at line 439 of file SimpleCSRMatrix.h.

◆ m_nproc

template<typename ValueT>
Integer Alien::SimpleCSRMatrix< ValueT >::m_nproc = 1
private

Definition at line 438 of file SimpleCSRMatrix.h.

◆ m_own_block_size

template<typename ValueT>
Integer Alien::SimpleCSRMatrix< ValueT >::m_own_block_size = 1
private

Definition at line 437 of file SimpleCSRMatrix.h.

◆ m_parallel_mng

template<typename ValueT>
IMessagePassingMng* Alien::SimpleCSRMatrix< ValueT >::m_parallel_mng = nullptr
private

Definition at line 436 of file SimpleCSRMatrix.h.

◆ m_recv_policy

template<typename ValueT>
SimpleCSRInternal::CommProperty::ePolicyType Alien::SimpleCSRMatrix< ValueT >::m_recv_policy
private

Definition at line 435 of file SimpleCSRMatrix.h.

◆ m_send_policy

template<typename ValueT>
SimpleCSRInternal::CommProperty::ePolicyType Alien::SimpleCSRMatrix< ValueT >::m_send_policy
private

Definition at line 434 of file SimpleCSRMatrix.h.

◆ m_timer

template<typename ValueT>
TimerType Alien::SimpleCSRMatrix< ValueT >::m_timer
mutableprivate

Definition at line 445 of file SimpleCSRMatrix.h.

◆ m_trace

template<typename ValueT>
ITraceMng* Alien::SimpleCSRMatrix< ValueT >::m_trace = nullptr
private

Definition at line 440 of file SimpleCSRMatrix.h.

◆ on_host_only

template<typename ValueT>
const bool Alien::SimpleCSRMatrix< ValueT >::on_host_only = true
static

Definition at line 46 of file SimpleCSRMatrix.h.


The documentation for this class was generated from the following files: