Utility functions associated with IParallelMng. More...
Functions | |
| Ref< IGetVariablesValuesParallelOperation > | createGetVariablesValuesOperationRef (IParallelMng *pm) |
| Returns an operation to retrieve the values of a variable on the entities of another subdomain. | |
| Ref< ITransferValuesParallelOperation > | createTransferValuesOperationRef (IParallelMng *pm) |
| Returns an operation to transfer values between ranks. | |
| Ref< IParallelExchanger > | createExchangerRef (IParallelMng *pm) |
| Returns an interface to transfer messages between ranks. | |
| Ref< IVariableSynchronizer > | createSynchronizerRef (IParallelMng *pm, IItemFamily *family) |
| Returns an interface to synchronize variables on the group of the family family. | |
| Ref< IVariableSynchronizer > | createSynchronizerRef (IParallelMng *pm, const ItemGroup &group) |
| Returns an interface to synchronize variables on the group group. | |
| Ref< IParallelTopology > | createTopologyRef (IParallelMng *pm) |
| Creates an instance containing information about the rank topology of this manager. | |
| Ref< IParallelMng > | createSubParallelMngRef (IParallelMng *pm, Int32 color, Int32 key) |
| Creates a new parallelism manager for a subset of ranks. | |
| bool | isMachineShMemWinAvailable (IParallelMng *pm) |
| Function to determine if shared memory window mode is supported and if its use is possible. | |
| Ref< ISerializeMessage > | createSendSerializeMessageRef (IParallelMng *pm, Int32 rank) |
| Creates a non-blocking serialization message for sending to rank rank. | |
| Ref< ISerializeMessage > | createReceiveSerializeMessageRef (IParallelMng *pm, Int32 rank) |
| Creates a non-blocking serialization message for receiving from rank rank. | |
Utility functions associated with IParallelMng.
| Ref< IParallelExchanger > Arcane::ParallelMngUtils::createExchangerRef | ( | IParallelMng * | pm | ) |
Returns an interface to transfer messages between ranks.
Definition at line 136 of file ParallelMngUtils.cc.
Referenced by Arcane::mesh::FaceUniqueIdBuilder::_computeFacesUniqueIdsParallelV2(), Arcane::mesh::GhostLayerBuilder::addGhostChildFromParent(), and Arcane::Parallel::VariableParallelOperationBase::applyOperation().
| Ref< IGetVariablesValuesParallelOperation > Arcane::ParallelMngUtils::createGetVariablesValuesOperationRef | ( | IParallelMng * | pm | ) |
Returns an operation to retrieve the values of a variable on the entities of another subdomain.
Definition at line 124 of file ParallelMngUtils.cc.
| Ref< ISerializeMessage > Arcane::ParallelMngUtils::createReceiveSerializeMessageRef | ( | IParallelMng * | pm, |
| Int32 | rank ) |
Creates a non-blocking serialization message for receiving from rank rank.
The message is processed only when IParallelMng::processMessages() is called.
| Ref< ISerializeMessage > Arcane::ParallelMngUtils::createSendSerializeMessageRef | ( | IParallelMng * | pm, |
| Int32 | rank ) |
Creates a non-blocking serialization message for sending to rank rank.
The message is processed only when IParallelMng::processMessages() is called.
| Ref< IParallelMng > Arcane::ParallelMngUtils::createSubParallelMngRef | ( | IParallelMng * | pm, |
| Int32 | color, | ||
| Int32 | key ) |
Creates a new parallelism manager for a subset of ranks.
This operation is collective and is equivalent to MPI_Comm_split.
Ranks whose color has the same value will be in the same communicator. key allows ordering the ranks in the created sub-communicator. If it equals pm->commRank(), then the ranks in the sub-communicator will have the same order as in pm.
Definition at line 160 of file ParallelMngUtils.cc.
Referenced by Arcane::MetisWrapper::_callMetisWith2Processors().
| Ref< IVariableSynchronizer > Arcane::ParallelMngUtils::createSynchronizerRef | ( | IParallelMng * | pm, |
| const ItemGroup & | group ) |
Returns an interface to synchronize variables on the group group.
Definition at line 148 of file ParallelMngUtils.cc.
| Ref< IVariableSynchronizer > Arcane::ParallelMngUtils::createSynchronizerRef | ( | IParallelMng * | pm, |
| IItemFamily * | family ) |
Returns an interface to synchronize variables on the group of the family family.
Definition at line 142 of file ParallelMngUtils.cc.
Referenced by Arcane::ItemGroupImpl::synchronizer().
| Ref< IParallelTopology > Arcane::ParallelMngUtils::createTopologyRef | ( | IParallelMng * | pm | ) |
Creates an instance containing information about the rank topology of this manager.
This operation is collective.
Definition at line 154 of file ParallelMngUtils.cc.
Referenced by Arcane::GraphDistributor::initWithOneRankPerNode().
| Ref< ITransferValuesParallelOperation > Arcane::ParallelMngUtils::createTransferValuesOperationRef | ( | IParallelMng * | pm | ) |
Returns an operation to transfer values between ranks.
Definition at line 130 of file ParallelMngUtils.cc.
| bool Arcane::ParallelMngUtils::isMachineShMemWinAvailable | ( | IParallelMng * | pm | ) |
Function to determine if shared memory window mode is supported and if its use is possible.
Collective call.
This function can be useful for using the classes:
Definition at line 165 of file ParallelMngUtils.cc.
References Arcane::IParallelMng::_internalApi(), ARCANE_CHECK_POINTER, and Arcane::IParallelMngInternal::isMachineShMemWinAvailable().