Arcane  v3.16.0.0
Documentation utilisateur
Chargement...
Recherche...
Aucune correspondance
MessagePassingMpiEnum.cc
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/* MessagePassingMpiEnum.cc (C) 2000-2025 */
9/* */
10/* Enumeration des différentes operations MPI. */
11/*---------------------------------------------------------------------------*/
12/*---------------------------------------------------------------------------*/
13
14#include "arccore/message_passing_mpi/internal/MessagePassingMpiEnum.h"
15
16/*---------------------------------------------------------------------------*/
17/*---------------------------------------------------------------------------*/
18
19namespace Arcane::MessagePassing::Mpi
20{
21
22/*---------------------------------------------------------------------------*/
23/*---------------------------------------------------------------------------*/
24
25MpiInfo::
26MpiInfo(eMpiName mpi_operation)
27{
28 switch (mpi_operation) {
29 case eMpiName::Bcast:
30 m_name = "MPI_Bcast";
31 m_description = "Blocking Broadcast";
32 break;
33 case eMpiName::Gather:
34 m_name = "MPI_Gather";
35 m_description = "Blocking Gather";
36 break;
37 case eMpiName::Gatherv:
38 m_name = "MPI_Gatherv";
39 m_description = "Blocking Gather with variable message size";
40 break;
41 case eMpiName::Allgather:
42 m_name = "MPI_Allgather";
43 m_description = "Blocking allGather";
44 break;
45 case eMpiName::Allgatherv:
46 m_name = "MPI_Allgatherv";
47 m_description = "Blocking allGather with variable message size";
48 break;
49 case eMpiName::Scatterv:
50 m_name = "MPI_Scatterv";
51 m_description = "Blocking Scatter with variable message size";
52 break;
53 case eMpiName::Alltoall:
54 m_name = "MPI_Alltoall";
55 m_description = "Blocking Alltoall";
56 break;
57 case eMpiName::Alltoallv:
58 m_name = "MPI_Alltoallv";
59 m_description = "Blocking Alltoall with variable message size";
60 break;
61 case eMpiName::Barrier:
62 m_name = "MPI_Barrier";
63 m_description = "Blocking Barrier";
64 break;
65 case eMpiName::Reduce:
66 m_name = "MPI_Reduce";
67 m_description = "Blocking Reduce";
68 break;
69 case eMpiName::Allreduce:
70 m_name = "MPI_Allreduce";
71 m_description = "Blocking Allreduce";
72 break;
73 case eMpiName::Scan:
74 m_name = "MPI_Scan";
75 m_description = "Blocking Scan";
76 break;
77 case eMpiName::Sendrecv:
78 m_name = "MPI_Sendrecv";
79 m_description = "Blocking Sendrecv";
80 break;
81 case eMpiName::Isend:
82 m_name = "MPI_Isend";
83 m_description = "Non-blocking Send";
84 break;
85 case eMpiName::Send:
86 m_name = "MPI_Send";
87 m_description = "Blocking Send";
88 break;
89 case eMpiName::Irecv:
90 m_name = "MPI_Irecv";
91 m_description = "Non-blocking Recv";
92 break;
93 case eMpiName::Recv:
94 m_name = "MPI_Recv";
95 m_description = "Blocking Recv";
96 break;
97 case eMpiName::Test:
98 m_name = "MPI_Test";
99 m_description = "Test";
100 break;
101 case eMpiName::Probe:
102 m_name = "MPI_Probe";
103 m_description = "Probe";
104 break;
105 case eMpiName::Get_count:
106 m_name = "MPI_Get_count";
107 m_description = "Get count";
108 break;
109 case eMpiName::Wait:
110 m_name = "MPI_Wait";
111 m_description = "Wait";
112 break;
113 case eMpiName::Waitall:
114 m_name = "MPI_Waitall";
115 m_description = "Waitall";
116 break;
117 case eMpiName::Testsome:
118 m_name = "MPI_Testsome";
119 m_description = "Testsome";
120 break;
121 case eMpiName::Waitsome:
122 m_name = "MPI_Waitsome";
123 m_description = "Waitsome";
124 break;
125 default:
126 m_name = "Unkown";
127 m_description = "Unkown";
128 break;
129 }
130}
131
132/*---------------------------------------------------------------------------*/
133/*---------------------------------------------------------------------------*/
134const String& MpiInfo::
135name() const
136{
137 return m_name;
138}
139
140/*---------------------------------------------------------------------------*/
141/*---------------------------------------------------------------------------*/
142
143const String& MpiInfo::
144description() const
145{
146 return m_description;
147}
148
149/*---------------------------------------------------------------------------*/
150/*---------------------------------------------------------------------------*/
151
152} // namespace Arcane::MessagePassing::Mpi
153
154/*---------------------------------------------------------------------------*/
155/*---------------------------------------------------------------------------*/