14#include "arccore/message_passing_mpi/StandaloneMpiMessagePassingMng.h"
16#include "arccore/message_passing/Dispatchers.h"
17#include "arccore/message_passing/Stat.h"
18#include "arccore/trace/ITraceMng.h"
19#include "arccore/base/ReferenceCounter.h"
20#include "arccore/base/BFloat16.h"
21#include "arccore/base/Float16.h"
23#include "arccore/message_passing_mpi/MpiAdapter.h"
24#include "arccore/message_passing_mpi/MpiDatatype.h"
25#include "arccore/message_passing_mpi/MpiTypeDispatcher.h"
26#include "arccore/message_passing_mpi/MpiControlDispatcher.h"
27#include "arccore/message_passing_mpi/MpiSerializeDispatcher.h"
32namespace Arcane::MessagePassing::Mpi
42 : m_communicator(mpi_comm), m_clean_comm(
clean_comm)
44 m_trace_mng = Arccore::arccoreCreateDefaultTraceMng();
45 ::MPI_Comm_rank(mpi_comm, &m_comm_rank);
46 ::MPI_Comm_size(mpi_comm, &m_comm_size);
50 m_adapter =
new MpiAdapter(m_trace_mng.get(), m_stat, mpi_comm, mpi_lock);
62 std::cerr <<
"ERROR: msg=" <<
ex <<
"\n";
81 IStat* m_stat =
nullptr;
84 int m_comm_rank = A_NULL_RANK;
85 int m_comm_size = A_NULL_RANK;
87 bool m_clean_comm =
false;
93StandaloneMpiMessagePassingMng::
94StandaloneMpiMessagePassingMng(
Impl*
p)
103StandaloneMpiMessagePassingMng::
104~StandaloneMpiMessagePassingMng()
111 template <
typename DataType>
void
116 x->setDestroyDatatype(
true);
117 dispatchers->setDispatcher(x);
120 template <
typename DataType>
void
139 auto adapter =
p->m_adapter;
140 auto dsp =
p->m_dispatchers;
Lecteur des fichiers de maillage via la bibliothèque LIMA.
void destroy()
Détruit l'instance. Elle ne doit plus être utilisée par la suite.
Encapsulation d'un MPI_Datatype.
Verrou pour les appels MPI.
Implémentation MPI du gestionnaire des échanges de messages.
Version autonome de MpiMessagePassingMng.
static Ref< IMessagePassingMng > createRef(MPI_Comm comm, bool clean_comm=false)
Créé un gestionnaire associé au communicateur comm.
static MpiMessagePassingMng * create(MPI_Comm comm, bool clean_comm=false)
Créé un gestionnaire associé au communicateur comm.
Classe de base d'une exception.
Interface du conteneur des dispatchers.
void setDeleteDispatchers(bool v)
Indique si lors de la destruction on appelle l'opérateur delete sur les instances (faux par défaut)
Interface du gestionnaire des échanges de messages.
Statistiques sur le parallélisme.
Gestionnaire de statistiques sur le parallélisme.