Arcane  4.2.3.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
IMessagePassingMng.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2026 CEA (www.cea.fr) IFPEN (www.ifpenergiesnouvelles.com)
4// See the top-level COPYRIGHT file for details.
5// SPDX-License-Identifier: Apache-2.0
6//-----------------------------------------------------------------------------
7/*---------------------------------------------------------------------------*/
8/* IMessagePassingMng.h (C) 2000-2026 */
9/* */
10/* Interface du gestionnaire des échanges de messages. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCCORE_MESSAGEPASSING_IMESSAGEPASSINGMNG_H
13#define ARCCORE_MESSAGEPASSING_IMESSAGEPASSINGMNG_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
23{
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
34extern "C++" void ARCCORE_MESSAGEPASSING_EXPORT
36
37/*---------------------------------------------------------------------------*/
38/*---------------------------------------------------------------------------*/
54class ARCCORE_MESSAGEPASSING_EXPORT IMessagePassingMng
55{
56 friend void ARCCORE_MESSAGEPASSING_EXPORT mpDelete(IMessagePassingMng*);
58
59 public:
60
61 virtual ~IMessagePassingMng() = default;
62
63 public:
64
66 virtual Int32 commRank() const = 0;
67
69 virtual Int32 commSize() const = 0;
70
73
75 virtual ITraceMng* traceMng() const =0;
76
92 virtual Communicator communicator() const;
93
94 public:
95
96 virtual IDispatchers* dispatchers() = 0;
97};
98
99/*---------------------------------------------------------------------------*/
100/*---------------------------------------------------------------------------*/
101
102} // End namespace Arccore::MessagePassing
103
104/*---------------------------------------------------------------------------*/
105/*---------------------------------------------------------------------------*/
106
107#endif
Déclarations générales de la composante 'message_passing'.
#define ARCCORE_DECLARE_REFERENCE_COUNTED_INCLASS_METHODS()
Macro pour déclarer les méthodes virtuelles gérant les compteurs de référence.
friend void mpDelete(IMessagePassingMng *)
Détruit l'instance de passage de messages p.
Interface gérant les statistiques sur l'exécution.
Interface du gestionnaire de traces.
Communicateur pour l'échange de message.
Interface du conteneur des dispatchers.
Interface du gestionnaire des échanges de messages.
virtual ITraceMng * traceMng() const =0
Gestionnaire de trace associé à cette instance.
virtual Int32 commRank() const =0
Rang de cette instance dans le communicateur.
virtual Communicator communicator() const
Communicateur MPI associé à cette instance.
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).
Déclarations des types et méthodes utilisés par les mécanismes d'échange de messages.
void mpDelete(IMessagePassingMng *p)
Détruit l'instance de passage de messages p.
std::int32_t Int32
Type entier signé sur 32 bits.