Interface to handle abstract vectors implementation. More...
#include <core/alien/core/impl/IVectorImpl.h>
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 | |
| IVectorImpl & | operator= (const IVectorImpl &src)=delete |
| IVectorImpl & | operator= (IVectorImpl &&src)=delete |
| virtual void | clear () |
| Wipe out internal data. | |
| virtual void | init (const VectorDistribution &dist, bool do_alloc) |
| Initialize vector datas. | |
| virtual const ISpace & | space () const |
| Get the vector space. | |
| virtual BackEndId | backend () const |
| virtual const VectorDistribution & | distribution () const |
| Get the distribution of the vector. | |
| virtual const Block * | block () const |
| Get block datas of the vector. | |
| virtual const VBlock * | vblock () 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 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 |
Protected Attributes | |
| const MultiVectorImpl * | m_multi_impl |
| Pointer on vectors implementations. | |
| BackEndId | m_backend |
| Backend id. | |
| VBlockSizes * | m_vblock_sizes |
| Variable blocks size data. | |
Additional Inherited Members | |
| Protected Member Functions inherited from Alien::ObjectWithTrace | |
| TraceMessage | cout () const |
Interface to handle abstract vectors implementation.
Definition at line 45 of file IVectorImpl.h.
| typedef Arccore::Real Alien::IVectorImpl::ValueType |
Type of the values stored in the vectors.
Definition at line 50 of file IVectorImpl.h.
|
explicit |
Constructor.
| [in] | multi_impl | Pointer to the multivector handler, null if not associated |
| [in] | backend | Name 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().
|
inlineoverridevirtual |
|
inlinevirtual |
Get the vector backend id
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().
|
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
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().
|
inlinevirtual |
Wipe out internal data.
Reimplemented in Alien::CompositeKernel::Vector, Alien::DoKVector, Alien::HCSRVector< ValueT >, Alien::HCSRVector< T >, Alien::InternalType< ValueT >, Alien::RedistributorVector, Alien::SimpleCSRVector< ValueT >, Alien::SimpleCSRVector< Arccore::Real >, Alien::SimpleCSRVector< Real >, Alien::SimpleCSRVector< T >, Alien::SimpleCSRVector< ValueType >, Alien::SYCLVector< ValueT >, Alien::SYCLVector< T >, and Alien::SYCLVector< ValueType >.
Definition at line 74 of file IVectorImpl.h.
|
virtual |
Get the distribution of the vector.
Reimplemented in Alien::HCSRVector< ValueT >, Alien::HCSRVector< T >, Alien::InternalType< ValueT >, Alien::SimpleCSRVector< ValueT >, Alien::SimpleCSRVector< Arccore::Real >, Alien::SimpleCSRVector< Real >, Alien::SimpleCSRVector< T >, Alien::SimpleCSRVector< ValueType >, Alien::SYCLVector< ValueT >, Alien::SYCLVector< T >, and Alien::SYCLVector< ValueType >.
Definition at line 60 of file IVectorImpl.cc.
References m_multi_impl.
Referenced by Alien::DoKToSimpleCSRVectorConverter::convert(), Alien::InternalType< ValueT >::distribution(), Alien::SimpleCSRVector< Arccore::Real >::distribution(), and Alien::SYCLVector< ValueType >::distribution().
|
inline |
Definition at line 144 of file IVectorImpl.h.
|
inlinevirtual |
Initialize vector datas.
| [in] | dist | The vector distribution |
| [in] | do_alloc | Allocate memory or not |
Reimplemented in Alien::CompositeKernel::Vector, Alien::HCSRVector< ValueT >, Alien::HCSRVector< T >, Alien::InternalType< ValueT >, Alien::RedistributorVector, Alien::SimpleCSRVector< ValueT >, Alien::SimpleCSRVector< Arccore::Real >, Alien::SimpleCSRVector< Real >, Alien::SimpleCSRVector< T >, Alien::SimpleCSRVector< ValueType >, Alien::SYCLVector< ValueT >, Alien::SYCLVector< T >, and Alien::SYCLVector< ValueType >.
Definition at line 83 of file IVectorImpl.h.
|
virtual |
Get the "scalarized" global size.
Reimplemented in Alien::HCSRVector< ValueT >, Alien::HCSRVector< T >, Alien::InternalType< ValueT >, Alien::SimpleCSRVector< ValueT >, Alien::SimpleCSRVector< Arccore::Real >, Alien::SimpleCSRVector< Real >, Alien::SimpleCSRVector< T >, Alien::SimpleCSRVector< ValueType >, Alien::SYCLVector< ValueT >, Alien::SYCLVector< T >, and Alien::SYCLVector< ValueType >.
Definition at line 105 of file IVectorImpl.cc.
References block(), m_multi_impl, m_vblock_sizes, Alien::Block::size(), and vblock().
Referenced by Alien::InternalType< ValueT >::scalarizedGlobalSize(), Alien::SimpleCSRVector< Arccore::Real >::scalarizedGlobalSize(), and Alien::SYCLVector< ValueType >::scalarizedGlobalSize().
|
virtual |
Get the "scalarized" local size.
Reimplemented in Alien::HCSRVector< ValueT >, Alien::HCSRVector< T >, Alien::InternalType< ValueT >, Alien::SimpleCSRVector< ValueT >, Alien::SimpleCSRVector< Arccore::Real >, Alien::SimpleCSRVector< Real >, Alien::SimpleCSRVector< T >, Alien::SimpleCSRVector< ValueType >, Alien::SYCLVector< ValueT >, Alien::SYCLVector< T >, and Alien::SYCLVector< ValueType >.
Definition at line 87 of file IVectorImpl.cc.
References block(), m_multi_impl, m_vblock_sizes, Alien::Block::size(), and vblock().
Referenced by Alien::InternalType< ValueT >::scalarizedLocalSize(), Alien::SimpleCSRVector< Arccore::Real >::scalarizedLocalSize(), and Alien::SYCLVector< ValueType >::scalarizedLocalSize().
|
virtual |
Get the "scalarized" offset.
Reimplemented in Alien::HCSRVector< ValueT >, Alien::HCSRVector< T >, Alien::InternalType< ValueT >, Alien::SimpleCSRVector< ValueT >, Alien::SimpleCSRVector< Arccore::Real >, Alien::SimpleCSRVector< Real >, Alien::SimpleCSRVector< T >, Alien::SimpleCSRVector< ValueType >, Alien::SYCLVector< ValueT >, Alien::SYCLVector< T >, and Alien::SYCLVector< ValueType >.
Definition at line 123 of file IVectorImpl.cc.
References block(), m_multi_impl, m_vblock_sizes, Alien::Block::size(), and vblock().
Referenced by Alien::InternalType< ValueT >::scalarizedOffset(), Alien::SimpleCSRVector< Arccore::Real >::scalarizedOffset(), and Alien::SYCLVector< ValueType >::scalarizedOffset().
|
virtual |
Get the vector space.
Definition at line 51 of file IVectorImpl.cc.
References m_multi_impl.
Referenced by Alien::CompositeKernel::Vector::Vector().
|
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
Definition at line 78 of file IVectorImpl.cc.
References m_multi_impl.
Referenced by Alien::SimpleCSRVector< Arccore::Real >::init(), scalarizedGlobalSize(), scalarizedLocalSize(), and scalarizedOffset().
|
protected |
Backend id.
Definition at line 151 of file IVectorImpl.h.
Referenced by backend(), and IVectorImpl().
|
protected |
Pointer on vectors implementations.
Definition at line 149 of file IVectorImpl.h.
Referenced by block(), Alien::InternalType< ValueT >::distribution(), distribution(), Alien::SimpleCSRVector< Arccore::Real >::distribution(), Alien::SYCLVector< ValueType >::distribution(), Alien::HCSRVector< ValueT >::init(), Alien::SimpleCSRVector< Arccore::Real >::init(), Alien::SYCLVector< ValueType >::init(), IVectorImpl(), Alien::InternalType< ValueT >::scalarizedGlobalSize(), scalarizedGlobalSize(), Alien::SimpleCSRVector< Arccore::Real >::scalarizedGlobalSize(), Alien::SYCLVector< ValueType >::scalarizedGlobalSize(), Alien::InternalType< ValueT >::scalarizedLocalSize(), scalarizedLocalSize(), Alien::SimpleCSRVector< Arccore::Real >::scalarizedLocalSize(), Alien::SYCLVector< ValueType >::scalarizedLocalSize(), Alien::InternalType< ValueT >::scalarizedOffset(), scalarizedOffset(), Alien::SimpleCSRVector< Arccore::Real >::scalarizedOffset(), Alien::SYCLVector< ValueType >::scalarizedOffset(), space(), and vblock().
|
mutableprotected |
Variable blocks size data.
Definition at line 153 of file IVectorImpl.h.
Referenced by IVectorImpl(), scalarizedGlobalSize(), scalarizedLocalSize(), scalarizedOffset(), and ~IVectorImpl().