Arcane  4.1.12.0
Developer documentation
Loading...
Searching...
No Matches
Arcane::MpiSerializeDispatcher Class Reference
Inheritance diagram for Arcane::MpiSerializeDispatcher:
Collaboration diagram for Arcane::MpiSerializeDispatcher:

Classes

class  SerializeSubRequest
class  SendSerializerSubRequest
 Send sub-request. More...
class  ReceiveSerializerSubRequest

Public Member Functions

 MpiSerializeDispatcher (MpiAdapter *adapter, IMessagePassingMng *message_passing_mng)
Ref< ISerializeMessageListcreateSerializeMessageListRef () override
 Create a list of serialization messages.
Request sendSerializer (const ISerializer *s, const PointToPointMessageInfo &message) override
 Sending message.
Request receiveSerializer (ISerializer *s, const PointToPointMessageInfo &message) override
 Receiving message.
void broadcastSerializer (ISerializer *values, MessageRank rank)
ITraceMngtraceMng () const

Protected Member Functions

Request _recvSerializerBytes (Span< Byte > bytes, MessageRank rank, MessageTag tag, bool is_blocking)
Request _recvSerializerBytes (Span< Byte > bytes, MessageId message_id, bool is_blocking)

Private Member Functions

BasicSerializer_castSerializer (ISerializer *serializer)
const BasicSerializer_castSerializer (const ISerializer *serializer)
void _checkBigMessage (Int64 message_size)
Request _sendSerializerWithTag (ISerializer *values, MessageRank rank, MessageTag mpi_tag, bool is_blocking)
Request _sendSerializerBytes (Span< const Byte > bytes, MessageRank rank, MessageTag tag, bool is_blocking)
void _init ()

Private Attributes

friend MpiSerializeMessageList
MpiAdapterm_adapter = nullptr
IMessagePassingMngm_message_passing_mng = nullptr
ITraceMngm_trace = nullptr
Int64 m_serialize_buffer_size
Int64 m_max_serialize_buffer_size
UniqueArray< SerializeSubRequest * > m_sub_requests
bool m_is_trace_serializer = false
MPI_Datatype m_byte_serializer_datatype
Request sendSerializer (const ISerializer *s, const PointToPointMessageInfo &message, bool force_one_message)
Int64 serializeBufferSize () const
Request legacySendSerializer (ISerializer *values, const PointToPointMessageInfo &message)
void legacyReceiveSerializer (ISerializer *values, MessageRank rank, MessageTag mpi_tag)
void checkFinishedSubRequests ()
MpiAdapteradapter () const
static MessageTag nextSerializeTag (MessageTag tag)

Detailed Description

Definition at line 29 of file MpiSerializeDispatcher.h.

Constructor & Destructor Documentation

◆ MpiSerializeDispatcher()

Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::MpiSerializeDispatcher ( MpiAdapter * adapter,
IMessagePassingMng * message_passing_mng )
explicit

Definition at line 220 of file MpiSerializeDispatcher.cc.

◆ ~MpiSerializeDispatcher()

Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::~MpiSerializeDispatcher ( )
override

Definition at line 236 of file MpiSerializeDispatcher.cc.

Member Function Documentation

◆ _castSerializer()

BasicSerializer * Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::_castSerializer ( ISerializer * serializer)
private

Definition at line 581 of file MpiSerializeDispatcher.cc.

◆ _checkBigMessage()

void Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::_checkBigMessage ( Int64 message_size)
private

Definition at line 444 of file MpiSerializeDispatcher.cc.

◆ _init()

void Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::_init ( )
private

Definition at line 255 of file MpiSerializeDispatcher.cc.

◆ _recvSerializerBytes() [1/2]

Request Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::_recvSerializerBytes ( Span< Byte > bytes,
MessageId message_id,
bool is_blocking )
protected

Definition at line 329 of file MpiSerializeDispatcher.cc.

◆ _recvSerializerBytes() [2/2]

Request Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::_recvSerializerBytes ( Span< Byte > bytes,
MessageRank rank,
MessageTag tag,
bool is_blocking )
protected

Definition at line 343 of file MpiSerializeDispatcher.cc.

◆ _sendSerializerBytes()

Request Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::_sendSerializerBytes ( Span< const Byte > bytes,
MessageRank rank,
MessageTag tag,
bool is_blocking )
private

Definition at line 361 of file MpiSerializeDispatcher.cc.

◆ adapter()

MpiAdapter * Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::adapter ( ) const
inline

Definition at line 70 of file MpiSerializeDispatcher.h.

◆ broadcastSerializer()

void Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::broadcastSerializer ( ISerializer * values,
MessageRank rank )

Definition at line 537 of file MpiSerializeDispatcher.cc.

◆ checkFinishedSubRequests()

void Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::checkFinishedSubRequests ( )

Definition at line 421 of file MpiSerializeDispatcher.cc.

◆ createSerializeMessageListRef()

◆ legacyReceiveSerializer()

void Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::legacyReceiveSerializer ( ISerializer * values,
MessageRank rank,
MessageTag mpi_tag )

Definition at line 382 of file MpiSerializeDispatcher.cc.

◆ legacySendSerializer()

Request Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::legacySendSerializer ( ISerializer * values,
const PointToPointMessageInfo & message )

Definition at line 271 of file MpiSerializeDispatcher.cc.

◆ nextSerializeTag()

MessageTag Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::nextSerializeTag ( MessageTag tag)
static

Definition at line 246 of file MpiSerializeDispatcher.cc.

◆ receiveSerializer()

◆ sendSerializer() [1/2]

◆ sendSerializer() [2/2]

Definition at line 465 of file MpiSerializeDispatcher.cc.

◆ serializeBufferSize()

Int64 Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::serializeBufferSize ( ) const
inline

Definition at line 65 of file MpiSerializeDispatcher.h.

◆ traceMng()

ITraceMng * Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::traceMng ( ) const
inline

Definition at line 75 of file MpiSerializeDispatcher.h.

Member Data Documentation

◆ m_adapter

MpiAdapter* Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::m_adapter = nullptr
private

Definition at line 85 of file MpiSerializeDispatcher.h.

◆ m_byte_serializer_datatype

MPI_Datatype Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::m_byte_serializer_datatype
private

Definition at line 92 of file MpiSerializeDispatcher.h.

◆ m_is_trace_serializer

bool Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::m_is_trace_serializer = false
private

Definition at line 91 of file MpiSerializeDispatcher.h.

◆ m_max_serialize_buffer_size

Int64 Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::m_max_serialize_buffer_size
private

Definition at line 89 of file MpiSerializeDispatcher.h.

◆ m_message_passing_mng

IMessagePassingMng* Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::m_message_passing_mng = nullptr
private

Definition at line 86 of file MpiSerializeDispatcher.h.

◆ m_serialize_buffer_size

Int64 Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::m_serialize_buffer_size
private

Definition at line 88 of file MpiSerializeDispatcher.h.

◆ m_sub_requests

UniqueArray<SerializeSubRequest*> Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::m_sub_requests
private

Definition at line 90 of file MpiSerializeDispatcher.h.

◆ m_trace

ITraceMng* Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::m_trace = nullptr
private

Definition at line 87 of file MpiSerializeDispatcher.h.

◆ MpiSerializeMessageList

friend Arcane::MessagePassing::Mpi::MpiSerializeDispatcher::MpiSerializeMessageList
private

Definition at line 32 of file MpiSerializeDispatcher.h.


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