Arcane  v3.16.0.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MessagePassing::HybridMessageQueue

Interface d'une file de messages avec les threads. Plus de détails...

#include <arcane/parallel/mpithread/HybridMessageQueue.h>

+ Graphe d'héritage de Arcane::MessagePassing::HybridMessageQueue:
+ Graphe de collaboration de Arcane::MessagePassing::HybridMessageQueue:

Fonctions membres publiques

 HybridMessageQueue (ISharedMemoryMessageQueue *thread_queue, MpiParallelMng *mpi_pm, Int32 local_nb_rank)
 
void waitAll (ArrayView< Request > requests)
 
void waitSome (Int32 rank, ArrayView< Request > requests, ArrayView< bool > requests_done, bool is_non_blocking)
 
Request addReceive (const PointToPointMessageInfo &message, ReceiveBufferInfo buf)
 
Request addSend (const PointToPointMessageInfo &message, SendBufferInfo buf)
 
MessageId probe (const MP::PointToPointMessageInfo &message)
 
MP::MessageSourceInfo legacyProbe (const MP::PointToPointMessageInfo &message)
 
const RankTagBuilderrankTagBuilder () const
 
- Fonctions membres publiques hérités de Arcane::TraceAccessor
 TraceAccessor (ITraceMng *m)
 Construit un accesseur via le gestionnaire de trace m.
 
 TraceAccessor (const TraceAccessor &rhs)
 Constructeur par recopie.
 
TraceAccessoroperator= (const TraceAccessor &rhs)
 Opérateur de recopie.
 
virtual ~TraceAccessor ()
 Libère les ressources.
 
ITraceMngtraceMng () const
 Gestionnaire de trace.
 
TraceMessage info () const
 Flot pour un message d'information.
 
TraceMessage pinfo () const
 Flot pour un message d'information en parallèle.
 
TraceMessage info (char category) const
 Flot pour un message d'information d'une catégorie donnée.
 
TraceMessage pinfo (char category) const
 Flot pour un message d'information parallèle d'une catégorie donnée.
 
TraceMessage info (bool v) const
 Flot pour un message d'information.
 
TraceMessage warning () const
 Flot pour un message d'avertissement.
 
TraceMessage pwarning () const
 
TraceMessage error () const
 Flot pour un message d'erreur.
 
TraceMessage perror () const
 
TraceMessage log () const
 Flot pour un message de log.
 
TraceMessage plog () const
 Flot pour un message de log.
 
TraceMessage logdate () const
 Flot pour un message de log précédé de la date.
 
TraceMessage fatal () const
 Flot pour un message d'erreur fatale.
 
TraceMessage pfatal () const
 Flot pour un message d'erreur fatale en parallèle.
 
TraceMessageDbg debug (Trace::eDebugLevel=Trace::Medium) const
 Flot pour un message de debug.
 
Trace::eDebugLevel configDbgLevel () const
 Niveau debug du fichier de configuration.
 
TraceMessage info (Int32 verbose_level) const
 Flot pour un message d'information d'un niveau donné
 
TraceMessage linfo () const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
TraceMessage linfo (Int32 relative_level) const
 Flot pour un message d'information avec le niveau d'information local à cette instance.
 
void fatalMessage (const StandaloneTraceMessage &o) const
 

Fonctions membres privées

Request _addReceiveRankTag (const PointToPointMessageInfo &message, ReceiveBufferInfo buf_info)
 
Request _addReceiveMessageId (const PointToPointMessageInfo &message, ReceiveBufferInfo buf_info)
 
void _checkValidRank (MessageRank rank)
 
void _checkValidSource (const PointToPointMessageInfo &message)
 
SourceDestinationFullRankInfo _getFullRankInfo (const PointToPointMessageInfo &message)
 
PointToPointMessageInfo _buildSharedMemoryMessage (const PointToPointMessageInfo &message, const SourceDestinationFullRankInfo &fri)
 
PointToPointMessageInfo _buildMPIMessage (const PointToPointMessageInfo &message, const SourceDestinationFullRankInfo &fri)
 
Integer _testOrWaitSome (Int32 rank, ArrayView< Request > requests, ArrayView< bool > requests_done)
 
MessageId _probe (const MP::PointToPointMessageInfo &message, bool use_message_id)
 

Attributs privés

ISharedMemoryMessageQueuem_thread_queue
 
MpiParallelMngm_mpi_parallel_mng
 
MpiAdapterm_mpi_adapter
 
Int32 m_local_nb_rank
 
RankTagBuilder m_rank_tag_builder
 
Int32 m_debug_level = 0
 
bool m_is_allow_null_rank_for_any_source = true
 

Membres hérités additionnels

- Fonctions membres protégées hérités de Arcane::TraceAccessor
void _setLocalVerboseLevel (Int32 v)
 
Int32 _localVerboseLevel () const
 

Description détaillée

Interface d'une file de messages avec les threads.

Avertissement
Toutes les méthodes de cette classe doivent être thread-safe.

Définition à la ligne 195 du fichier HybridMessageQueue.h.

Documentation des constructeurs et destructeur

◆ HybridMessageQueue()

Arcane::MessagePassing::HybridMessageQueue::HybridMessageQueue ( ISharedMemoryMessageQueue * thread_queue,
MpiParallelMng * mpi_pm,
Int32 local_nb_rank )

Définition à la ligne 49 du fichier HybridMessageQueue.cc.

Documentation des fonctions membres

◆ _addReceiveMessageId()

Request Arcane::MessagePassing::HybridMessageQueue::_addReceiveMessageId ( const PointToPointMessageInfo & message,
ReceiveBufferInfo buf_info )
private

Définition à la ligne 310 du fichier HybridMessageQueue.cc.

◆ _addReceiveRankTag()

Request Arcane::MessagePassing::HybridMessageQueue::_addReceiveRankTag ( const PointToPointMessageInfo & message,
ReceiveBufferInfo buf_info )
private

Définition à la ligne 264 du fichier HybridMessageQueue.cc.

◆ _buildMPIMessage()

PointToPointMessageInfo Arcane::MessagePassing::HybridMessageQueue::_buildMPIMessage ( const PointToPointMessageInfo & message,
const SourceDestinationFullRankInfo & fri )
private

Définition à la ligne 101 du fichier HybridMessageQueue.cc.

◆ _buildSharedMemoryMessage()

PointToPointMessageInfo Arcane::MessagePassing::HybridMessageQueue::_buildSharedMemoryMessage ( const PointToPointMessageInfo & message,
const SourceDestinationFullRankInfo & fri )
private

Définition à la ligne 88 du fichier HybridMessageQueue.cc.

◆ _checkValidRank()

void Arcane::MessagePassing::HybridMessageQueue::_checkValidRank ( MessageRank rank)
private

Définition à la ligne 67 du fichier HybridMessageQueue.cc.

◆ _checkValidSource()

void Arcane::MessagePassing::HybridMessageQueue::_checkValidSource ( const PointToPointMessageInfo & message)
private

Définition à la ligne 77 du fichier HybridMessageQueue.cc.

◆ _getFullRankInfo()

SourceDestinationFullRankInfo Arcane::MessagePassing::HybridMessageQueue::_getFullRankInfo ( const PointToPointMessageInfo & message)
inlineprivate

Définition à la ligne 232 du fichier HybridMessageQueue.h.

◆ _testOrWaitSome()

Integer Arcane::MessagePassing::HybridMessageQueue::_testOrWaitSome ( Int32 rank,
ArrayView< Request > requests,
ArrayView< bool > requests_done )
private

Définition à la ligne 165 du fichier HybridMessageQueue.cc.

◆ addReceive()

Request Arcane::MessagePassing::HybridMessageQueue::addReceive ( const PointToPointMessageInfo & message,
ReceiveBufferInfo buf )

Définition à la ligne 357 du fichier HybridMessageQueue.cc.

◆ addSend()

Request Arcane::MessagePassing::HybridMessageQueue::addSend ( const PointToPointMessageInfo & message,
SendBufferInfo buf )

Définition à la ligne 377 du fichier HybridMessageQueue.cc.

◆ legacyProbe()

MP::MessageSourceInfo Arcane::MessagePassing::HybridMessageQueue::legacyProbe ( const MP::PointToPointMessageInfo & message)

Définition à la ligne 528 du fichier HybridMessageQueue.cc.

◆ probe()

MP::MessageId Arcane::MessagePassing::HybridMessageQueue::probe ( const MP::PointToPointMessageInfo & message)

Définition à la ligne 426 du fichier HybridMessageQueue.cc.

◆ rankTagBuilder()

const RankTagBuilder & Arcane::MessagePassing::HybridMessageQueue::rankTagBuilder ( ) const
inline

Définition à la ligne 214 du fichier HybridMessageQueue.h.

◆ waitAll()

void Arcane::MessagePassing::HybridMessageQueue::waitAll ( ArrayView< Request > requests)

Définition à la ligne 114 du fichier HybridMessageQueue.cc.

◆ waitSome()

void Arcane::MessagePassing::HybridMessageQueue::waitSome ( Int32 rank,
ArrayView< Request > requests,
ArrayView< bool > requests_done,
bool is_non_blocking )

Définition à la ligne 148 du fichier HybridMessageQueue.cc.

Documentation des données membres

◆ m_debug_level

Int32 Arcane::MessagePassing::HybridMessageQueue::m_debug_level = 0
private

Définition à la ligne 223 du fichier HybridMessageQueue.h.

◆ m_is_allow_null_rank_for_any_source

bool Arcane::MessagePassing::HybridMessageQueue::m_is_allow_null_rank_for_any_source = true
private

Définition à la ligne 224 du fichier HybridMessageQueue.h.

◆ m_local_nb_rank

Int32 Arcane::MessagePassing::HybridMessageQueue::m_local_nb_rank
private

Définition à la ligne 221 du fichier HybridMessageQueue.h.

◆ m_mpi_adapter

MpiAdapter* Arcane::MessagePassing::HybridMessageQueue::m_mpi_adapter
private

Définition à la ligne 220 du fichier HybridMessageQueue.h.

◆ m_mpi_parallel_mng

MpiParallelMng* Arcane::MessagePassing::HybridMessageQueue::m_mpi_parallel_mng
private

Définition à la ligne 219 du fichier HybridMessageQueue.h.

◆ m_rank_tag_builder

RankTagBuilder Arcane::MessagePassing::HybridMessageQueue::m_rank_tag_builder
private

Définition à la ligne 222 du fichier HybridMessageQueue.h.

◆ m_thread_queue

ISharedMemoryMessageQueue* Arcane::MessagePassing::HybridMessageQueue::m_thread_queue
private

Définition à la ligne 218 du fichier HybridMessageQueue.h.


La documentation de cette classe a été générée à partir des fichiers suivants :