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

Optimized implementation for MPI synchronization. More...

Inheritance diagram for Arcane::MpiLegacyVariableSynchronizerDispatcher:
Collaboration diagram for Arcane::MpiLegacyVariableSynchronizerDispatcher:

Classes

class  Factory

Public Member Functions

 MpiLegacyVariableSynchronizerDispatcher (Factory *f)
Public Member Functions inherited from Arcane::AbstractDataSynchronizeImplementation
void setDataSynchronizeInfo (DataSynchronizeInfo *sync_info) final

Protected Member Functions

void compute () override
void beginSynchronize (IDataSynchronizeBuffer *buf) override
void endSynchronize (IDataSynchronizeBuffer *buf) override
Protected Member Functions inherited from Arcane::AbstractDataSynchronizeImplementation
DataSynchronizeInfo_syncInfo () const

Private Attributes

MpiParallelMngm_mpi_parallel_mng
UniqueArray< MPI_Request > m_send_requests
UniqueArray< MPI_Request > m_recv_requests
UniqueArray< Integerm_recv_requests_done
UniqueArray< MPI_Datatype > m_share_derived_types
UniqueArray< MPI_Datatype > m_ghost_derived_types

Detailed Description

Optimized implementation for MPI synchronization.

This class implements the historical version of synchronization that exists in Arcane versions prior to 3.2.

Compared to the base version, this implementation uses MPI_Waitsome (instead of Waitall) and copies into the destination buffer as soon as a message arrives.

Definition at line 46 of file MpiLegacyVariableSynchronizeDispatcher.cc.

Constructor & Destructor Documentation

◆ MpiLegacyVariableSynchronizerDispatcher()

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

Definition at line 106 of file MpiLegacyVariableSynchronizeDispatcher.cc.

Member Function Documentation

◆ beginSynchronize()

void Arcane::MpiLegacyVariableSynchronizerDispatcher::beginSynchronize ( IDataSynchronizeBuffer * buf)
overrideprotectedvirtual

◆ compute()

void Arcane::MpiLegacyVariableSynchronizerDispatcher::compute ( )
inlineoverrideprotectedvirtual

◆ endSynchronize()

void Arcane::MpiLegacyVariableSynchronizerDispatcher::endSynchronize ( IDataSynchronizeBuffer * buf)
overrideprotectedvirtual

Member Data Documentation

◆ m_ghost_derived_types

UniqueArray<MPI_Datatype> Arcane::MpiLegacyVariableSynchronizerDispatcher::m_ghost_derived_types
private

Definition at line 67 of file MpiLegacyVariableSynchronizeDispatcher.cc.

◆ m_mpi_parallel_mng

MpiParallelMng* Arcane::MpiLegacyVariableSynchronizerDispatcher::m_mpi_parallel_mng
private

Definition at line 62 of file MpiLegacyVariableSynchronizeDispatcher.cc.

◆ m_recv_requests

UniqueArray<MPI_Request> Arcane::MpiLegacyVariableSynchronizerDispatcher::m_recv_requests
private

Definition at line 64 of file MpiLegacyVariableSynchronizeDispatcher.cc.

◆ m_recv_requests_done

UniqueArray<Integer> Arcane::MpiLegacyVariableSynchronizerDispatcher::m_recv_requests_done
private

Definition at line 65 of file MpiLegacyVariableSynchronizeDispatcher.cc.

◆ m_send_requests

UniqueArray<MPI_Request> Arcane::MpiLegacyVariableSynchronizerDispatcher::m_send_requests
private

Definition at line 63 of file MpiLegacyVariableSynchronizeDispatcher.cc.

◆ m_share_derived_types

UniqueArray<MPI_Datatype> Arcane::MpiLegacyVariableSynchronizerDispatcher::m_share_derived_types
private

Definition at line 66 of file MpiLegacyVariableSynchronizeDispatcher.cc.


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