forked from ESMCI/mpi-serial
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmpif.h
344 lines (242 loc) · 6.25 KB
/
mpif.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
!
! MPI_COMM_WORLD
!
INTEGER MPI_COMM_WORLD
parameter (mpi_comm_world=1)
!
!
!
integer MPI_BOTTOM
parameter (MPI_BOTTOM=0)
!
! source,tag
!
integer MPI_ANY_SOURCE, MPI_ANY_TAG, MPI_TAG_UB
parameter (mpi_any_source=-1, mpi_any_tag= -1, mpi_tag_ub=1681915906)
integer MPI_PROC_NULL, MPI_ROOT
parameter (MPI_PROC_NULL=-2, MPI_ROOT=-3)
integer MPI_COMM_NULL, MPI_REQUEST_NULL
parameter (MPI_COMM_NULL=0, MPI_REQUEST_NULL=0)
integer MPI_GROUP_NULL, MPI_GROUP_EMPTY
parameter (MPI_GROUP_NULL=0, MPI_GROUP_EMPTY= -1)
integer MPI_MAX_ERROR_STRING
parameter (MPI_MAX_ERROR_STRING=128)
integer MPI_MAX_PROCESSOR_NAME
parameter (MPI_MAX_PROCESSOR_NAME=128)
!
! Return codes
!
integer MPI_SUCCESS
parameter (MPI_SUCCESS=0)
integer MPI_ERR_BUFFER
parameter (MPI_ERR_BUFFER= -1)
integer MPI_ERR_COUNT
parameter (MPI_ERR_COUNT= -1)
integer MPI_ERR_TYPE
parameter (MPI_ERR_TYPE= -1)
integer MPI_ERR_TAG
parameter (MPI_ERR_TAG= -1)
integer MPI_ERR_COMM
parameter (MPI_ERR_COMM= -1)
integer MPI_ERR_RANK
parameter (MPI_ERR_RANK= -1)
integer MPI_ERR_REQUEST
parameter (MPI_ERR_REQUEST= -1)
integer MPI_ERR_ROOT
parameter (MPI_ERR_ROOT= -1)
integer MPI_ERR_GROUP
parameter (MPI_ERR_GROUP= -1)
integer MPI_ERR_OP
parameter (MPI_ERR_OP= -1)
integer MPI_ERR_TOPOLOGY
parameter (MPI_ERR_TOPOLOGY= -1)
integer MPI_ERR_DIMS
parameter (MPI_ERR_DIMS= -1)
integer MPI_ERR_ARG
parameter (MPI_ERR_ARG= -1)
integer MPI_ERR_UNKNOWN
parameter (MPI_ERR_UNKNOWN= -1)
integer MPI_ERR_TRUNCATE
parameter (MPI_ERR_TRUNCATE= -1)
integer MPI_ERR_OTHER
parameter (MPI_ERR_OTHER= -1)
integer MPI_ERR_INTERN
parameter (MPI_ERR_INTERN= -1)
integer MPI_PENDING
parameter (MPI_PENDING= -1)
integer MPI_ERR_IN_STATUS
parameter (MPI_ERR_IN_STATUS= -1)
integer MPI_ERR_LASTCODE
parameter (MPI_ERR_LASTCODE= -1)
integer MPI_ERRORS_RETURN
parameter (MPI_ERRORS_RETURN= -1)
integer MPI_THREAD_SINGLE
parameter (MPI_THREAD_SINGLE=0)
integer MPI_THREAD_FUNNELED
parameter (MPI_THREAD_FUNNELED=1)
integer MPI_THREAD_SERIALIZED
parameter (MPI_THREAD_SERIALIZED=2)
integer MPI_THREAD_MULTIPLE
parameter (MPI_THREAD_MULTIPLE=3)
!
!
integer MPI_UNDEFINED
parameter (MPI_UNDEFINED= -1)
!
! MPI_Status
!
! The values in this section MUST match the struct definition
! in mpi.h
!
INTEGER MPI_STATUS_SIZE
PARAMETER (MPI_STATUS_SIZE=4)
INTEGER MPI_SOURCE, MPI_TAG, MPI_ERROR
PARAMETER(MPI_SOURCE=1, MPI_TAG=2, MPI_ERROR=3)
! There is a 4th value only used internally
INTEGER MPI_STATUS_IGNORE(MPI_STATUS_SIZE)
INTEGER MPI_STATUSES_IGNORE(MPI_STATUS_SIZE,1)
COMMON /MPISERIAL/ MPI_STATUS_IGNORE
COMMON /MPISERIAL/ MPI_STATUSES_IGNORE
!
! MPI_IN_PLACE
!
INTEGER MPI_IN_PLACE
COMMON /MPISERIAL/ MPI_IN_PLACE
SAVE /MPISERIAL/ ! Technically needed in case goes out of scope
!
! MPI_Datatype values
!
! New datatype values
! Type constants represent integer handles, matching up to the index of the
! type array equal to the absolute value of the constant plus one. For
! example, MPI_BYTE=-12, corresponding to type index 11.
! (Array in type_const.c)
!
INTEGER MPI_DATATYPE_NULL
PARAMETER (MPI_DATATYPE_NULL=0)
INTEGER MPI_BYTE
PARAMETER (MPI_BYTE=-12)
INTEGER MPI_PACKED
PARAMETER (MPI_PACKED=-13)
INTEGER MPI_LB
PARAMETER (MPI_LB=-14)
INTEGER MPI_UB
PARAMETER (MPI_UB=-15)
INTEGER MPI_INTEGER
PARAMETER (MPI_INTEGER=-16)
INTEGER MPI_REAL
PARAMETER (MPI_REAL=-17)
INTEGER MPI_DOUBLE_PRECISION
PARAMETER (MPI_DOUBLE_PRECISION=-18)
INTEGER MPI_COMPLEX
PARAMETER (MPI_COMPLEX=-19)
INTEGER MPI_DOUBLE_COMPLEX
PARAMETER (MPI_DOUBLE_COMPLEX=-20)
INTEGER MPI_LOGICAL
PARAMETER (MPI_LOGICAL=-21)
INTEGER MPI_CHARACTER
PARAMETER (MPI_CHARACTER=-22)
integer MPI_2REAL
parameter (MPI_2REAL= -23)
integer MPI_2DOUBLE_PRECISION
parameter (MPI_2DOUBLE_PRECISION= -24)
integer MPI_2INTEGER
parameter (MPI_2INTEGER= -25)
!
! Size-specific types
!
INTEGER MPI_INTEGER1
PARAMETER (MPI_INTEGER1= -32 )
INTEGER MPI_INTEGER2
PARAMETER (MPI_INTEGER2= -33 )
INTEGER MPI_INTEGER4
PARAMETER (MPI_INTEGER4= -34 )
INTEGER MPI_INTEGER8
PARAMETER (MPI_INTEGER8= -35 )
INTEGER MPI_INTEGER16
PARAMETER (MPI_INTEGER16= -36 )
INTEGER MPI_REAL4
PARAMETER (MPI_REAL4= -37 )
INTEGER MPI_REAL8
PARAMETER (MPI_REAL8= -38 )
INTEGER MPI_REAL16
PARAMETER (MPI_REAL16= -39 )
integer MPI_COMPLEX8
parameter (MPI_COMPLEX8= -40 )
integer MPI_COMPLEX16
parameter (MPI_COMPLEX16= -41 )
integer MPI_COMPLEX32
parameter (MPI_COMPLEX32= -42 )
integer MPI_LONG_LONG_INT
parameter (MPI_LONG_LONG_INT= -43)
integer MPI_LONG_LONG
parameter (MPI_LONG_LONG= MPI_LONG_LONG_INT)
integer MPI_UNSIGNED_LONG_LONG
parameter (MPI_UNSIGNED_LONG_LONG= -44)
integer MPI_OFFSET
parameter (MPI_OFFSET= -45)
!
! MPI_Op values
!
! (All are handled as no-op so no value is necessary; but provide one
! anyway just in case.)
!
INTEGER MPI_SUM
PARAMETER (MPI_SUM=0)
INTEGER MPI_MAX
PARAMETER (MPI_MAX=0)
INTEGER MPI_MIN
PARAMETER (MPI_MIN=0)
INTEGER MPI_PROD
PARAMETER (MPI_PROD=0)
INTEGER MPI_LAND
PARAMETER (MPI_LAND=0)
INTEGER MPI_BAND
PARAMETER (MPI_BAND=0)
INTEGER MPI_LOR
PARAMETER (MPI_LOR=0)
INTEGER MPI_BOR
PARAMETER (MPI_BOR=0)
INTEGER MPI_LXOR
PARAMETER (MPI_LXOR=0)
INTEGER MPI_BXOR
PARAMETER (MPI_BXOR=0)
INTEGER MPI_MINLOC
PARAMETER (MPI_MINLOC=0)
INTEGER MPI_MAXLOC
PARAMETER (MPI_MAXLOC=0)
INTEGER MPI_OP_NULL
PARAMETER (MPI_OP_NULL=0)
!
! MPI_Wtime
!
DOUBLE PRECISION MPI_WTIME
EXTERNAL MPI_WTIME
!
! Kinds
!
INTEGER MPI_OFFSET_KIND
PARAMETER (MPI_OFFSET_KIND=selected_int_kind(13))
INTEGER MPI_MODE_RDONLY
PARAMETER (MPI_MODE_RDONLY=0)
INTEGER MPI_MODE_CREATE
PARAMETER (MPI_MODE_CREATE=1)
INTEGER MPI_MODE_RDWR
PARAMETER (MPI_MODE_RDWR=2)
!
! Info
!
INTEGER MPI_INFO_NULL
PARAMETER (MPI_INFO_NULL=0)
!
! Library version string (must match C value)
!
INTEGER MPI_MAX_LIBRARY_VERSION_STRING
PARAMETER (MPI_MAX_LIBRARY_VERSION_STRING=80)
!
! MPI Version
!
INTEGER MPI_VERSION
PARAMETER (MPI_VERSION=1)
INTEGER MPI_SUBVERSION
PARAMETER (MPI_SUBVERSION=0)