Brief information on parallel subdomain replication. More...
#include <arcane/impl/ParallelReplication.h>
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 IParallelMng * | replicaParallelMng () 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< IParallelMng > | m_replica_parallel_mng |
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.
| Arcane::ParallelReplication::ParallelReplication | ( | ) |
Constructor without replication.
Definition at line 26 of file ParallelReplication.cc.
| Arcane::ParallelReplication::ParallelReplication | ( | Int32 | rank, |
| Int32 | nb_rank, | ||
| Ref< IParallelMng > | replica_pm ) |
Constructor with replication.
Definition at line 39 of file ParallelReplication.cc.
|
virtual |
Definition at line 53 of file ParallelReplication.cc.
|
inlinevirtual |
Indicates if replication is active.
Implements Arcane::IParallelReplication.
Definition at line 64 of file ParallelReplication.h.
|
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.
|
inlinevirtual |
Rank in the master replication.
Implements Arcane::IParallelReplication.
Definition at line 68 of file ParallelReplication.h.
|
inlinevirtual |
Number of replications.
Implements Arcane::IParallelReplication.
Definition at line 65 of file ParallelReplication.h.
|
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.
|
inlinevirtual |
Rank in the replication (from 0 to nbReplication()-1).
Implements Arcane::IParallelReplication.
Definition at line 66 of file ParallelReplication.h.
|
private |
Definition at line 73 of file ParallelReplication.h.
|
private |
Definition at line 76 of file ParallelReplication.h.
|
private |
Definition at line 77 of file ParallelReplication.h.
|
private |
Definition at line 74 of file ParallelReplication.h.
|
private |
Definition at line 78 of file ParallelReplication.h.
|
private |
Definition at line 75 of file ParallelReplication.h.