Arcane  v3.16.0.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-2025 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-2025 */
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/*---------------------------------------------------------------------------*/
32extern "C++" void ARCCORE_MESSAGEPASSING_EXPORT
34
35/*---------------------------------------------------------------------------*/
36/*---------------------------------------------------------------------------*/
46class ARCCORE_MESSAGEPASSING_EXPORT IMessagePassingMng
47{
48 friend void ARCCORE_MESSAGEPASSING_EXPORT mpDelete(IMessagePassingMng*);
50
51 public:
52
53 // TODO: Rendre obsolète fin 2022: [[deprecated("Use mpDelete() instead")]]
54 virtual ~IMessagePassingMng() = default;
55
56 public:
57
59 virtual Int32 commRank() const = 0;
60
62 virtual Int32 commSize() const = 0;
63
66
73 virtual Communicator communicator() const;
74
75 public:
76
77 virtual IDispatchers* dispatchers() = 0;
78};
79
80/*---------------------------------------------------------------------------*/
81/*---------------------------------------------------------------------------*/
82
83} // End namespace Arccore::MessagePassing
84
85/*---------------------------------------------------------------------------*/
86/*---------------------------------------------------------------------------*/
87
88#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.
Interface gérant les statistiques sur l'exécution.
Communicateur pour l'échange de message.
Interface du conteneur des dispatchers.
Interface du gestionnaire des échanges de messages.
friend void mpDelete(IMessagePassingMng *)
Détruit l'instance p.
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.
Definition Parallel.h:50
void mpDelete(IMessagePassingMng *p)
Détruit l'instance p.
std::int32_t Int32
Type entier signé sur 32 bits.