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

Calculation of the list of entities to synchronize. More...

#include <arcane/impl/internal/VariableSynchronizerComputeList.h>

Inheritance diagram for Arcane::VariableSynchronizerComputeList:
Collaboration diagram for Arcane::VariableSynchronizerComputeList:

Classes

class  RankInfo
class  GhostRankInfo
class  ShareRankInfo

Public Member Functions

 VariableSynchronizerComputeList (VariableSynchronizer *var_sync)
void compute ()
 Creation of the synchronization element list.
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 Member Functions

void _createList (UniqueArray< SharedArray< Int32 > > &boundary_items)
void _checkValid (ArrayView< GhostRankInfo > ghost_ranks_info, ArrayView< ShareRankInfo > share_ranks_info)
void _printSyncList ()

Private Attributes

VariableSynchronizerm_synchronizer
IParallelMngm_parallel_mng = nullptr
ItemGroup m_item_group
bool m_is_verbose = false
bool m_is_debug = false

Additional Inherited Members

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

Detailed Description

Calculation of the list of entities to synchronize.

Definition at line 37 of file VariableSynchronizerComputeList.h.

Constructor & Destructor Documentation

◆ VariableSynchronizerComputeList()

Arcane::VariableSynchronizerComputeList::VariableSynchronizerComputeList ( VariableSynchronizer * var_sync)
explicit

Definition at line 40 of file VariableSynchronizerComputeList.cc.

Member Function Documentation

◆ _checkValid()

void Arcane::VariableSynchronizerComputeList::_checkValid ( ArrayView< GhostRankInfo > ghost_ranks_info,
ArrayView< ShareRankInfo > share_ranks_info )
private

Definition at line 446 of file VariableSynchronizerComputeList.cc.

◆ _createList()

◆ _printSyncList()

void Arcane::VariableSynchronizerComputeList::_printSyncList ( )
private

Definition at line 544 of file VariableSynchronizerComputeList.cc.

◆ compute()

void Arcane::VariableSynchronizerComputeList::compute ( )

Creation of the synchronization element list.

To generate synchronization information, it is assumed that the owner() of each entity is correct.

Based on the communication file, constructs the structures for synchronization. It is a list of elements, each element consisting of the processor rank with which communication must occur and the localId() of the mesh entities that must be sent and received.

If the group associated with this instance is allItems(), it is checked that all entities in the family are either domain-local or ghosts. If an entity is not in this case, it will not be synchronized and parallelism consistency will not be ensured: this is a fatal error.

Operation on any group (other than allItems) is primarily dependent on changeLocalIds() being implemented on all groups.

Definition at line 74 of file VariableSynchronizerComputeList.cc.

References _createList(), Arcane::Array< T >::add(), ARCANE_FATAL, ENUMERATE_ITEM, Arcane::IItemFamily::fullName(), Arcane::platform::getCurrentDateTime(), Arcane::TraceAccessor::info(), Arcane::Item::itemBase(), Arcane::ItemBase::localId(), Arcane::ItemBase::owner(), Arcane::TraceAccessor::traceMng(), and Arcane::ItemBase::uniqueId().

Referenced by Arcane::VariableSynchronizer::compute().

Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_is_debug

bool Arcane::VariableSynchronizerComputeList::m_is_debug = false
private

Definition at line 153 of file VariableSynchronizerComputeList.h.

◆ m_is_verbose

bool Arcane::VariableSynchronizerComputeList::m_is_verbose = false
private

Definition at line 152 of file VariableSynchronizerComputeList.h.

◆ m_item_group

ItemGroup Arcane::VariableSynchronizerComputeList::m_item_group
private

Definition at line 151 of file VariableSynchronizerComputeList.h.

◆ m_parallel_mng

IParallelMng* Arcane::VariableSynchronizerComputeList::m_parallel_mng = nullptr
private

Definition at line 150 of file VariableSynchronizerComputeList.h.

◆ m_synchronizer

VariableSynchronizer* Arcane::VariableSynchronizerComputeList::m_synchronizer
private

Definition at line 149 of file VariableSynchronizerComputeList.h.


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