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

Block implementation for MPI synchronization. More...

Inheritance diagram for Arcane::MpiBlockVariableSynchronizerDispatcher:
Collaboration diagram for Arcane::MpiBlockVariableSynchronizerDispatcher:

Classes

class  Factory

Public Member Functions

 MpiBlockVariableSynchronizerDispatcher (Factory *f)
void compute () override
void beginSynchronize (IDataSynchronizeBuffer *buf) override
void endSynchronize (IDataSynchronizeBuffer *buf) override
Public Member Functions inherited from Arcane::AbstractDataSynchronizeImplementation
void setDataSynchronizeInfo (DataSynchronizeInfo *sync_info) final

Private Member Functions

bool _isSkipRank (Int32 rank, Int32 sequence) const

Private Attributes

MpiParallelMngm_mpi_parallel_mng = nullptr
Ref< Parallel::IRequestListm_request_list
Int32 m_block_size
Int32 m_nb_sequence

Additional Inherited Members

Protected Member Functions inherited from Arcane::AbstractDataSynchronizeImplementation
DataSynchronizeInfo_syncInfo () const

Detailed Description

Block implementation for MPI synchronization.

Messages are sent in fixed-size blocks.

NOTE: This optimization respects the MPI standard which states that the memory area of a message must not be touched until it is finished.

Definition at line 54 of file MpiBlockVariableSynchronizeDispatcher.cc.

Constructor & Destructor Documentation

◆ MpiBlockVariableSynchronizerDispatcher()

Arcane::MpiBlockVariableSynchronizerDispatcher::MpiBlockVariableSynchronizerDispatcher ( Factory * f)
explicit

Definition at line 120 of file MpiBlockVariableSynchronizeDispatcher.cc.

Member Function Documentation

◆ _isSkipRank()

bool Arcane::MpiBlockVariableSynchronizerDispatcher::_isSkipRank ( Int32 rank,
Int32 sequence ) const
private

Definition at line 132 of file MpiBlockVariableSynchronizeDispatcher.cc.

◆ beginSynchronize()

void Arcane::MpiBlockVariableSynchronizerDispatcher::beginSynchronize ( IDataSynchronizeBuffer * buf)
overridevirtual

◆ compute()

void Arcane::MpiBlockVariableSynchronizerDispatcher::compute ( )
inlineoverridevirtual

◆ endSynchronize()

void Arcane::MpiBlockVariableSynchronizerDispatcher::endSynchronize ( IDataSynchronizeBuffer * buf)
overridevirtual

Member Data Documentation

◆ m_block_size

Int32 Arcane::MpiBlockVariableSynchronizerDispatcher::m_block_size
private

Definition at line 72 of file MpiBlockVariableSynchronizeDispatcher.cc.

◆ m_mpi_parallel_mng

MpiParallelMng* Arcane::MpiBlockVariableSynchronizerDispatcher::m_mpi_parallel_mng = nullptr
private

Definition at line 70 of file MpiBlockVariableSynchronizeDispatcher.cc.

◆ m_nb_sequence

Int32 Arcane::MpiBlockVariableSynchronizerDispatcher::m_nb_sequence
private

Definition at line 73 of file MpiBlockVariableSynchronizeDispatcher.cc.

◆ m_request_list

Ref<Parallel::IRequestList> Arcane::MpiBlockVariableSynchronizerDispatcher::m_request_list
private

Definition at line 71 of file MpiBlockVariableSynchronizeDispatcher.cc.


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