Alien  1.3.0
User documentation
Loading...
Searching...
No Matches
Alien::HCSRMatrix< ValueT > Class Template Reference

Public Types

typedef BackEnd::tag::hcsr TagType
typedef ValueT ValueType
typedef ValueT value_type
typedef SimpleCSRInternal::CSRStructInfo CSRStructInfo
typedef SimpleCSRInternal::CSRStructInfo ProfileType
typedef SYCLInternal::SYCLDistStructInfo DistStructInfo
typedef HCSRInternal::MatrixInternal< ValueType > MatrixInternal
typedef HCSRInternal::MatrixInternal< ValueType > InternalType
typedef ProfileType::IndexType IndexType
typedef HCSRViewT< HCSRMatrix< ValueType > > HCSRView
Public Types inherited from Alien::IMatrixImpl
typedef Arccore::Real ValueType
 Type of the values stored in the matrix.

Public Member Functions

 HCSRMatrix ()
 HCSRMatrix (const MultiMatrixImpl *multi_impl)
 Constructeur avec association ? un MultiImpl.
virtual ~HCSRMatrix ()
void setTraceMng (ITraceMng *trace_mng)
void allocate ()
CSRStructInfo & getCSRProfile ()
const CSRStructInfo & getCSRProfile () const
const CSRStructInfo & getProfile () const
const DistStructInfo & getDistStructInfo () const
IMessagePassingMng * getParallelMng ()
void sequentialStart ()
void parallelStart (ConstArrayView< Integer > offset, IMessagePassingMng *parallel_mng, bool need_sort_ghost_col=false)
bool initMatrix (Arccore::MessagePassing::IMessagePassingMng *parallel_mng, Integer local_offset, Integer global_size, std::size_t nrows, int const *kcol, int const *cols, SimpleCSRInternal::DistStructInfo const &matrix_dist_info)
HCSRMatrixcloneTo (const MultiMatrixImpl *multi) const
bool isParallel () const
Integer getLocalSize () const
Integer getLocalOffset () const
Integer getGlobalSize () const
Integer getGhostSize () const
Integer getAllocSize () const
bool setMatrixValues (Arccore::Real const *values, bool only_host)
void notifyChanges ()
void endUpdate ()
MatrixInternal * internal ()
MatrixInternal const * internal () const
void allocateDevicePointers (std::size_t nrows, std::size_t nnz, IndexType **rows, IndexType **ncols, IndexType **cols, ValueType **values) const
void initDevicePointers (IndexType **ncols, IndexType **rows, IndexType **cols, ValueType **values) const
void freeDevicePointers (IndexType *ncols, IndexType *rows, IndexType *cols, ValueType *values) const
void copyDevicePointers (std::size_t nrows, std::size_t nnz, IndexType *rows, IndexType *ncols, IndexType *cols, ValueType *values) const
HCSRView hcsrView (BackEnd::Memory::eType memory, int nrows, int nnz) const
void initCOODevicePointers (int **dof_uids, int **rows, int **cols, ValueType **values) const
void freeCOODevicePointers (int *dof_uids, int *rows, int *cols, ValueType *values) 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 void clear ()
 Wipe out internal data.
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 = false

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::HCSRMatrix< ValueT >

Definition at line 42 of file HCSRMatrix.h.

Member Typedef Documentation

◆ CSRStructInfo

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

Definition at line 51 of file HCSRMatrix.h.

◆ DistStructInfo

template<typename ValueT>
typedef SYCLInternal::SYCLDistStructInfo Alien::HCSRMatrix< ValueT >::DistStructInfo

Definition at line 53 of file HCSRMatrix.h.

◆ HCSRView

template<typename ValueT>
typedef HCSRViewT<HCSRMatrix<ValueType> > Alien::HCSRMatrix< ValueT >::HCSRView

Definition at line 60 of file HCSRMatrix.h.

◆ IndexType

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

Definition at line 57 of file HCSRMatrix.h.

◆ InternalType

template<typename ValueT>
typedef HCSRInternal::MatrixInternal<ValueType> Alien::HCSRMatrix< ValueT >::InternalType

Definition at line 55 of file HCSRMatrix.h.

◆ MatrixInternal

template<typename ValueT>
typedef HCSRInternal::MatrixInternal<ValueType> Alien::HCSRMatrix< ValueT >::MatrixInternal

Definition at line 54 of file HCSRMatrix.h.

◆ ProfileType

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

Definition at line 52 of file HCSRMatrix.h.

◆ TagType

template<typename ValueT>
typedef BackEnd::tag::hcsr Alien::HCSRMatrix< ValueT >::TagType

Definition at line 47 of file HCSRMatrix.h.

◆ value_type

template<typename ValueT>
typedef ValueT Alien::HCSRMatrix< ValueT >::value_type

Definition at line 49 of file HCSRMatrix.h.

◆ ValueType

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

Definition at line 48 of file HCSRMatrix.h.

Constructor & Destructor Documentation

◆ HCSRMatrix() [1/2]

template<typename ValueT>
Alien::HCSRMatrix< ValueT >::HCSRMatrix ( )

Constructeur de la classe

Definition at line 235 of file HCSRMatrixInternal.h.

References Alien::IMatrixImpl::IMatrixImpl().

◆ HCSRMatrix() [2/2]

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

Constructeur avec association ? un MultiImpl.

Constructeur de la classe

Definition at line 244 of file HCSRMatrixInternal.h.

References Alien::IMatrixImpl::IMatrixImpl().

◆ ~HCSRMatrix()

template<typename ValueT>
Alien::HCSRMatrix< ValueT >::~HCSRMatrix ( )
virtual

Destructeur de la classe

Definition at line 253 of file HCSRMatrixInternal.h.

Member Function Documentation

◆ allocate()

template<typename ValueT>
void Alien::HCSRMatrix< ValueT >::allocate ( )

Definition at line 259 of file HCSRMatrixInternal.h.

◆ allocateDevicePointers()

template<typename ValueT>
void Alien::HCSRMatrix< ValueT >::allocateDevicePointers ( std::size_t nrows,
std::size_t nnz,
IndexType ** rows,
IndexType ** ncols,
IndexType ** cols,
ValueType ** values ) const

Definition at line 18 of file HCSRMatrix.cc.

◆ copyDevicePointers()

template<typename ValueT>
void Alien::HCSRMatrix< ValueT >::copyDevicePointers ( std::size_t nrows,
std::size_t nnz,
IndexType * rows,
IndexType * ncols,
IndexType * cols,
ValueType * values ) const

Definition at line 97 of file HCSRMatrix.cc.

◆ freeCOODevicePointers()

template<typename ValueT>
void Alien::HCSRMatrix< ValueT >::freeCOODevicePointers ( int * dof_uids,
int * rows,
int * cols,
ValueType * values ) const

Definition at line 251 of file HCSRMatrix.cc.

◆ freeDevicePointers()

template<typename ValueT>
void Alien::HCSRMatrix< ValueT >::freeDevicePointers ( IndexType * ncols,
IndexType * rows,
IndexType * cols,
ValueType * values ) const

Definition at line 240 of file HCSRMatrix.cc.

◆ getAllocSize()

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

Definition at line 158 of file HCSRMatrix.h.

◆ getCSRProfile() [1/2]

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

Definition at line 78 of file HCSRMatrix.h.

◆ getCSRProfile() [2/2]

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

Definition at line 80 of file HCSRMatrix.h.

◆ getDistStructInfo()

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

Definition at line 84 of file HCSRMatrix.h.

◆ getGhostSize()

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

Definition at line 156 of file HCSRMatrix.h.

◆ getGlobalSize()

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

Definition at line 154 of file HCSRMatrix.h.

◆ getLocalOffset()

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

Definition at line 152 of file HCSRMatrix.h.

◆ getLocalSize()

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

Definition at line 150 of file HCSRMatrix.h.

◆ getParallelMng()

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

Definition at line 86 of file HCSRMatrix.h.

◆ getProfile()

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

Definition at line 82 of file HCSRMatrix.h.

◆ hcsrView()

template<typename ValueT>
HCSRMatrix< ValueT >::HCSRView Alien::HCSRMatrix< ValueT >::hcsrView ( BackEnd::Memory::eType memory,
int nrows,
int nnz ) const

Definition at line 152 of file HCSRMatrix.cc.

◆ initCOODevicePointers()

template<typename ValueT>
void Alien::HCSRMatrix< ValueT >::initCOODevicePointers ( int ** dof_uids,
int ** rows,
int ** cols,
ValueType ** values ) const

Definition at line 160 of file HCSRMatrix.cc.

◆ initDevicePointers()

template<typename ValueT>
void Alien::HCSRMatrix< ValueT >::initDevicePointers ( IndexType ** ncols,
IndexType ** rows,
IndexType ** cols,
ValueType ** values ) const

Definition at line 42 of file HCSRMatrix.cc.

◆ internal() [1/2]

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

Definition at line 165 of file HCSRMatrix.h.

◆ internal() [2/2]

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

Definition at line 167 of file HCSRMatrix.h.

◆ isParallel()

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

Definition at line 148 of file HCSRMatrix.h.

◆ parallelStart()

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

Definition at line 107 of file HCSRMatrix.h.

◆ sequentialStart()

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

Definition at line 92 of file HCSRMatrix.h.

◆ setTraceMng()

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

Definition at line 74 of file HCSRMatrix.h.

Member Data Documentation

◆ on_host_only

template<typename ValueT>
const bool Alien::HCSRMatrix< ValueT >::on_host_only = false
static

Definition at line 46 of file HCSRMatrix.h.


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