Alien  1.3.0
Developer documentation
Loading...
Searching...
No Matches
Alien::RedistributorVector Class Reference
Inheritance diagram for Alien::RedistributorVector:
Collaboration diagram for Alien::RedistributorVector:

Public Member Functions

 RedistributorVector (const MultiVectorImpl *src_impl)
void init (const VectorDistribution &dist, const bool need_allocate) override
 Initialize vector datas.
void clear () override
 Clear data.
std::shared_ptr< MultiVectorImplupdateTargetPM (const RedistributorCommPlan *commPlan)
void updateSuperPM (MultiVectorImpl *tgt_impl, const RedistributorCommPlan *commPlan)
std::shared_ptr< MultiVectorImplredistribute ()
void redistributeBack (SimpleCSRVector< Real > &vec_tgt) 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 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

Private Attributes

const IMessagePassingMng * m_super_pm
std::shared_ptr< MultiVectorImplm_tgt_impl
std::shared_ptr< VectorDistributionm_tgt_dist
std::unique_ptr< SimpleCSRVectorRedistributorm_distributor

Additional Inherited Members

Public Types inherited from Alien::IVectorImpl
typedef Arccore::Real ValueType
 Type of the values stored in the vectors.
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

Definition at line 32 of file RedistributorVector.h.

Constructor & Destructor Documentation

◆ RedistributorVector()

Alien::RedistributorVector::RedistributorVector ( const MultiVectorImpl * src_impl)

Definition at line 39 of file RedistributorVector.cc.

◆ ~RedistributorVector()

virtual Alien::RedistributorVector::~RedistributorVector ( )
inlinevirtual

Definition at line 36 of file RedistributorVector.h.

Member Function Documentation

◆ clear()

void Alien::RedistributorVector::clear ( )
overridevirtual

Clear data.

Reimplemented from Alien::IVectorImpl.

Definition at line 53 of file RedistributorVector.cc.

References clear().

Referenced by clear().

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

◆ init()

void Alien::RedistributorVector::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 47 of file RedistributorVector.cc.

References init().

Referenced by init().

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

◆ redistribute()

std::shared_ptr< MultiVectorImpl > Alien::RedistributorVector::redistribute ( )

Definition at line 86 of file RedistributorVector.cc.

◆ redistributeBack()

void Alien::RedistributorVector::redistributeBack ( SimpleCSRVector< Real > & vec_tgt) const

Definition at line 94 of file RedistributorVector.cc.

◆ updateSuperPM()

void Alien::RedistributorVector::updateSuperPM ( MultiVectorImpl * tgt_impl,
const RedistributorCommPlan * commPlan )

Definition at line 59 of file RedistributorVector.cc.

◆ updateTargetPM()

std::shared_ptr< MultiVectorImpl > Alien::RedistributorVector::updateTargetPM ( const RedistributorCommPlan * commPlan)

Definition at line 70 of file RedistributorVector.cc.

Member Data Documentation

◆ m_distributor

std::unique_ptr<SimpleCSRVectorRedistributor> Alien::RedistributorVector::m_distributor
private

Definition at line 53 of file RedistributorVector.h.

◆ m_super_pm

const IMessagePassingMng* Alien::RedistributorVector::m_super_pm
private

Definition at line 50 of file RedistributorVector.h.

◆ m_tgt_dist

std::shared_ptr<VectorDistribution> Alien::RedistributorVector::m_tgt_dist
private

Definition at line 52 of file RedistributorVector.h.

◆ m_tgt_impl

std::shared_ptr<MultiVectorImpl> Alien::RedistributorVector::m_tgt_impl
private

Definition at line 51 of file RedistributorVector.h.


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