Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::MpiVariableSynchronizer Class Reference

Specific MPI synchronizer. More...

Inheritance diagram for Arcane::MpiVariableSynchronizer:
Collaboration diagram for Arcane::MpiVariableSynchronizer:

Public Member Functions

 MpiVariableSynchronizer (IParallelMng *pm, const ItemGroup &group, Ref< IDataSynchronizeImplementationFactory > implementation_factory, Ref< IVariableSynchronizerMpiCommunicator > topology_info)
void compute () override
 Recalculates the synchronization information.
Public Member Functions inherited from Arcane::VariableSynchronizer
 VariableSynchronizer (IParallelMng *pm, const ItemGroup &group, Ref< IDataSynchronizeImplementationFactory > implementation_factory)
IParallelMngparallelMng () override
 Associated parallel manager.
const ItemGroupitemGroup () override
 Entity group used for synchronization.
void compute () override
 Creation of the list of synchronization elements.
void changeLocalIds (Int32ConstArrayView old_to_new_ids) override
 Called when the local IDs of the entities are modified.
void synchronize (IVariable *var) override
 Synchronizes the variable var in blocking mode.
void synchronize (IVariable *var, Int32ConstArrayView local_ids) override
 Synchronizes the variable var on the entities local_ids in blocking mode.
void synchronize (VariableCollection vars) override
 Synchronizes the variables vars in blocking mode.
void synchronize (VariableCollection vars, Int32ConstArrayView local_ids) override
 Synchronizes the variables vars in blocking mode.
Int32ConstArrayView communicatingRanks () override
 Ranks of subdomains with which communication occurs.
Int32ConstArrayView sharedItems (Int32 index) override
 List of local IDs of entities shared with a subdomain.
Int32ConstArrayView ghostItems (Int32 index) override
 List of local IDs of ghost entities with a subdomain.
void synchronizeData (IData *data) override
 Synchronizes the data data.
EventObservable< const VariableSynchronizerEventArgs & > & onSynchronized () override
 Event sent at the beginning and end of synchronization.
IVariableSynchronizerMngsynchronizeMng () const
Public Member Functions inherited from Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Constructs an accessor via the trace manager m.
 TraceAccessor (const TraceAccessor &rhs)
 Copy constructor.
TraceAccessoroperator= (const TraceAccessor &rhs)
 Copy assignment operator.
virtual ~TraceAccessor ()
 Frees resources.
ITraceMngtraceMng () const
 Trace manager.
TraceMessage info () const
 Flow for an information message.
TraceMessage pinfo () const
 Flow for a parallel information message.
TraceMessage info (char category) const
 Flow for an information message of a given category.
TraceMessage pinfo (char category) const
 Flow for a parallel information message of a given category.
TraceMessage info (bool v) const
 Flow for an information message.
TraceMessage warning () const
 Flow for a warning message.
TraceMessage pwarning () const
TraceMessage error () const
 Flow for an error message.
TraceMessage perror () const
TraceMessage log () const
 Flow for a log message.
TraceMessage plog () const
 Flow for a log message.
TraceMessage logdate () const
 Flow for a log message preceded by the date.
TraceMessage fatal () const
 Flow for a fatal error message.
TraceMessage pfatal () const
 Flow for a parallel fatal error message.
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flow for a debug message.
Trace::eDebugLevel configDbgLevel () const
 Debug level of the configuration file.
TraceMessage info (Int32 verbose_level) const
 Flow for an information message of a given level.
TraceMessage linfo () const
 Flow for an information message with the local information level of this instance.
TraceMessage linfo (Int32 relative_level) const
 Flow for an information message with the local information level of this instance.
void fatalMessage (const StandaloneTraceMessage &o) const

Private Attributes

Ref< IVariableSynchronizerMpiCommunicatorm_topology_info

Additional Inherited Members

Protected Member Functions inherited from Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
Int32 _localVerboseLevel () const

Detailed Description

Specific MPI synchronizer.

This class overrides VariableSynchronizer::compute() to calculate a specific communicator.

Definition at line 226 of file MpiParallelMng.cc.

Constructor & Destructor Documentation

◆ MpiVariableSynchronizer()

Arcane::MpiVariableSynchronizer::MpiVariableSynchronizer ( IParallelMng * pm,
const ItemGroup & group,
Ref< IDataSynchronizeImplementationFactory > implementation_factory,
Ref< IVariableSynchronizerMpiCommunicator > topology_info )
inline

Definition at line 231 of file MpiParallelMng.cc.

Member Function Documentation

◆ compute()

void Arcane::MpiVariableSynchronizer::compute ( )
inlineoverridevirtual

Recalculates the synchronization information.

This operation is collective.

This function must be called if the entities in itemGroup() change owner or if the group itself evolves. TODO: call this function automatically if needed.

Implements Arcane::IVariableSynchronizer.

Definition at line 241 of file MpiParallelMng.cc.

References Arcane::VariableSynchronizer::compute().

Here is the call graph for this function:

Member Data Documentation

◆ m_topology_info

Ref<IVariableSynchronizerMpiCommunicator> Arcane::MpiVariableSynchronizer::m_topology_info
private

Definition at line 251 of file MpiParallelMng.cc.


The documentation for this class was generated from the following file: