Arcane  4.1.12.0
User 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::Parallel::VariableParallelOperationBase::applyOperation().

◆ 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.

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

◆ 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.

◆ 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(), and ARCANE_CHECK_POINTER.