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 VectorDistributiondistribution () 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
IVectorImploperator= (const IVectorImpl &src)=delete
IVectorImploperator= (IVectorImpl &&src)=delete
virtual const ISpacespace () const
 Get the vector space.
virtual BackEndId backend () const
virtual const Blockblock () const
 Get block datas of the vector.
virtual const VBlockvblock () const
 Get block datas of the vector.
const MultiVectorImplimpls () 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 MultiVectorImplm_multi_impl
 Pointer on vectors implementations.
BackEndId m_backend
 Backend id.
VBlockSizesm_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: