Arcane  v3.14.10.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 Arccore::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 Arccore::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 48 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 309 du fichier HybridMessageQueue.cc.

◆ _addReceiveRankTag()

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

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

◆ _buildMPIMessage()

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

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

◆ _buildSharedMemoryMessage()

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

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

◆ _checkValidRank()

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

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

◆ _checkValidSource()

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

Définition à la ligne 76 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 164 du fichier HybridMessageQueue.cc.

◆ addReceive()

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

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

◆ addSend()

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

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

◆ legacyProbe()

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

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

◆ probe()

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

Définition à la ligne 425 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 113 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 147 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 :