Arcane  v3.15.3.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
MessagePassingGlobal.h
Aller à la documentation de ce fichier.
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/* MessagePassingGlobal.h (C) 2000-2025 */
9/* */
10/* Définitions globales de la composante 'MessagePassing' de 'Arccore'. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCCORE_MESSAGEPASSING_MESSAGEPASSINGGLOBAL_H
13#define ARCCORE_MESSAGEPASSING_MESSAGEPASSINGGLOBAL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18
19/*---------------------------------------------------------------------------*/
20/*---------------------------------------------------------------------------*/
21
22#if defined(ARCCORE_COMPONENT_arccore_message_passing)
23#define ARCCORE_MESSAGEPASSING_EXPORT ARCCORE_EXPORT
24#define ARCCORE_MESSAGEPASSING_EXTERN_TPL
25#else
26#define ARCCORE_MESSAGEPASSING_EXPORT ARCCORE_IMPORT
27#define ARCCORE_MESSAGEPASSING_EXTERN_TPL extern
28#endif
29
30/*---------------------------------------------------------------------------*/
31/*---------------------------------------------------------------------------*/
32
33namespace Arccore
34{
35class ISerializer;
36class ITimeMetricCollector;
37}
38
40{
48static const Int32 A_NULL_RANK = static_cast<Int32>(-1);
49
51static const Int32 A_NULL_TAG_VALUE = static_cast<Int32>(-1);
52
54static const Int32 A_ANY_SOURCE_RANK = static_cast<Int32>(-2);
55
57static const Int32 A_PROC_NULL_RANK = static_cast<Int32>(-3);
58
59class Communicator;
60class SubRequestCompletionInfo;
61class IRequestCreator;
62class IRequestList;
63class ISerializeMessage;
64class ISerializeMessageList;
65class ISerializeDispatcher;
66class Request;
67class MessageId;
68class MessageTag;
69class MessageRank;
70class MessageSourceInfo;
71class PointToPointMessageInfo;
72class IStat;
73class Stat;
74class IMessagePassingMng;
75class MessagePassingMng;
76class IDispatchers;
77class Dispatchers;
78class IProfiler;
79class ISubRequest;
80class IControlDispatcher;
81template<typename DataType> class ITypeDispatcher;
82class GatherMessageInfoBase;
83template<typename DataType> class GatherMessageInfo;
84
94
99{
100 WaitAll = 0,
110{
111 Blocking = 0,
112 NonBlocking
113};
114
115/*---------------------------------------------------------------------------*/
116/*---------------------------------------------------------------------------*/
121{
122 MsgSend = 0,
123 MsgReceive
124};
125
126/*---------------------------------------------------------------------------*/
127/*---------------------------------------------------------------------------*/
128
129} // End namespace Arccore::MessagePassing
130
131/*---------------------------------------------------------------------------*/
132/*---------------------------------------------------------------------------*/
133
134namespace Arccore::MessagePassing::internal
135{
136class BasicSerializeMessage;
137}
138
139namespace Arcane::MessagePassing::internal
140{
142}
143
144/*---------------------------------------------------------------------------*/
145/*---------------------------------------------------------------------------*/
146
148
149/*---------------------------------------------------------------------------*/
150/*---------------------------------------------------------------------------*/
151
152namespace Arcane
153{
159}
160
161/*---------------------------------------------------------------------------*/
162/*---------------------------------------------------------------------------*/
163
165{
170
173using Arccore::MessagePassing::WaitAll;
176
177using Arccore::MessagePassing::Blocking;
179using Arccore::MessagePassing::NonBlocking;
180
182using Arccore::MessagePassing::MsgReceive;
183using Arccore::MessagePassing::MsgSend;
184
196
204
205using Arccore::MessagePassing::A_NULL_RANK;
206using Arccore::MessagePassing::A_NULL_TAG_VALUE;
207using Arccore::MessagePassing::A_ANY_SOURCE_RANK;
208using Arccore::MessagePassing::A_PROC_NULL_RANK;
209
212}
213
214/*---------------------------------------------------------------------------*/
215/*---------------------------------------------------------------------------*/
216
217// TODO: rendre obsolète et utiliser Arcane::MessagePassing à la place
218namespace Arcane::Parallel
219{
224
227using Arccore::MessagePassing::WaitAll;
230
231using Arccore::MessagePassing::Blocking;
233using Arccore::MessagePassing::NonBlocking;
234
236using Arccore::MessagePassing::MsgReceive;
237using Arccore::MessagePassing::MsgSend;
238
248
250}
251
252/*---------------------------------------------------------------------------*/
253/*---------------------------------------------------------------------------*/
254
255#endif
256
#define ARCCORE_DECLARE_REFERENCE_COUNTED_CLASS(class_name)
Macro pour déclarer qu'une classe utilise un compteur de référence.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:149
Communicateur pour l'échange de message.
Interface du conteneur des dispatchers.
Definition Dispatchers.h:34
Informations pour un message 'gather'.
Informations pour un message 'gather' pour le type de données DataType.
Manage control streams for parallel messages.
Interface du conteneur des dispatchers.
Interface du gestionnaire des échanges de messages.
Interface d'un profiler pour les échanges de messages.
Definition IProfiler.h:31
Interface d'un créateur de requête.
Definition Request.h:52
Interface des messages de sérialisation.
Sous-requête d'une requête.
Definition Request.h:35
Gestion des messages parallèles pour le type Type.
Gestionnaire des échanges de messages.
Informations sur la source d'un message.
Informations pour envoyer/recevoir un message point à point.
Requête d'un message.
Definition Request.h:77
Gestionnaire de statistiques sur le parallélisme.
Definition Stat.h:72
Informations de complètion d'une sous-requête.
Message de sérialisation utilisant un BasicSerializer.
Déclarations des types et méthodes utilisés par les mécanismes d'échange de messages.
Definition Parallel.h:50
Implémentation de la concurrence.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
Espace de nommage contenant les types et déclarations qui gèrent le mécanisme de parallélisme par éch...
eBlockingType
Type indiquant si un message est bloquant ou non.
ePointToPointMessageType
Type de message point à point.
@ WaitSome
Attend que tous les messages de la liste soient traités.
@ TestSome
Attend que au moins un message de la liste soit traité
eReduceType
Types des réductions supportées.
@ ReduceMin
Minimum des valeurs.
@ ReduceSum
Somme des valeurs.
@ ReduceMax
Maximum des valeurs.
Espace de nom de Arccore.
Definition ArcaneTypes.h:29