Interface of the message passing manager. More...
#include <arccore/message_passing/IMessagePassingMng.h>
Public Member Functions | |
| virtual Int32 | commRank () const =0 |
| Rank of this instance in the communicator. | |
| virtual Int32 | commSize () const =0 |
| Number of instances in the communicator. | |
| virtual ITimeMetricCollector * | timeMetricCollector () const =0 |
| Interface for collecting execution times (can be null). | |
| virtual Communicator | communicator () const |
| MPI communicator associated with this instance. | |
| virtual IDispatchers * | dispatchers ()=0 |
Friends | |
| void | mpDelete (IMessagePassingMng *p) |
| Destroys the message passing instance p. | |
Interface of the message passing manager.
This class uses a semantic by reference and instances are automatically destroyed when needed.
Most of the operations on this class use free functions (like mpSend() or mpReceive()) which are defined in file 'Messages.h'.
Arcane provides several implementation for message passing, using MPI, shared memory message passing or hybrid (MPI + shared memory) message passing. When using MPI, it is possible to create an instance of this class using the class StandaloneMpiMessagePassingMng.
Definition at line 53 of file IMessagePassingMng.h.
|
pure virtual |
Rank of this instance in the communicator.
Implemented in Arcane::MessagePassing::MessagePassingMng, Arcane::ParallelMngDispatcher, and Arccore::MessagePassing::MessagePassingMng.
Referenced by Arcane::MessagePassing::mpCreateSerializeMessage(), and Arcane::MessagePassing::mpCreateSerializeMessage().
|
pure virtual |
Number of instances in the communicator.
Implemented in Arcane::MessagePassing::MessagePassingMng, Arcane::ParallelMngDispatcher, and Arccore::MessagePassing::MessagePassingMng.
|
virtual |
MPI communicator associated with this instance.
The communicator is only valid if the instance is associated with an MPI implementation. You can convert a communicator to a MPI communicator using helper methods toMpiCommunicator() and fillMpiCommunicatorIfValid() or like that:
Reimplemented in Arcane::MessagePassing::MessagePassingMng, Arcane::ParallelMngDispatcher, and Arccore::MessagePassing::MessagePassingMng.
Definition at line 89 of file MessagePassingMng.cc.
Referenced by Arcane::MessagePassing::fillMpiCommunicatorIfValid(), timeMetricCollector(), and Arcane::MessagePassing::toMpiCommunicator().
|
pure virtual |
Interface for collecting execution times (can be null).
Implemented in Arcane::MessagePassing::MessagePassingMng, Arcane::ParallelMngDispatcher, and Arccore::MessagePassing::MessagePassingMng.
References communicator().
|
friend |
Destroys the message passing instance p.
Definition at line 81 of file MessagePassingMng.cc.
References mpDelete.
Referenced by mpDelete.