Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches

Interface to handle abstract vectors implementation. More...

#include <core/alien/core/impl/IVectorImpl.h>

Inheritance diagram for Alien::IVectorImpl:
Collaboration diagram for Alien::IVectorImpl:

Public Types

typedef Arccore::Real ValueType
 Type of the values stored in the vectors.

Public Member Functions

 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 void clear ()
 Wipe out internal data.
virtual void init (const VectorDistribution &dist, bool do_alloc)
 Initialize vector datas.
virtual const ISpacespace () const
 Get the vector space.
virtual BackEndId backend () const
virtual const VectorDistributiondistribution () const
 Get the distribution of the vector.
virtual const Blockblock () const
 Get block datas of the vector.
virtual const VBlockvblock () const
 Get block datas of the vector.
virtual Arccore::Integer scalarizedLocalSize () const
 Get the "scalarized" local size.
virtual Arccore::Integer scalarizedGlobalSize () const
 Get the "scalarized" global size.
virtual Arccore::Integer scalarizedOffset () const
 Get the "scalarized" offset.
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

Protected Attributes

const MultiVectorImplm_multi_impl
 Pointer on vectors implementations.
BackEndId m_backend
 Backend id.
VBlockSizesm_vblock_sizes
 Variable blocks size data.

Additional Inherited Members

Protected Member Functions inherited from Alien::ObjectWithTrace
TraceMessage cout () const

Detailed Description

Interface to handle abstract vectors implementation.

Definition at line 45 of file IVectorImpl.h.

Member Typedef Documentation

◆ ValueType

typedef Arccore::Real Alien::IVectorImpl::ValueType

Type of the values stored in the vectors.

Definition at line 50 of file IVectorImpl.h.

Constructor & Destructor Documentation

◆ IVectorImpl()

Alien::IVectorImpl::IVectorImpl ( const MultiVectorImpl * multi_impl,
BackEndId backend = "" )
explicit

Constructor.

Parameters
[in]multi_implPointer to the multivector handler, null if not associated
[in]backendName of the underneath backend, empty string if not associated

Definition at line 40 of file IVectorImpl.cc.

References backend(), m_backend, m_multi_impl, and m_vblock_sizes.

Referenced by Alien::HCSRVector< ValueT >::HCSRVector(), Alien::HCSRVector< ValueT >::HCSRVector(), Alien::SimpleCSRVector< Arccore::Real >::SimpleCSRVector(), Alien::SimpleCSRVector< Arccore::Real >::SimpleCSRVector(), Alien::SYCLVector< ValueT >::SYCLVector(), Alien::SYCLVector< ValueT >::SYCLVector(), Alien::CompositeKernel::Vector::Vector(), and Alien::CompositeKernel::Vector::Vector().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~IVectorImpl()

virtual Alien::IVectorImpl::~IVectorImpl ( )
inlineoverridevirtual

Free resources.

Definition at line 61 of file IVectorImpl.h.

References m_vblock_sizes.

Member Function Documentation

◆ backend()

virtual BackEndId Alien::IVectorImpl::backend ( ) const
inlinevirtual

Get the vector backend id

Returns
The backend if associated to the vector

Definition at line 95 of file IVectorImpl.h.

References m_backend.

Referenced by Alien::IVectorConverter::cast(), Alien::IVectorConverter::cast(), Alien::MultiVectorImpl::get(), Alien::MultiVectorImpl::get(), IVectorImpl(), and Alien::MultiVectorImpl::updateImpl().

Here is the caller graph for this function:

◆ block()

const Block * Alien::IVectorImpl::block ( ) const
virtual

Get block datas of the vector.

Get the block datas of the vector. This method should be used only with uniform blocks vectors, otherwise il will return a nullptr

Returns
Block data for block vector, nullptr for scalar and variable block vector

Definition at line 69 of file IVectorImpl.cc.

References m_multi_impl.

Referenced by Alien::NormalizeOpt::_normalize(), Alien::DoKToSimpleCSRVectorConverter::convert(), Alien::RedistributorToSimpleCSRVectorConverter::convert(), Alien::SimpleCSRtoDoKVectorConverter::convert(), Alien::SimpleCSRtoRedistributorVectorConverter::convert(), scalarizedGlobalSize(), scalarizedLocalSize(), and scalarizedOffset().

Here is the caller graph for this function:

◆ clear()

◆ distribution()

◆ impls()

const MultiVectorImpl * Alien::IVectorImpl::impls ( ) const
inline

Definition at line 144 of file IVectorImpl.h.

◆ init()

virtual void Alien::IVectorImpl::init ( const VectorDistribution & dist,
bool do_alloc )
inlinevirtual

◆ scalarizedGlobalSize()

◆ scalarizedLocalSize()

◆ scalarizedOffset()

◆ space()

const ISpace & Alien::IVectorImpl::space ( ) const
virtual

Get the vector space.

Returns
The space associated to the vector

Definition at line 51 of file IVectorImpl.cc.

References m_multi_impl.

Referenced by Alien::CompositeKernel::Vector::Vector().

Here is the caller graph for this function:

◆ vblock()

const VBlock * Alien::IVectorImpl::vblock ( ) const
virtual

Get block datas of the vector.

Get the block datas of the vector. This method should be used only with variable blocks vectors, otherwise il will return a nullptr

Returns
Block data for variable block vector, nullptr for scalar and block vector

Definition at line 78 of file IVectorImpl.cc.

References m_multi_impl.

Referenced by Alien::SimpleCSRVector< Arccore::Real >::init(), scalarizedGlobalSize(), scalarizedLocalSize(), and scalarizedOffset().

Here is the caller graph for this function:

Member Data Documentation

◆ m_backend

BackEndId Alien::IVectorImpl::m_backend
protected

Backend id.

Definition at line 151 of file IVectorImpl.h.

Referenced by backend(), and IVectorImpl().

◆ m_multi_impl

◆ m_vblock_sizes

VBlockSizes* Alien::IVectorImpl::m_vblock_sizes
mutableprotected

Variable blocks size data.

Definition at line 153 of file IVectorImpl.h.

Referenced by IVectorImpl(), scalarizedGlobalSize(), scalarizedLocalSize(), scalarizedOffset(), and ~IVectorImpl().


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