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)
HCSRMatrix * cloneTo (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
IMatrixImpl & operator= (const IMatrixImpl &src)=delete
IMatrixImpl & operator= (IMatrixImpl &&src)=delete
virtual void clear ()
 Wipe out internal data.
virtual const ISpace & rowSpace () const
 Get the row space associated to the matrix \ returns The row space.
virtual const ISpace & colSpace () const
 Get the row space associated to the matrix \ returns The row space.
virtual const MatrixDistribution & distribution () const
 Get the distribution of the matrix.
virtual BackEndId backend () const
virtual const Block * block () const
 Get block datas of the matrix.
virtual const VBlock * vblock () const
 Get block datas of the matrix.
virtual const VBlock * rowBlock () const
 Get row block datas of the matrix.
virtual const VBlock * colBlock () const
 Get col block datas of the matrix.
const MultiMatrixImpl * impls () 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 MultiMatrixImpl * m_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: