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

Public Types

typedef ValueT ValueType
typedef Integer IndexType
typedef HCSRInternal::VectorInternal< ValueType > InternalType
Public Types inherited from Alien::IVectorImpl
typedef Arccore::Real ValueType
 Type of the values stored in the vectors.

Public Member Functions

 HCSRVector ()
 Constructeur sans association ? un MultiImpl.
 HCSRVector (const MultiVectorImpl *multi_impl)
 Constructeur avec association ? un MultiImpl.
void allocate ()
void resize (Integer alloc_size)
void clear () override
 Wipe out internal data.
void init (const VectorDistribution &dist, const bool need_allocate) override
 Initialize vector datas.
const VectorDistribution & distribution () const override
 Get the distribution of the vector.
Arccore::Integer scalarizedLocalSize () const override
 Get the "scalarized" local size.
Arccore::Integer scalarizedGlobalSize () const override
 Get the "scalarized" global size.
Arccore::Integer scalarizedOffset () const override
 Get the "scalarized" offset.
Arccore::Integer allocSize () const
Arccore::Integer getAllocSize () const
ValueType const * dataPtr () const
void initDevicePointers (int **rows, ValueType **values) const
void freeDevicePointers (int *rows, ValueType *values) const
void copyValuesTo (ValueType *values) const
InternalType * internal ()
InternalType const * internal () const
Public Member Functions inherited from Alien::IVectorImpl
 IVectorImpl (const MultiVectorImpl *multi_impl, BackEndId backend="")
 Constructor.
virtual ~IVectorImpl () override
 Free resources.
 IVectorImpl (const IVectorImpl &src)=delete
 IVectorImpl (IVectorImpl &&src)=delete
IVectorImpl & operator= (const IVectorImpl &src)=delete
IVectorImpl & operator= (IVectorImpl &&src)=delete
virtual const ISpace & space () const
 Get the vector space.
virtual BackEndId backend () const
virtual const Block * block () const
 Get block datas of the vector.
virtual const VBlock * vblock () const
 Get block datas of the vector.
const MultiVectorImpl * 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

Private Attributes

Alien::BackEnd::Memory::eType m_mem_kind = Alien::BackEnd::Memory::Device
std::unique_ptr< InternalType > m_internal
Integer m_local_size = 0
VectorDistribution m_own_distribution

Additional Inherited Members

Protected Member Functions inherited from Alien::ObjectWithTrace
TraceMessage cout () const
Protected Attributes inherited from Alien::IVectorImpl
const MultiVectorImpl * m_multi_impl
 Pointer on vectors implementations.
BackEndId m_backend
 Backend id.
VBlockSizes * m_vblock_sizes
 Variable blocks size data.

Detailed Description

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

Definition at line 32 of file HCSRVector.h.

Member Typedef Documentation

◆ IndexType

template<typename ValueT>
typedef Integer Alien::HCSRVector< ValueT >::IndexType

Definition at line 36 of file HCSRVector.h.

◆ InternalType

template<typename ValueT>
typedef HCSRInternal::VectorInternal<ValueType> Alien::HCSRVector< ValueT >::InternalType

Definition at line 37 of file HCSRVector.h.

◆ ValueType

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

Definition at line 35 of file HCSRVector.h.

Constructor & Destructor Documentation

◆ HCSRVector() [1/2]

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

Constructeur sans association ? un MultiImpl.

Definition at line 111 of file HCSRVectorInternal.h.

References Alien::IVectorImpl::IVectorImpl().

Here is the call graph for this function:

◆ HCSRVector() [2/2]

template<typename ValueT>
Alien::HCSRVector< ValueT >::HCSRVector ( const MultiVectorImpl * multi_impl)

Constructeur avec association ? un MultiImpl.

Definition at line 118 of file HCSRVectorInternal.h.

References Alien::IVectorImpl::IVectorImpl().

Here is the call graph for this function:

Member Function Documentation

◆ allocate()

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

Definition at line 125 of file HCSRVectorInternal.h.

◆ allocSize()

template<typename ValueT>
Arccore::Integer Alien::HCSRVector< ValueT >::allocSize ( ) const
inline

Definition at line 89 of file HCSRVector.h.

◆ clear()

template<typename ValueT>
void Alien::HCSRVector< ValueT >::clear ( )
inlineoverridevirtual

Wipe out internal data.

Reimplemented from Alien::IVectorImpl.

Definition at line 49 of file HCSRVector.h.

◆ copyValuesTo()

template<typename ValueT>
void Alien::HCSRVector< ValueT >::copyValuesTo ( ValueType * values) const

Definition at line 47 of file HCSRVector.cc.

◆ dataPtr()

template<typename ValueT>
HCSRVector< ValueT >::ValueType const * Alien::HCSRVector< ValueT >::dataPtr ( ) const

Definition at line 18 of file HCSRVector.cc.

◆ distribution()

template<typename ValueT>
const VectorDistribution & Alien::HCSRVector< ValueT >::distribution ( ) const
inlineoverridevirtual

Get the distribution of the vector.

Returns
The vector distribution

Reimplemented from Alien::IVectorImpl.

Definition at line 57 of file HCSRVector.h.

◆ freeDevicePointers()

template<typename ValueT>
void Alien::HCSRVector< ValueT >::freeDevicePointers ( int * rows,
ValueType * values ) const

Definition at line 103 of file HCSRVector.cc.

◆ getAllocSize()

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

Definition at line 93 of file HCSRVector.h.

◆ init()

template<typename ValueT>
void Alien::HCSRVector< ValueT >::init ( const VectorDistribution & dist,
const bool do_alloc )
overridevirtual

Initialize vector datas.

Parameters
[in]distThe vector distribution
[in]do_allocAllocate memory or not
Todo
Fix this method : could be removed during the process of solver refactoring

Reimplemented from Alien::IVectorImpl.

Definition at line 187 of file HCSRVectorInternal.h.

References Alien::VectorDistribution::localSize(), Alien::IVectorImpl::m_multi_impl, and scalarizedLocalSize().

Here is the call graph for this function:

◆ initDevicePointers()

template<typename ValueT>
void Alien::HCSRVector< ValueT >::initDevicePointers ( int ** rows,
ValueType ** values ) const

Definition at line 71 of file HCSRVector.cc.

◆ internal() [1/2]

template<typename ValueT>
InternalType * Alien::HCSRVector< ValueT >::internal ( )
inline

Definition at line 103 of file HCSRVector.h.

◆ internal() [2/2]

template<typename ValueT>
InternalType const * Alien::HCSRVector< ValueT >::internal ( ) const
inline

Definition at line 107 of file HCSRVector.h.

◆ resize()

template<typename ValueT>
void Alien::HCSRVector< ValueT >::resize ( Integer alloc_size)

Definition at line 131 of file HCSRVectorInternal.h.

◆ scalarizedGlobalSize()

template<typename ValueT>
Arccore::Integer Alien::HCSRVector< ValueT >::scalarizedGlobalSize ( ) const
inlineoverridevirtual

Get the "scalarized" global size.

See also
VBlockSizes for "scalarized" definition
Returns
The actual global size

Reimplemented from Alien::IVectorImpl.

Definition at line 73 of file HCSRVector.h.

◆ scalarizedLocalSize()

template<typename ValueT>
Arccore::Integer Alien::HCSRVector< ValueT >::scalarizedLocalSize ( ) const
inlineoverridevirtual

Get the "scalarized" local size.

See also
VBlockSizes for "scalarized" definition
Returns
The actual local size

Reimplemented from Alien::IVectorImpl.

Definition at line 65 of file HCSRVector.h.

Referenced by init().

Here is the caller graph for this function:

◆ scalarizedOffset()

template<typename ValueT>
Arccore::Integer Alien::HCSRVector< ValueT >::scalarizedOffset ( ) const
inlineoverridevirtual

Get the "scalarized" offset.

See also
VBlockSizes for "scalarized" definition
Returns
The actual offset

Reimplemented from Alien::IVectorImpl.

Definition at line 81 of file HCSRVector.h.

Member Data Documentation

◆ m_internal

template<typename ValueT>
std::unique_ptr<InternalType> Alien::HCSRVector< ValueT >::m_internal
private

Definition at line 113 of file HCSRVector.h.

◆ m_local_size

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

Definition at line 114 of file HCSRVector.h.

◆ m_mem_kind

template<typename ValueT>
Alien::BackEnd::Memory::eType Alien::HCSRVector< ValueT >::m_mem_kind = Alien::BackEnd::Memory::Device
private

Definition at line 112 of file HCSRVector.h.

◆ m_own_distribution

template<typename ValueT>
VectorDistribution Alien::HCSRVector< ValueT >::m_own_distribution
private

Definition at line 115 of file HCSRVector.h.


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