Classes | |
class | HybridSerializeMessageRequest |
Fonctions membres publiques | |
HybridSerializeMessageList (HybridParallelMng *mpm) | |
void | addMessage (ISerializeMessage *msg) override |
Ajoute un message à la liste. | |
void | processPendingMessages () override |
Envoie les messages de la liste qui ne l'ont pas encore été. | |
Integer | waitMessages (Parallel::eWaitType wait_type) override |
Attend que les messages aient terminé leur exécution. | |
![]() | |
virtual | ~ISerializeMessageList () |
Libère les ressources. | |
virtual Ref< ISerializeMessage > | createAndAddMessage (MessageRank destination, ePointToPointMessageType type)=0 |
Créé et ajoute un message de sérialisation. | |
Fonctions membres privées | |
void | _waitAll () |
void | _wait (Parallel::eWaitType wait_mode) |
Attributs privés | |
HybridParallelMng * | m_parallel_mng |
ITraceMng * | m_trace |
UniqueArray< ISerializeMessage * > | m_messages_to_process |
Définition à la ligne 66 du fichier HybridParallelMng.cc.
|
inlineexplicit |
Définition à la ligne 82 du fichier HybridParallelMng.cc.
|
private |
Définition à la ligne 128 du fichier HybridParallelMng.cc.
|
inlineoverridevirtual |
Ajoute un message à la liste.
Le message n'est pas posté tant qu'aucun appel à processPendingMessages() n'a été effectué. L'utilisateur garde la propriété du message qui ne doit pas être détruit tant qu'il n'est pas terminé.
Implémente Arcane::MessagePassing::ISerializeMessageList.
Définition à la ligne 89 du fichier HybridParallelMng.cc.
|
inlineoverridevirtual |
Envoie les messages de la liste qui ne l'ont pas encore été.
Cette méthode envoie les messages ajoutés via addMessage() qui ne l'ont pas encore été. Il n'est en général pas nécessaire d'appeler cette méthode car cele est fait automatiquement lors de l'appel à waitMessages().
Implémente Arcane::MessagePassing::ISerializeMessageList.
Définition à la ligne 94 du fichier HybridParallelMng.cc.
|
inlineoverridevirtual |
Attend que les messages aient terminé leur exécution.
Le type d'attente est spécifié par wt.
Il est ensuite possible de tester si un message est terminé via la méthode ISerializeMessage::isFinished(). Cette classe ne garde aucune référence sur les messages terminés qui peuvent donc être détruits par l'utilisateur dès qu'il n'en a plus besoin.
Implémente Arcane::MessagePassing::ISerializeMessageList.
Définition à la ligne 98 du fichier HybridParallelMng.cc.
Références ARCANE_THROW, Arcane::MessagePassing::WaitSome, et Arcane::MessagePassing::WaitSomeNonBlocking.
|
private |
Définition à la ligne 119 du fichier HybridParallelMng.cc.
|
private |
Définition à la ligne 117 du fichier HybridParallelMng.cc.
|
private |
Définition à la ligne 118 du fichier HybridParallelMng.cc.