Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::ParallelMngUtils Namespace Reference

Utility functions associated with IParallelMng. More...

Functions

Ref< IGetVariablesValuesParallelOperationcreateGetVariablesValuesOperationRef (IParallelMng *pm)
 Returns an operation to retrieve the values of a variable on the entities of another subdomain.
Ref< ITransferValuesParallelOperationcreateTransferValuesOperationRef (IParallelMng *pm)
 Returns an operation to transfer values between ranks.
Ref< IParallelExchangercreateExchangerRef (IParallelMng *pm)
 Returns an interface to transfer messages between ranks.
Ref< IVariableSynchronizercreateSynchronizerRef (IParallelMng *pm, IItemFamily *family)
 Returns an interface to synchronize variables on the group of the family family.
Ref< IVariableSynchronizercreateSynchronizerRef (IParallelMng *pm, const ItemGroup &group)
 Returns an interface to synchronize variables on the group group.
Ref< IParallelTopologycreateTopologyRef (IParallelMng *pm)
 Creates an instance containing information about the rank topology of this manager.
Ref< IParallelMngcreateSubParallelMngRef (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< ISerializeMessagecreateSendSerializeMessageRef (IParallelMng *pm, Int32 rank)
 Creates a non-blocking serialization message for sending to rank rank.
Ref< ISerializeMessagecreateReceiveSerializeMessageRef (IParallelMng *pm, Int32 rank)
 Creates a non-blocking serialization message for receiving from rank rank.

Detailed Description

Utility functions associated with IParallelMng.

Function Documentation

◆ createExchangerRef()

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().

Here is the caller graph for this function:

◆ createGetVariablesValuesOperationRef()

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.

◆ createReceiveSerializeMessageRef()

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.

◆ createSendSerializeMessageRef()

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.

◆ createSubParallelMngRef()

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.

  • If color is negative, then the current rank will not be associated with any communicator and the returned value will be null.

Definition at line 160 of file ParallelMngUtils.cc.

Referenced by Arcane::MetisWrapper::_callMetisWith2Processors().

Here is the caller graph for this function:

◆ createSynchronizerRef() [1/2]

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.

◆ createSynchronizerRef() [2/2]

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().

Here is the caller graph for this function:

◆ createTopologyRef()

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().

Here is the caller graph for this function:

◆ createTransferValuesOperationRef()

Ref< ITransferValuesParallelOperation > Arcane::ParallelMngUtils::createTransferValuesOperationRef ( IParallelMng * pm)

Returns an operation to transfer values between ranks.

Definition at line 130 of file ParallelMngUtils.cc.

◆ isMachineShMemWinAvailable()

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:

  • MachineShMemWin(Base)
  • ContigMachineShMemWin(Base)
  • MachineShMemWinVariable...
Returns
true if the classes above can be used.

Definition at line 165 of file ParallelMngUtils.cc.

References Arcane::IParallelMng::_internalApi(), ARCANE_CHECK_POINTER, and Arcane::IParallelMngInternal::isMachineShMemWinAvailable().

Here is the call graph for this function: