Arcane  v3.14.10.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
MessagePassingMpiEnum.h
1// -*- tab-width: 2; indent-tabs-mode: nil; coding: utf-8-with-signature -*-
2//-----------------------------------------------------------------------------
3// Copyright 2000-2022 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/* MessagePassingMpiEnum.h (C) 2000-2018 */
9/* */
10/* Enumeration des differentes operations MPI. */
11/*---------------------------------------------------------------------------*/
12#ifndef ARCCORE_MESSAGEPASSINGMPI_MESSAGEPASSINGMPIENUM_H
13#define ARCCORE_MESSAGEPASSINGMPI_MESSAGEPASSINGMPIENUM_H
14/*---------------------------------------------------------------------------*/
15/*---------------------------------------------------------------------------*/
16
17#include "arccore/message_passing_mpi/MessagePassingMpiGlobal.h"
18
19#include "arccore/collections/CollectionsGlobal.h"
20
22
23#include "arccore/base/String.h"
24
25/*---------------------------------------------------------------------------*/
26/*---------------------------------------------------------------------------*/
27
28namespace Arccore
29{
30namespace MessagePassing
31{
32namespace Mpi
33{
34
35/*---------------------------------------------------------------------------*/
36/*---------------------------------------------------------------------------*/
37/*!
38 * \internal
39 * \brief Classe enumeration pour les operations MPI.
40 */
41enum class ARCCORE_MESSAGEPASSINGMPI_EXPORT eMpiName
42{
43 Bcast = 0,
44 Gather = 1,
45 Gatherv = 2,
46 Allgather = 3,
47 Allgatherv = 4,
48 Scatterv = 5,
49 Alltoall = 6,
50 Alltoallv = 7,
51 Barrier = 8,
52 Reduce = 9,
53 Allreduce = 10,
54 Scan = 11,
55 Sendrecv = 12,
56 Isend = 13,
57 Send = 14,
58 Irecv = 15,
59 Recv = 16,
60 Test = 17,
61 Probe = 18,
62 Get_count = 19,
63 Wait = 20,
64 Waitall = 21,
65 Testsome = 22,
66 Waitsome = 23,
67 NameOffset = 24 // Attention a bien laisser ce champ en dernier (avec sa valeur a jour) si on rajoute des enums !
68};
69
70/*---------------------------------------------------------------------------*/
71/*---------------------------------------------------------------------------*/
72/*!
73 * \internal
74 * \brief Structure informative liee aux enumerationx pour les operations MPI.
75 * Donne le nom associe a l'enum ainsi qu'une description de l'operation
76 */
77class ARCCORE_MESSAGEPASSINGMPI_EXPORT MpiInfo
78{
79 public:
80 // Ctor : on construit tout a la volee plutot que de stocker une enorme table de string
81 MpiInfo(eMpiName mpi_operation);
82 ~MpiInfo() = default;
83
84 //! Accesseur sur le nom associe a l'enum
85 const String& name() const;
86
87 //! Accesseur sur la description associee a l'enum
88 const String& description() const;
89
90 private:
91 String m_name;
92 String m_description;
93};
94
95} // Mpi
96
97} // MessagePassing
98
99} // Arccore
100
101/*---------------------------------------------------------------------------*/
102/*---------------------------------------------------------------------------*/
103
104#endif
105
Déclarations des types de la composante 'base' de Arccore.
Chaîne de caractères unicode.
Espace de nom de Arccore.
Definition ArcaneTypes.h:24