14#include "arcane/core/ParallelMngUtils.h"
16#include "arcane/core/IParallelMng.h"
17#include "arcane/core/internal/IParallelMngUtilsFactory.h"
18#include "arcane/core/internal/IParallelMngInternal.h"
41 auto f = pm->_internalUtilsFactory();
42 return f->createGetVariablesValuesOperation(pm);
49 auto f = pm->_internalUtilsFactory();
50 return f->createTransferValuesOperation(pm);
57 auto f = pm->_internalUtilsFactory();
58 return f->createExchanger(pm);
65 auto f = pm->_internalUtilsFactory();
66 return f->createSynchronizer(pm, family);
73 auto f = pm->_internalUtilsFactory();
74 return f->createSynchronizer(pm, group);
81 auto f = pm->_internalUtilsFactory();
82 return f->createTopology(pm);
89 return pm->
_internalApi()->createSubParallelMngRef(color, key);
96 auto f = pm->_internalUtilsFactory();
97 return f->createSendSerializeMessage(pm, rank);
104 auto f = pm->_internalUtilsFactory();
105 return f->createReceiveSerializeMessage(pm, rank);
126 return ParallelMngUtilsAccessor::createGetVariablesValuesOperation(pm);
132 return ParallelMngUtilsAccessor::createTransferValuesOperation(pm);
138 return ParallelMngUtilsAccessor::createExchanger(pm);
144 return ParallelMngUtilsAccessor::createSynchronizer(pm, family);
150 return ParallelMngUtilsAccessor::createSynchronizer(pm, group);
156 return ParallelMngUtilsAccessor::createTopology(pm);
162 return ParallelMngUtilsAccessor::createSubParallelMngRef(pm, color, key);
168 return pm->
_internalApi()->isMachineShMemWinAvailable();
#define ARCANE_CHECK_POINTER(ptr)
Macro returning the pointer ptr if it is not null or throwing an exception if it is null.
Interface of an entity family.
Interface of the parallelism manager for a subdomain.
virtual IParallelMngInternal * _internalApi()=0
Internal Arcane API.
'friend' class of IParallelMng allowing access to IParallelMng::_internalUtilsFactory() const;
Reference to an instance.
Utility functions associated with IParallelMng.
Ref< IParallelMng > createSubParallelMngRef(IParallelMng *pm, Int32 color, Int32 key)
Creates a new parallelism manager for a subset of ranks.
Ref< IParallelExchanger > createExchangerRef(IParallelMng *pm)
Returns an interface to transfer messages between ranks.
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< IParallelTopology > createTopologyRef(IParallelMng *pm)
Creates an instance containing information about the rank topology of this manager.
bool isMachineShMemWinAvailable(IParallelMng *pm)
Function to determine if shared memory window mode is supported and if its use is possible.
Ref< IVariableSynchronizer > createSynchronizerRef(IParallelMng *pm, IItemFamily *family)
Returns an interface to synchronize variables on the group of the family family.
-- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature --
std::int32_t Int32
Signed integer type of 32 bits.