Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue

File pour les messages d'un rang en mémoire partagée. Plus de détails...

+ Graphe de collaboration de Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue:

Fonctions membres publiques

 SubQueue (SharedMemoryMessageQueue *master_queue, MessageRank rank)
 
MessageRank rank () const
 
void setTraceMng (ITraceMng *tm)
 
void wait (SharedMemoryMessageRequest *tmr)
 
void testRequest (SharedMemoryMessageRequest *tmr)
 
void waitRequestAvailable ()
 
void checkRequestAvailable ()
 
void waitSome (ArrayView< Request > requests, ArrayView< bool > requests_done, bool is_non_blocking)
 
MessageId probe (const PointToPointMessageInfo &message)
 
MessageSourceInfo legacyProbe (const PointToPointMessageInfo &message)
 
SharedMemoryMessageRequestaddReceive (Int64 request_id, const PointToPointMessageInfo &message, ReceiveBufferInfo buf)
 
SharedMemoryMessageRequestaddSend (Int64 request_id, const PointToPointMessageInfo &message, SendBufferInfo buf)
 

Fonctions membres privées

void _removeRequest (SharedMemoryMessageRequest *tmr, Array< SharedMemoryMessageRequest * > &requests)
 
bool _checkSendDone (SharedMemoryMessageRequest *tmr_send)
 
bool _checkRecvDone (SharedMemoryMessageRequest *tmr_recv)
 
void _checkRequestDone (SharedMemoryMessageRequest *tmr)
 
void _cleanupRequestIfDone (SharedMemoryMessageRequest *tmr)
 Nettoyage de la requête tmr si elle est finie.
 
SharedMemoryMessageRequest_getMatchingSendRequest (MessageRank recv_dest, MessageRank recv_orig, MessageTag tag)
 
void _testOrWaitRequestAvailable (bool is_blocking)
 
SharedMemoryMessageRequest_createReceiveRequest (Int64 request_id, MessageRank dest, MessageTag tag, ReceiveBufferInfo receive_buffer)
 
SharedMemoryMessageRequest_createSendRequest (Int64 request_id, MessageRank orig, MessageTag tag, SendBufferInfo send_buffer)
 

Fonctions membres privées statiques

static MessageTag SERIALIZER_TAG ()
 

Attributs privés

SharedMemoryMessageQueuem_master_queue = nullptr
 
MessageRank m_rank
 
UniqueArray< SharedMemoryMessageRequest * > m_send_requests
 
UniqueArray< SharedMemoryMessageRequest * > m_recv_requests
 
UniqueArray< SharedMemoryMessageRequest * > m_done_requests
 
RequestAsyncQueue m_async_message_queue
 
ITraceMngm_trace_mng = nullptr
 
bool m_is_debug = false
 
bool m_is_allow_null_rank_for_any_source = true
 

Description détaillée

File pour les messages d'un rang en mémoire partagée.

Utilise une file asynchrone pour conserver les messages.

Note
Les méthodes de cette classe ne sont pas thread-safe ce qui signifie que deux threads différents ne peuvent pas poster des messages issus du même rang sans synchronisation préalable. Rendre cette classe thread-safe permettrait d'avoir un comportement similaire à celui de MPI en mode MPI_THREAD_MULTIPLE.

Définition à la ligne 140 du fichier SharedMemoryMessageQueue.cc.

Documentation des constructeurs et destructeur

◆ SubQueue()

Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::SubQueue ( SharedMemoryMessageQueue master_queue,
MessageRank  rank 
)

Définition à la ligne 200 du fichier SharedMemoryMessageQueue.cc.

Documentation des fonctions membres

◆ _checkRecvDone()

bool Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::_checkRecvDone ( SharedMemoryMessageRequest tmr_recv)
private

Définition à la ligne 477 du fichier SharedMemoryMessageQueue.cc.

◆ _checkRequestDone()

void Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::_checkRequestDone ( SharedMemoryMessageRequest tmr)
private

Définition à la ligne 300 du fichier SharedMemoryMessageQueue.cc.

◆ _checkSendDone()

bool Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::_checkSendDone ( SharedMemoryMessageRequest tmr_send)
private

Définition à la ligne 423 du fichier SharedMemoryMessageQueue.cc.

◆ _cleanupRequestIfDone()

void Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::_cleanupRequestIfDone ( SharedMemoryMessageRequest tmr)
private

Nettoyage de la requête tmr si elle est finie.

Si la requête est effectuée, la supprime de la liste des requêtes.

Définition à la ligne 319 du fichier SharedMemoryMessageQueue.cc.

◆ _createReceiveRequest()

SharedMemoryMessageRequest * Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::_createReceiveRequest ( Int64  request_id,
MessageRank  dest,
MessageTag  tag,
ReceiveBufferInfo  receive_buffer 
)
private

Définition à la ligne 215 du fichier SharedMemoryMessageQueue.cc.

◆ _createSendRequest()

SharedMemoryMessageRequest * Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::_createSendRequest ( Int64  request_id,
MessageRank  orig,
MessageTag  tag,
SendBufferInfo  send_buffer 
)
private

Définition à la ligne 226 du fichier SharedMemoryMessageQueue.cc.

◆ _getMatchingSendRequest()

SharedMemoryMessageRequest * Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::_getMatchingSendRequest ( MessageRank  recv_dest,
MessageRank  recv_orig,
MessageTag  tag 
)
private

Définition à la ligne 450 du fichier SharedMemoryMessageQueue.cc.

◆ _removeRequest()

void Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::_removeRequest ( SharedMemoryMessageRequest tmr,
Array< SharedMemoryMessageRequest * > &  requests 
)
private

Définition à la ligne 407 du fichier SharedMemoryMessageQueue.cc.

◆ _testOrWaitRequestAvailable()

void Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::_testOrWaitRequestAvailable ( bool  is_blocking)
private

Définition à la ligne 333 du fichier SharedMemoryMessageQueue.cc.

◆ addReceive()

SharedMemoryMessageRequest * Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::addReceive ( Int64  request_id,
const PointToPointMessageInfo message,
ReceiveBufferInfo  buf 
)

Définition à la ligne 238 du fichier SharedMemoryMessageQueue.cc.

◆ addSend()

SharedMemoryMessageRequest * Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::addSend ( Int64  request_id,
const PointToPointMessageInfo message,
SendBufferInfo  buf 
)

Définition à la ligne 283 du fichier SharedMemoryMessageQueue.cc.

◆ checkRequestAvailable()

void Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::checkRequestAvailable ( )

Définition à la ligne 362 du fichier SharedMemoryMessageQueue.cc.

◆ legacyProbe()

MP::MessageSourceInfo Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::legacyProbe ( const PointToPointMessageInfo message)

Définition à la ligne 594 du fichier SharedMemoryMessageQueue.cc.

◆ probe()

MP::MessageId Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::probe ( const PointToPointMessageInfo message)

Définition à la ligne 551 du fichier SharedMemoryMessageQueue.cc.

◆ rank()

MessageRank Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::rank ( ) const
inline

Définition à la ligne 150 du fichier SharedMemoryMessageQueue.cc.

◆ SERIALIZER_TAG()

static MessageTag Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::SERIALIZER_TAG ( )
inlinestaticprivate

Définition à la ligne 142 du fichier SharedMemoryMessageQueue.cc.

◆ setTraceMng()

void Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::setTraceMng ( ITraceMng tm)
inline

Définition à la ligne 151 du fichier SharedMemoryMessageQueue.cc.

◆ testRequest()

void Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::testRequest ( SharedMemoryMessageRequest tmr)

Définition à la ligne 394 du fichier SharedMemoryMessageQueue.cc.

◆ wait()

void Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::wait ( SharedMemoryMessageRequest tmr)

Définition à la ligne 371 du fichier SharedMemoryMessageQueue.cc.

◆ waitRequestAvailable()

void Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::waitRequestAvailable ( )

Définition à la ligne 352 du fichier SharedMemoryMessageQueue.cc.

◆ waitSome()

void Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::waitSome ( ArrayView< Request requests,
ArrayView< bool requests_done,
bool  is_non_blocking 
)

Définition à la ligne 499 du fichier SharedMemoryMessageQueue.cc.

Documentation des données membres

◆ m_async_message_queue

RequestAsyncQueue Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::m_async_message_queue
private

Définition à la ligne 174 du fichier SharedMemoryMessageQueue.cc.

◆ m_done_requests

UniqueArray<SharedMemoryMessageRequest*> Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::m_done_requests
private

Définition à la ligne 173 du fichier SharedMemoryMessageQueue.cc.

◆ m_is_allow_null_rank_for_any_source

bool Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::m_is_allow_null_rank_for_any_source = true
private

Définition à la ligne 177 du fichier SharedMemoryMessageQueue.cc.

◆ m_is_debug

bool Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::m_is_debug = false
private

Définition à la ligne 176 du fichier SharedMemoryMessageQueue.cc.

◆ m_master_queue

SharedMemoryMessageQueue* Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::m_master_queue = nullptr
private

Définition à la ligne 169 du fichier SharedMemoryMessageQueue.cc.

◆ m_rank

MessageRank Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::m_rank
private

Définition à la ligne 170 du fichier SharedMemoryMessageQueue.cc.

◆ m_recv_requests

UniqueArray<SharedMemoryMessageRequest*> Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::m_recv_requests
private

Définition à la ligne 172 du fichier SharedMemoryMessageQueue.cc.

◆ m_send_requests

UniqueArray<SharedMemoryMessageRequest*> Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::m_send_requests
private

Définition à la ligne 171 du fichier SharedMemoryMessageQueue.cc.

◆ m_trace_mng

ITraceMng* Arcane::MessagePassing::SharedMemoryMessageQueue::SubQueue::m_trace_mng = nullptr
private

Définition à la ligne 175 du fichier SharedMemoryMessageQueue.cc.


La documentation de cette classe a été générée à partir du fichier suivant :