Arcane  4.2.3.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
Référence de la classe Arcane::MessagePassing::IMessagePassingMngabstract

Interface du gestionnaire des échanges de messages. Plus de détails...

#include <arccore/message_passing/IMessagePassingMng.h>

Fonctions membres publiques

virtual Int32 commRank () const =0
 Rang de cette instance dans le communicateur.
virtual Int32 commSize () const =0
 Nombre d'instance dans le communicateur.
virtual ITimeMetricCollector * timeMetricCollector () const =0
 Interface pour collecter les temps d'exécution (peut être nul).
virtual ITraceMng * traceMng () const =0
 Gestionnaire de trace associé à cette instance.
virtual Communicator communicator () const
 Communicateur MPI associé à cette instance.
virtual IDispatchers * dispatchers ()=0

Amis

void mpDelete (IMessagePassingMng *p)
 Détruit l'instance de passage de messages p.

Description détaillée

Interface du gestionnaire des échanges de messages.

Cette classe utilise une sémantique par référence et les instances sont automatiquement détruites lorsque cela est nécessaire.

La plupart des opérations sur cette classe utilisent des fonctions libres (comme mpSend() ou mpReceive()) qui sont définies dans le fichier 'Messages.h'.

Arcane fournit plusieurs implémentations pour le passage de messages, en utilisant MPI, le passage de messages en mémoire partagée ou le passage de messages hybride (MPI + mémoire partagée). Lorsqu'on utilise MPI, il est possible de créer une instance de cette classe en utilisant la classe StandaloneMpiMessagePassingMng.

Définition à la ligne 54 du fichier IMessagePassingMng.h.

Documentation des fonctions membres

◆ commRank()

virtual Int32 Arcane::MessagePassing::IMessagePassingMng::commRank ( ) const
pure virtual

◆ commSize()

virtual Int32 Arcane::MessagePassing::IMessagePassingMng::commSize ( ) const
pure virtual

◆ communicator()

Communicator Arcane::MessagePassing::IMessagePassingMng::communicator ( ) const
virtual

Communicateur MPI associé à cette instance.

Le communicateur n'est valide que si l'instance est associée à une implémentation MPI. Vous pouvez convertir un communicateur en communicateur MPI en utilisant les méthodes d'aide toMpiCommunicator() et fillMpiCommunicatorIfValid() ou comme ceci :

IMessagePassingMng* mpm = ...;
Communicator comm = mpm->communicator();
if (comm.isValid())
MPI_Comm mpi_comm = static_cast<MPI_Comm>(comm).
Communicateur pour l'échange de message.
bool isValid() const
Indique si le communicateur est valide.
Interface du gestionnaire des échanges de messages.
virtual Communicator communicator() const
Communicateur MPI associé à cette instance.

Réimplémentée dans Arcane::MessagePassing::MessagePassingMng, Arcane::ParallelMngDispatcher, et Arccore::MessagePassing::MessagePassingMng.

Définition à la ligne 97 du fichier MessagePassingMng.cc.

Référencé par Arcane::MessagePassing::fillMpiCommunicatorIfValid(), Arcane::MessagePassing::toMpiCommunicator(), et traceMng().

◆ timeMetricCollector()

virtual ITimeMetricCollector * Arcane::MessagePassing::IMessagePassingMng::timeMetricCollector ( ) const
pure virtual

Interface pour collecter les temps d'exécution (peut être nul).

Implémenté dans Arcane::MessagePassing::MessagePassingMng, Arcane::ParallelMngDispatcher, et Arccore::MessagePassing::MessagePassingMng.

◆ traceMng()

virtual ITraceMng * Arcane::MessagePassing::IMessagePassingMng::traceMng ( ) const
pure virtual

Gestionnaire de trace associé à cette instance.

Implémenté dans Arcane::MessagePassing::MessagePassingMng, et Arccore::MessagePassing::MessagePassingMng.

Références communicator().

◆ mpDelete

void mpDelete ( IMessagePassingMng * p)
friend

Détruit l'instance de passage de messages p.

Avertissement
Ceci ne doit être utilisé qu'avec les fonctions obsolètes qui ne retournent pas d'instances de Ref<IMessagePassingMng> et retournent seulement un IMessagePassingMng*.

Définition à la ligne 89 du fichier MessagePassingMng.cc.

Références mpDelete.

Référencé par mpDelete.


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