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

Information necessary to synchronize entities across a group. More...

#include <arcane/impl/DataSynchronizeInfo.h>

Inheritance diagram for Arcane::DataSynchronizeInfo:
Collaboration diagram for Arcane::DataSynchronizeInfo:

Public Member Functions

 DataSynchronizeInfo (const DataSynchronizeInfo &)=delete
DataSynchronizeInfo operator= (const DataSynchronizeInfo &)=delete
 DataSynchronizeInfo (DataSynchronizeInfo &&)=delete
DataSynchronizeInfo operator= (DataSynchronizeInfo &&)=delete
void clear ()
Int32 size () const
void add (const VariableSyncInfo &s)
const DataSynchronizeBufferInfoList & sendInfo () const
 Send (shared) information.
const DataSynchronizeBufferInfoList & receiveInfo () const
 Receive (ghost) information.
Int32 targetRank (Int32 index) const
 Rank of the index-th target.
ConstArrayView< Int32communicatingRanks () const
 Ranks of all targets.
void changeLocalIds (ConstArrayView< Int32 > old_to_new_ids)
 Notifies the instance that the local IDs have changed.
void recompute ()
 Notifies the instance that the values have changed.
void addReference ()
void removeReference ()
ConstArrayView< VariableSyncInfoinfos () const
ArrayView< VariableSyncInfoinfos ()
VariableSyncInfooperator[] (Int32 i)
const VariableSyncInfooperator[] (Int32 i) const
VariableSyncInforankInfo (Int32 i)
const VariableSyncInforankInfo (Int32 i) const

Static Public Member Functions

static Ref< DataSynchronizeInfo > create ()

Private Member Functions

DataSynchronizeBufferInfoList & _sendInfo ()
DataSynchronizeBufferInfoList & _receiveInfo ()
Private Member Functions inherited from Arcane::ReferenceCounterImpl
void addReference ()
void removeReference ()
void _internalAddReference ()
bool _internalRemoveReference ()

Private Attributes

UniqueArray< Int32m_communicating_ranks
UniqueArray< VariableSyncInfom_ranks_info
std::array< DataSynchronizeBufferInfoList, 2 > m_buffer_infos = { { { this, true }, { this, false } } }

Static Private Attributes

static constexpr int SEND = 0
static constexpr int RECEIVE = 1

Friends

class DataSynchronizeBufferInfoList

Detailed Description

Information necessary to synchronize entities across a group.

recompute() must be called after adding or modifying the instances of VariableSyncInfo.

Instances of this class are shared with all dispatchers (IVariableSynchronizeDispatcher) created from an instance of IVariableSynchronizer. Only the latter can therefore modify an instance of this class.

Definition at line 171 of file DataSynchronizeInfo.h.

Member Function Documentation

◆ _receiveInfo()

DataSynchronizeBufferInfoList & Arcane::DataSynchronizeInfo::_receiveInfo ( )
inlineprivate

Definition at line 258 of file DataSynchronizeInfo.h.

◆ _sendInfo()

DataSynchronizeBufferInfoList & Arcane::DataSynchronizeInfo::_sendInfo ( )
inlineprivate

Definition at line 257 of file DataSynchronizeInfo.h.

◆ add()

void Arcane::DataSynchronizeInfo::add ( const VariableSyncInfo & s)

Definition at line 167 of file DataSynchronizeInfo.cc.

◆ addReference()

void Arcane::DataSynchronizeInfo::addReference ( )
inline

Definition at line 228 of file DataSynchronizeInfo.h.

◆ changeLocalIds()

void Arcane::DataSynchronizeInfo::changeLocalIds ( ConstArrayView< Int32 > old_to_new_ids)

Notifies the instance that the local IDs have changed.

Definition at line 155 of file DataSynchronizeInfo.cc.

References recompute().

Here is the call graph for this function:

◆ clear()

void Arcane::DataSynchronizeInfo::clear ( )
inline

Definition at line 201 of file DataSynchronizeInfo.h.

◆ communicatingRanks()

ConstArrayView< Int32 > Arcane::DataSynchronizeInfo::communicatingRanks ( ) const
inline

Ranks of all targets.

Definition at line 218 of file DataSynchronizeInfo.h.

◆ create()

Ref< DataSynchronizeInfo > Arcane::DataSynchronizeInfo::create ( )
inlinestatic

Definition at line 194 of file DataSynchronizeInfo.h.

◆ infos() [1/2]

ArrayView< VariableSyncInfo > Arcane::DataSynchronizeInfo::infos ( )
inline

Definition at line 237 of file DataSynchronizeInfo.h.

◆ infos() [2/2]

ConstArrayView< VariableSyncInfo > Arcane::DataSynchronizeInfo::infos ( ) const
inline

Definition at line 234 of file DataSynchronizeInfo.h.

◆ operator[]() [1/2]

VariableSyncInfo & Arcane::DataSynchronizeInfo::operator[] ( Int32 i)
inline

Definition at line 240 of file DataSynchronizeInfo.h.

◆ operator[]() [2/2]

const VariableSyncInfo & Arcane::DataSynchronizeInfo::operator[] ( Int32 i) const
inline

Definition at line 242 of file DataSynchronizeInfo.h.

◆ rankInfo() [1/2]

VariableSyncInfo & Arcane::DataSynchronizeInfo::rankInfo ( Int32 i)
inline

Definition at line 245 of file DataSynchronizeInfo.h.

◆ rankInfo() [2/2]

const VariableSyncInfo & Arcane::DataSynchronizeInfo::rankInfo ( Int32 i) const
inline

Definition at line 247 of file DataSynchronizeInfo.h.

◆ receiveInfo()

const DataSynchronizeBufferInfoList & Arcane::DataSynchronizeInfo::receiveInfo ( ) const
inline

Receive (ghost) information.

Definition at line 212 of file DataSynchronizeInfo.h.

Referenced by Arcane::VariableSynchronizerComputeList::_createList().

Here is the caller graph for this function:

◆ recompute()

void Arcane::DataSynchronizeInfo::recompute ( )

Notifies the instance that the values have changed.

Definition at line 120 of file DataSynchronizeInfo.cc.

References Arcane::DataSynchronizeBufferInfoList::m_displacements_base, and Arcane::Array< T >::resize().

Referenced by Arcane::VariableSynchronizerComputeList::_createList(), and changeLocalIds().

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

◆ removeReference()

void Arcane::DataSynchronizeInfo::removeReference ( )
inline

Definition at line 229 of file DataSynchronizeInfo.h.

◆ sendInfo()

const DataSynchronizeBufferInfoList & Arcane::DataSynchronizeInfo::sendInfo ( ) const
inline

Send (shared) information.

Definition at line 210 of file DataSynchronizeInfo.h.

◆ size()

Int32 Arcane::DataSynchronizeInfo::size ( ) const
inline

Definition at line 206 of file DataSynchronizeInfo.h.

◆ targetRank()

Int32 Arcane::DataSynchronizeInfo::targetRank ( Int32 index) const
inline

Rank of the index-th target.

Definition at line 215 of file DataSynchronizeInfo.h.

Referenced by Arcane::VariableSynchronizerComputeList::_createList().

Here is the caller graph for this function:

◆ DataSynchronizeBufferInfoList

friend class DataSynchronizeBufferInfoList
friend

Definition at line 174 of file DataSynchronizeInfo.h.

Member Data Documentation

◆ m_buffer_infos

std::array<DataSynchronizeBufferInfoList, 2> Arcane::DataSynchronizeInfo::m_buffer_infos = { { { this, true }, { this, false } } }
private

Definition at line 253 of file DataSynchronizeInfo.h.

◆ m_communicating_ranks

UniqueArray<Int32> Arcane::DataSynchronizeInfo::m_communicating_ranks
private

Definition at line 251 of file DataSynchronizeInfo.h.

◆ m_ranks_info

UniqueArray<VariableSyncInfo> Arcane::DataSynchronizeInfo::m_ranks_info
private

Definition at line 252 of file DataSynchronizeInfo.h.

◆ RECEIVE

int Arcane::DataSynchronizeInfo::RECEIVE = 1
staticconstexprprivate

Definition at line 179 of file DataSynchronizeInfo.h.

◆ SEND

int Arcane::DataSynchronizeInfo::SEND = 0
staticconstexprprivate

Definition at line 178 of file DataSynchronizeInfo.h.


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