Arcane  v3.14.10.0
Documentation développeur
Chargement...
Recherche...
Aucune correspondance
Parallel.h
Aller à la documentation de ce fichier.
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/* Parallel.h (C) 2000-2024 */
9/* */
10/* Espace de nom des types gérant le parallélisme. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCANE_CORE_PARALLEL_H
13#define ARCANE_CORE_PARALLEL_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
18#include "arcane/utils/ArrayView.h"
19
21#include "arccore/message_passing/Request.h"
22#include "arccore/message_passing/Communicator.h"
23#include "arccore/message_passing/PointToPointMessageInfo.h"
24#include "arccore/message_passing/IControlDispatcher.h"
25
27
28#define ARCANE_BEGIN_NAMESPACE_PARALLEL \
29 namespace Parallel \
30 {
31#define ARCANE_END_NAMESPACE_PARALLEL }
32
33/*---------------------------------------------------------------------------*/
34/*---------------------------------------------------------------------------*/
35
36namespace Arcane
37{
43}
44
45/*---------------------------------------------------------------------------*/
46/*---------------------------------------------------------------------------*/
50namespace Arcane::Parallel
51{
52
57
60using Arccore::MessagePassing::WaitAll;
63
64using Arccore::MessagePassing::Blocking;
66using Arccore::MessagePassing::NonBlocking;
67
69using Arccore::MessagePassing::MsgReceive;
70using Arccore::MessagePassing::MsgSend;
71
81
83
84class IStat;
85}
86
87/*---------------------------------------------------------------------------*/
88/*---------------------------------------------------------------------------*/
94{
110extern "C++" ARCANE_CORE_EXPORT void
111namedBarrier(IParallelMng* pm, const String& name);
112
113/*---------------------------------------------------------------------------*/
114/*---------------------------------------------------------------------------*/
123extern "C++" ARCANE_CORE_EXPORT void
126
127/*---------------------------------------------------------------------------*/
128/*---------------------------------------------------------------------------*/
136extern "C++" ARCANE_CORE_EXPORT void
138
139/*---------------------------------------------------------------------------*/
140/*---------------------------------------------------------------------------*/
141
142} // namespace Arcane::MessagePassing
143
144/*---------------------------------------------------------------------------*/
145/*---------------------------------------------------------------------------*/
146
147namespace Arcane
148{
149
150/*---------------------------------------------------------------------------*/
151/*---------------------------------------------------------------------------*/
152
153inline std::ostream&
154operator<<(std::ostream& o, const Parallel::Request prequest)
155{
156 prequest.print(o);
157 return o;
158}
159
160/*---------------------------------------------------------------------------*/
161/*---------------------------------------------------------------------------*/
162
163} // End namespace Arcane
164
165/*---------------------------------------------------------------------------*/
166/*---------------------------------------------------------------------------*/
167
168#endif
169
Fichier de configuration d'Arcane.
Déclarations des types généraux de Arcane.
Interface du gestionnaire de parallélisme pour un sous-domaine.
Lecteur des fichiers de maillage via la bibliothèque LIMA.
Definition Lima.cc:120
Interface du gestionnaire de traces.
Communicateur pour l'échange de message.
Manage control streams for parallel messages.
Interface du gestionnaire des échanges de messages.
Interface d'un créateur de requête.
Definition Request.h:52
Sous-requête d'une requête.
Definition Request.h:35
Gestion des messages parallèles pour le type Type.
Informations sur la source d'un message.
Informations pour envoyer/recevoir un message point à point.
Requête d'un message.
Definition Request.h:77
Chaîne de caractères unicode.
std::ostream & operator<<(std::ostream &o, eExecutionPolicy exec_policy)
Affiche le nom de la politique d'exécution.
Déclarations des types et méthodes utilisés par les mécanismes d'échange de messages.
Definition Parallel.h:94
void namedBarrier(IParallelMng *pm, const String &name)
Effectue une barrière nommée de nom name.
Definition Parallel.cc:59
void dumpDateAndMemoryUsage(IParallelMng *pm, ITraceMng *tm)
Écrit dans tm la date et la mémoire consommée.
Definition Parallel.cc:162
void filterCommonStrings(IParallelMng *pm, ConstArrayView< String > input_strings, Array< String > &common_strings)
Filtre les chaînes de caractères communes à tous les rangs de pm.
Definition Parallel.cc:93
Implémentation de la concurrence.
-*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
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.