Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ParallelReplication Class Reference

Brief information on parallel subdomain replication. More...

#include <arcane/impl/ParallelReplication.h>

Inheritance diagram for Arcane::ParallelReplication:
Collaboration diagram for Arcane::ParallelReplication:

Public Member Functions

 ParallelReplication ()
 Constructor without replication.
 ParallelReplication (Int32 rank, Int32 nb_rank, Ref< IParallelMng > replica_pm)
 Constructor with replication.
virtual bool hasReplication () const
 Indicates if replication is active.
virtual Int32 nbReplication () const
 Number of replications.
virtual Int32 replicationRank () const
 Rank in the replication (from 0 to nbReplication()-1).
virtual bool isMasterRank () const
 Indicates if this replication rank is the master.
virtual Int32 masterReplicationRank () const
 Rank in the master replication.
virtual IParallelMngreplicaParallelMng () const
 Communicator associated with all replicas representing the same subdomain.

Private Attributes

bool m_is_active
Int32 m_nb_replication
Int32 m_replication_rank
bool m_is_master_rank
Int32 m_master_replication_rank
Ref< IParallelMngm_replica_parallel_mng

Detailed Description

Brief information on parallel subdomain replication.

Replication consists of taking a set of parallelMng() and duplicating this set several times, each set performing in principle the same treatment unless explicit code dictates otherwise. For example, it is possible to have a calculation that is performed generally on 8 subdomains, and replicate this set 4 times. This then uses the equivalent of 32 processes.

This class contains the information on replication and is accessible via IParallelMng::replication().

Definition at line 50 of file ParallelReplication.h.

Constructor & Destructor Documentation

◆ ParallelReplication() [1/2]

Arcane::ParallelReplication::ParallelReplication ( )

Constructor without replication.

Definition at line 26 of file ParallelReplication.cc.

◆ ParallelReplication() [2/2]

Arcane::ParallelReplication::ParallelReplication ( Int32 rank,
Int32 nb_rank,
Ref< IParallelMng > replica_pm )

Constructor with replication.

Definition at line 39 of file ParallelReplication.cc.

◆ ~ParallelReplication()

Arcane::ParallelReplication::~ParallelReplication ( )
virtual

Definition at line 53 of file ParallelReplication.cc.

Member Function Documentation

◆ hasReplication()

virtual bool Arcane::ParallelReplication::hasReplication ( ) const
inlinevirtual

Indicates if replication is active.

Implements Arcane::IParallelReplication.

Definition at line 64 of file ParallelReplication.h.

◆ isMasterRank()

virtual bool Arcane::ParallelReplication::isMasterRank ( ) const
inlinevirtual

Indicates if this replication rank is the master.

This is useful for example for outputs, so that only one replica outputs the information.

Implements Arcane::IParallelReplication.

Definition at line 67 of file ParallelReplication.h.

◆ masterReplicationRank()

virtual Int32 Arcane::ParallelReplication::masterReplicationRank ( ) const
inlinevirtual

Rank in the master replication.

Implements Arcane::IParallelReplication.

Definition at line 68 of file ParallelReplication.h.

◆ nbReplication()

virtual Int32 Arcane::ParallelReplication::nbReplication ( ) const
inlinevirtual

Number of replications.

Implements Arcane::IParallelReplication.

Definition at line 65 of file ParallelReplication.h.

◆ replicaParallelMng()

virtual IParallelMng * Arcane::ParallelReplication::replicaParallelMng ( ) const
inlinevirtual

Communicator associated with all replicas representing the same subdomain.

Is 0 if there is no replication (hasReplication() is false).

Implements Arcane::IParallelReplication.

Definition at line 69 of file ParallelReplication.h.

◆ replicationRank()

virtual Int32 Arcane::ParallelReplication::replicationRank ( ) const
inlinevirtual

Rank in the replication (from 0 to nbReplication()-1).

Implements Arcane::IParallelReplication.

Definition at line 66 of file ParallelReplication.h.

Member Data Documentation

◆ m_is_active

bool Arcane::ParallelReplication::m_is_active
private

Definition at line 73 of file ParallelReplication.h.

◆ m_is_master_rank

bool Arcane::ParallelReplication::m_is_master_rank
private

Definition at line 76 of file ParallelReplication.h.

◆ m_master_replication_rank

Int32 Arcane::ParallelReplication::m_master_replication_rank
private

Definition at line 77 of file ParallelReplication.h.

◆ m_nb_replication

Int32 Arcane::ParallelReplication::m_nb_replication
private

Definition at line 74 of file ParallelReplication.h.

◆ m_replica_parallel_mng

Ref<IParallelMng> Arcane::ParallelReplication::m_replica_parallel_mng
private

Definition at line 78 of file ParallelReplication.h.

◆ m_replication_rank

Int32 Arcane::ParallelReplication::m_replication_rank
private

Definition at line 75 of file ParallelReplication.h.


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