12#ifndef ARCANE_PARALLELEXCHANGER_H
13#define ARCANE_PARALLELEXCHANGER_H
17#include "arcane/utils/TraceAccessor.h"
18#include "arcane/utils/Array.h"
19#include "arcane/utils/String.h"
20#include "arcane/utils/Ref.h"
22#include "arcane/IParallelExchanger.h"
23#include "arcane/Timer.h"
34class SerializeMessage;
51 [[deprecated(
"Y2022: Use Arcane::createParallelExchangerImpl() instead")]]
61 bool initializeCommunicationsMessages()
override;
63 void processExchange()
override;
69 Integer
nbSender()
const override {
return m_send_ranks.size(); }
71 void addSender(Int32 rank)
override { m_send_ranks.add(rank); }
73 Integer
nbReceiver()
const override {
return m_recv_ranks.size(); }
80 void setVerbosityLevel(Int32 v)
override;
83 void setName(
const String& name)
override;
115 Int32 m_verbosity_level = 0;
125 void _initializeCommunicationsMessages();
126 void _processExchangeCollective();
Echange d'informations entre processeurs.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Options pour IParallelMng::processExchange().
Echange d'informations entre processeurs.
Int32UniqueArray m_send_ranks
Liste des sous-domaines à envoyer.
String m_name
Nom de l'instance utilisé pour l'affichage.
void setExchangeMode(eExchangeMode mode) override
Positionne le mode d'échange.
Integer nbSender() const override
Nombre de processeurs auquel on envoie.
UniqueArray< SerializeMessage * > m_recv_serialize_infos
Liste des message à recevoir.
eExchangeMode exchangeMode() const override
Mode d'échange spécifié
Int32ConstArrayView senderRanks() const override
Liste des rangs des processeurs auquel on envoie.
void addSender(Int32 rank) override
Ajoute un processeur à envoyer.
Timer m_timer
Timer pour mesurer le temps passé dans les échanges.
String name() const override
Nom de l'instance.
Int32 verbosityLevel() const override
Niveau de verbosité
Integer nbReceiver() const override
Nombre de processeurs dont on va réceptionner les messages.
UniqueArray< SerializeMessage * > m_send_serialize_infos
Liste des message à recevoir.
Int32UniqueArray m_recv_ranks
Liste des sous-domaines à recevoir.
Int32ConstArrayView receiverRanks() override
Liste des rangs des processeurs dont on va réceptionner les messages.
UniqueArray< ISerializeMessage * > m_comms_buf
Liste des message à envoyer et recevoir.
Message utilisant un SerializeBuffer.
Vue constante d'un tableau de type T.
Interface d'un message de sérialisation entre IMessagePassingMng.
Chaîne de caractères unicode.
Classe d'accès aux traces.
Vecteur 1D de données avec sémantique par valeur (style STL).
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-