Arcane  v3.14.10.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-2024 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-2024 */
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
33mpDelete(IMessagePassingMng* p);
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.
virtual Int32 commRank() const =0
Rang de cette instance dans le communicateur.
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)
Espace de nommage contenant les types et déclarations qui gèrent le mécanisme de parallélisme par éch...
void ARCCORE_MESSAGEPASSING_EXPORT mpDelete(IMessagePassingMng *p)
Détruit l'instance p.
std::int32_t Int32
Type entier signé sur 32 bits.