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

Specific communicator created via MPI_Dist_graph_create_adjacent. More...

Inheritance diagram for Arcane::VariableSynchronizerMpiCommunicator:
Collaboration diagram for Arcane::VariableSynchronizerMpiCommunicator:

Public Member Functions

 VariableSynchronizerMpiCommunicator (MpiParallelMng *pm)
MPI_Comm communicator () const override
 Retrieves the specific communicator from the topology.
void compute (VariableSynchronizer *var_syncer) override
 Calculates the specific communicator.

Private Member Functions

void _checkFreeCommunicator ()

Private Attributes

MpiParallelMngm_mpi_parallel_mng = nullptr
MPI_Comm m_topology_communicator = MPI_COMM_NULL

Detailed Description

Specific communicator created via MPI_Dist_graph_create_adjacent.

Definition at line 132 of file MpiParallelMng.cc.

Constructor & Destructor Documentation

◆ VariableSynchronizerMpiCommunicator()

Arcane::VariableSynchronizerMpiCommunicator::VariableSynchronizerMpiCommunicator ( MpiParallelMng * pm)
inlineexplicit

Definition at line 137 of file MpiParallelMng.cc.

◆ ~VariableSynchronizerMpiCommunicator()

Arcane::VariableSynchronizerMpiCommunicator::~VariableSynchronizerMpiCommunicator ( )
inlineoverride

Definition at line 140 of file MpiParallelMng.cc.

Member Function Documentation

◆ _checkFreeCommunicator()

void Arcane::VariableSynchronizerMpiCommunicator::_checkFreeCommunicator ( )
inlineprivate

Definition at line 210 of file MpiParallelMng.cc.

◆ communicator()

MPI_Comm Arcane::VariableSynchronizerMpiCommunicator::communicator ( ) const
inlineoverridevirtual

Retrieves the specific communicator from the topology.

This communicator should not be retained because it may be invalidated between two calls to compute().

Implements Arcane::IVariableSynchronizerMpiCommunicator.

Definition at line 144 of file MpiParallelMng.cc.

◆ compute()

void Arcane::VariableSynchronizerMpiCommunicator::compute ( VariableSynchronizer * var_syncer)
inlineoverridevirtual

Calculates the specific communicator.

Implements Arcane::IVariableSynchronizerMpiCommunicator.

Definition at line 148 of file MpiParallelMng.cc.

References ARCANE_FATAL, Arcane::VariableSynchronizer::communicatingRanks(), Arcane::MpiParallelMng::communicator(), Arcane::Array< T >::data(), and Arcane::ConstArrayView< T >::size().

Here is the call graph for this function:

Member Data Documentation

◆ m_mpi_parallel_mng

MpiParallelMng* Arcane::VariableSynchronizerMpiCommunicator::m_mpi_parallel_mng = nullptr
private

Definition at line 205 of file MpiParallelMng.cc.

◆ m_topology_communicator

MPI_Comm Arcane::VariableSynchronizerMpiCommunicator::m_topology_communicator = MPI_COMM_NULL
private

Definition at line 206 of file MpiParallelMng.cc.


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