Calculation of the list of entities to synchronize. More...
#include <arcane/impl/internal/VariableSynchronizerComputeList.h>
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. | |
| TraceAccessor & | operator= (const TraceAccessor &rhs) |
| Copy assignment operator. | |
| virtual | ~TraceAccessor () |
| Frees resources. | |
| ITraceMng * | traceMng () 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 | |
| VariableSynchronizer * | m_synchronizer |
| IParallelMng * | m_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 |
Calculation of the list of entities to synchronize.
Definition at line 37 of file VariableSynchronizerComputeList.h.
|
explicit |
Definition at line 40 of file VariableSynchronizerComputeList.cc.
|
private |
Definition at line 446 of file VariableSynchronizerComputeList.cc.
|
private |
Ids of group entities
Definition at line 135 of file VariableSynchronizerComputeList.cc.
References Arcane::Array< T >::add(), Arcane::IParallelMng::allGather(), ARCANE_FATAL, Arcane::IParallelMng::commRank(), Arcane::IParallelMng::commSize(), Arcane::TraceAccessor::debug(), Arcane::ArrayView< T >::empty(), Arcane::Array< T >::fill(), Arcane::platform::getCurrentDateTime(), Arcane::platform::getRealTime(), Arcane::Trace::Highest, Arcane::TraceAccessor::info(), Arcane::IItemFamily::itemsUniqueIdToLocalId(), Arcane::Item::localId(), Arcane::DataSynchronizeBufferInfoList::nbItem(), Arcane::DataSynchronizeInfo::receiveInfo(), Arcane::DataSynchronizeInfo::recompute(), Arcane::IParallelMng::recv(), Arcane::IParallelMng::reduce(), Arcane::MessagePassing::ReduceMax, Arcane::Array< T >::resize(), Arcane::AbstractArray< T >::size(), Arcane::ArrayView< T >::size(), Arcane::ConstArrayView< T >::size(), Arcane::DataSynchronizeInfo::targetRank(), Arcane::Item::uniqueId(), and Arcane::IParallelMng::waitAllRequests().
Referenced by compute().
|
private |
Definition at line 544 of file VariableSynchronizerComputeList.cc.
| 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().
|
private |
Definition at line 153 of file VariableSynchronizerComputeList.h.
|
private |
Definition at line 152 of file VariableSynchronizerComputeList.h.
|
private |
Definition at line 151 of file VariableSynchronizerComputeList.h.
|
private |
Definition at line 150 of file VariableSynchronizerComputeList.h.
|
private |
Definition at line 149 of file VariableSynchronizerComputeList.h.