1 | /* ompi/include/mpi.h. Generated from mpi.h.in by configure. */ |
---|
2 | /* |
---|
3 | * Copyright (c) 2004-2005 The Trustees of Indiana University and Indiana |
---|
4 | * University Research and Technology |
---|
5 | * Corporation. All rights reserved. |
---|
6 | * Copyright (c) 2004-2006 The University of Tennessee and The University |
---|
7 | * of Tennessee Research Foundation. All rights |
---|
8 | * reserved. |
---|
9 | * Copyright (c) 2004-2007 High Performance Computing Center Stuttgart, |
---|
10 | * University of Stuttgart. All rights reserved. |
---|
11 | * Copyright (c) 2004-2005 The Regents of the University of California. |
---|
12 | * All rights reserved. |
---|
13 | * Copyright (c) 2007-2009 Cisco Systems, Inc. All rights reserved. |
---|
14 | * Copyright (c) 2008-2009 Sun Microsystems, Inc. All rights reserved. |
---|
15 | * $COPYRIGHT$ |
---|
16 | * |
---|
17 | * Additional copyrights may follow |
---|
18 | * |
---|
19 | * $HEADER$ |
---|
20 | */ |
---|
21 | |
---|
22 | #ifndef OMPI_MPI_H |
---|
23 | #define OMPI_MPI_H |
---|
24 | |
---|
25 | /* The comment below (and the ending partner) are for building fat |
---|
26 | distributions on platforms that support it. Please do not remove */ |
---|
27 | |
---|
28 | /* @OMPI_BEGIN_CONFIGURE_SECTION@ */ |
---|
29 | |
---|
30 | #ifndef OMPI_CONFIG_H |
---|
31 | |
---|
32 | /* Only include these if OMPI_CONFIG_H isn't defined (meaning if |
---|
33 | ompi_config.h hasn't already been included). Otherwise, we'll |
---|
34 | duplicate all those symbols. OMPI coding standards say that |
---|
35 | ompi_config.h must be included before all other files, so this |
---|
36 | should be good enough */ |
---|
37 | |
---|
38 | /* Define to 1 if you have the ANSI C header files. */ |
---|
39 | #define OMPI_STDC_HEADERS 1 |
---|
40 | |
---|
41 | /* Define to 1 if you have the <sys/time.h> header file. */ |
---|
42 | #define OMPI_HAVE_SYS_TIME_H 1 |
---|
43 | |
---|
44 | /* Define to 1 if you have the <sys/synch.h> header file. */ |
---|
45 | /* #undef OMPI_HAVE_SYS_SYNCH_H */ |
---|
46 | |
---|
47 | /* Define to 1 if the system has the type `long long'. */ |
---|
48 | #define OMPI_HAVE_LONG_LONG 1 |
---|
49 | |
---|
50 | /* The size of a `bool', as computed by sizeof. */ |
---|
51 | #define OMPI_SIZEOF_BOOL 1 |
---|
52 | |
---|
53 | /* The size of a `int', as computed by sizeof. */ |
---|
54 | #define OMPI_SIZEOF_INT 4 |
---|
55 | |
---|
56 | /* Whether we have FORTRAN LOGICAL*1 or not */ |
---|
57 | #define OMPI_HAVE_FORTRAN_LOGICAL1 0 |
---|
58 | |
---|
59 | /* Whether we have FORTRAN LOGICAL*2 or not */ |
---|
60 | #define OMPI_HAVE_FORTRAN_LOGICAL2 0 |
---|
61 | |
---|
62 | /* Whether we have FORTRAN LOGICAL*4 or not */ |
---|
63 | #define OMPI_HAVE_FORTRAN_LOGICAL4 0 |
---|
64 | |
---|
65 | /* Whether we have FORTRAN LOGICAL*8 or not */ |
---|
66 | #define OMPI_HAVE_FORTRAN_LOGICAL8 0 |
---|
67 | |
---|
68 | /* Whether we have FORTRAN INTEGER*1 or not */ |
---|
69 | #define OMPI_HAVE_FORTRAN_INTEGER1 0 |
---|
70 | |
---|
71 | /* Whether we have FORTRAN INTEGER*16 or not */ |
---|
72 | #define OMPI_HAVE_FORTRAN_INTEGER16 0 |
---|
73 | |
---|
74 | /* Whether we have FORTRAN INTEGER*2 or not */ |
---|
75 | #define OMPI_HAVE_FORTRAN_INTEGER2 0 |
---|
76 | |
---|
77 | /* Whether we have FORTRAN INTEGER*4 or not */ |
---|
78 | #define OMPI_HAVE_FORTRAN_INTEGER4 0 |
---|
79 | |
---|
80 | /* Whether we have FORTRAN INTEGER*8 or not */ |
---|
81 | #define OMPI_HAVE_FORTRAN_INTEGER8 0 |
---|
82 | |
---|
83 | /* Whether we have FORTRAN REAL*16 or not */ |
---|
84 | #define OMPI_HAVE_FORTRAN_REAL16 0 |
---|
85 | |
---|
86 | /* Whether we have FORTRAN REAL*2 or not */ |
---|
87 | #define OMPI_HAVE_FORTRAN_REAL2 0 |
---|
88 | |
---|
89 | /* Whether we have FORTRAN REAL*4 or not */ |
---|
90 | #define OMPI_HAVE_FORTRAN_REAL4 0 |
---|
91 | |
---|
92 | /* Whether we have FORTRAN REAL*8 or not */ |
---|
93 | #define OMPI_HAVE_FORTRAN_REAL8 0 |
---|
94 | |
---|
95 | /* Type of MPI_Offset -- has to be defined here and typedef'ed later because mpi.h does not get AC SUBST's */ |
---|
96 | #define OMPI_MPI_OFFSET_TYPE long long |
---|
97 | |
---|
98 | /* type to use for ptrdiff_t, if it does not exist, set to ptrdiff_t if it does exist */ |
---|
99 | #define OMPI_PTRDIFF_TYPE ptrdiff_t |
---|
100 | |
---|
101 | /* Whether we want MPI cxx support or not */ |
---|
102 | #define OMPI_WANT_CXX_BINDINGS 1 |
---|
103 | |
---|
104 | /* do we want to try to work around C++ bindings SEEK_* issue? */ |
---|
105 | #define OMPI_WANT_MPI_CXX_SEEK 1 |
---|
106 | |
---|
107 | /* Whether a const_cast on a 2-d array will work with the C++ compiler */ |
---|
108 | #define OMPI_CXX_SUPPORTS_2D_CONST_CAST 1 |
---|
109 | |
---|
110 | /* Whether we want the MPI f77 bindings or not */ |
---|
111 | #define OMPI_WANT_F77_BINDINGS 0 |
---|
112 | |
---|
113 | /* Whether we want the MPI f90 bindings or not */ |
---|
114 | #define OMPI_WANT_F90_BINDINGS 0 |
---|
115 | |
---|
116 | /* Whether or not we have compiled with C++ exceptions support */ |
---|
117 | #define OMPI_HAVE_CXX_EXCEPTION_SUPPORT 0 |
---|
118 | |
---|
119 | /* MPI datatype corresponding to MPI_Offset */ |
---|
120 | #define OMPI_OFFSET_DATATYPE MPI_LONG_LONG |
---|
121 | |
---|
122 | /* Major, minor, and release version of Open MPI */ |
---|
123 | #define OMPI_MAJOR_VERSION 1 |
---|
124 | #define OMPI_MINOR_VERSION 4 |
---|
125 | #define OMPI_RELEASE_VERSION 0 |
---|
126 | |
---|
127 | /* A type that allows us to have sentinel type values that are still |
---|
128 | valid */ |
---|
129 | #define ompi_fortran_bogus_type_t int |
---|
130 | |
---|
131 | /* C type corresponding to FORTRAN INTEGER */ |
---|
132 | #define ompi_fortran_integer_t ompi_fortran_bogus_type_t |
---|
133 | |
---|
134 | /* Whether C compiler supports -fvisibility */ |
---|
135 | #define OMPI_C_HAVE_VISIBILITY 1 |
---|
136 | |
---|
137 | /* Whether OMPI should provide MPI File interface */ |
---|
138 | #define OMPI_PROVIDE_MPI_FILE_INTERFACE 1 |
---|
139 | |
---|
140 | #ifndef OMPI_DECLSPEC |
---|
141 | # if defined(WIN32) || defined(_WIN32) |
---|
142 | # if defined(OMPI_IMPORTS) |
---|
143 | # define OMPI_DECLSPEC __declspec(dllimport) |
---|
144 | # else |
---|
145 | # define OMPI_DECLSPEC |
---|
146 | # endif /* defined(OMPI_IMPORTS) */ |
---|
147 | # else |
---|
148 | # if OMPI_C_HAVE_VISIBILITY == 1 |
---|
149 | # define OMPI_DECLSPEC __attribute__((visibility("default"))) |
---|
150 | # else |
---|
151 | # define OMPI_DECLSPEC |
---|
152 | # endif |
---|
153 | # endif |
---|
154 | #endif |
---|
155 | |
---|
156 | #ifndef MPI_Fint |
---|
157 | /* MPI_Fint is the same as ompi_fortran_INTEGER_t */ |
---|
158 | #define MPI_Fint ompi_fortran_integer_t |
---|
159 | #endif |
---|
160 | |
---|
161 | #endif /* #ifndef OMPI_CONFIG_H */ |
---|
162 | |
---|
163 | /* @OMPI_END_CONFIGURE_SECTION@ */ |
---|
164 | |
---|
165 | /* include for ptrdiff_t */ |
---|
166 | #ifdef OMPI_STDC_HEADERS |
---|
167 | #include <stddef.h> |
---|
168 | #endif |
---|
169 | |
---|
170 | #ifndef OMPI_BUILDING |
---|
171 | #define OMPI_BUILDING 0 |
---|
172 | #endif |
---|
173 | |
---|
174 | |
---|
175 | /* |
---|
176 | * Just in case you need it. :-) |
---|
177 | */ |
---|
178 | #define OPEN_MPI 1 |
---|
179 | |
---|
180 | /* |
---|
181 | * MPI version |
---|
182 | */ |
---|
183 | #define MPI_VERSION 2 |
---|
184 | #define MPI_SUBVERSION 1 |
---|
185 | |
---|
186 | /* |
---|
187 | * To accomodate programs written for MPI implementations that use a |
---|
188 | * straight ROMIO import |
---|
189 | */ |
---|
190 | #if !OMPI_BUILDING && OMPI_PROVIDE_MPI_FILE_INTERFACE |
---|
191 | #define MPIO_Request MPI_Request |
---|
192 | #define MPIO_Test MPI_Test |
---|
193 | #define MPIO_Wait MPI_Wait |
---|
194 | #endif |
---|
195 | |
---|
196 | /* |
---|
197 | * When initializing global pointers to Open MPI internally-defined |
---|
198 | * structs, some compilers warn about type-punning to incomplete |
---|
199 | * types. Therefore, when full struct definitions are unavailable |
---|
200 | * (when not building Open MPI), cast to an opaque (void *) pointer to |
---|
201 | * disable any strict-aliasing optimizations. Don't cast to (void *) |
---|
202 | * when building Open MPI so that we actually get the benefit of type |
---|
203 | * checking (because we *do* have the full type definitions available |
---|
204 | * when building OMPI). |
---|
205 | */ |
---|
206 | #if !OMPI_BUILDING |
---|
207 | #define OMPI_PREDEFINED_GLOBAL(type, global) ((type) ((void *) &(global))) |
---|
208 | #else |
---|
209 | #define OMPI_PREDEFINED_GLOBAL(type, global) ((type) &(global)) |
---|
210 | #endif |
---|
211 | |
---|
212 | #if defined(c_plusplus) || defined(__cplusplus) |
---|
213 | extern "C" { |
---|
214 | #endif |
---|
215 | /* |
---|
216 | * Typedefs |
---|
217 | */ |
---|
218 | |
---|
219 | typedef OMPI_PTRDIFF_TYPE MPI_Aint; |
---|
220 | typedef OMPI_MPI_OFFSET_TYPE MPI_Offset; |
---|
221 | typedef struct ompi_communicator_t *MPI_Comm; |
---|
222 | typedef struct ompi_datatype_t *MPI_Datatype; |
---|
223 | typedef struct ompi_errhandler_t *MPI_Errhandler; |
---|
224 | #if OMPI_PROVIDE_MPI_FILE_INTERFACE |
---|
225 | typedef struct ompi_file_t *MPI_File; |
---|
226 | #endif |
---|
227 | typedef struct ompi_group_t *MPI_Group; |
---|
228 | typedef struct ompi_info_t *MPI_Info; |
---|
229 | typedef struct ompi_op_t *MPI_Op; |
---|
230 | typedef struct ompi_request_t *MPI_Request; |
---|
231 | typedef struct ompi_status_public_t MPI_Status; |
---|
232 | typedef struct ompi_win_t *MPI_Win; |
---|
233 | |
---|
234 | /* |
---|
235 | * MPI_Status |
---|
236 | */ |
---|
237 | struct ompi_status_public_t { |
---|
238 | int MPI_SOURCE; |
---|
239 | int MPI_TAG; |
---|
240 | int MPI_ERROR; |
---|
241 | int _count; |
---|
242 | int _cancelled; |
---|
243 | }; |
---|
244 | typedef struct ompi_status_public_t ompi_status_public_t; |
---|
245 | |
---|
246 | /* |
---|
247 | * User typedefs |
---|
248 | */ |
---|
249 | typedef int (MPI_Copy_function)(MPI_Comm, int, void *, |
---|
250 | void *, void *, int *); |
---|
251 | typedef int (MPI_Delete_function)(MPI_Comm, int, void *, void *); |
---|
252 | typedef int (MPI_Datarep_extent_function)(MPI_Datatype, MPI_Aint *, void *); |
---|
253 | typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype, |
---|
254 | int, void *, MPI_Offset, void *); |
---|
255 | typedef void (MPI_Comm_errhandler_fn)(MPI_Comm *, int *, ...); |
---|
256 | #if OMPI_PROVIDE_MPI_FILE_INTERFACE |
---|
257 | /* This is a little hackish, but errhandler.h needs space for a |
---|
258 | MPI_File_errhandler_fn. While it could just be removed, this |
---|
259 | allows us to maintain a stable ABI within OMPI, at least for |
---|
260 | apps that don't use MPI I/O. */ |
---|
261 | typedef void (ompi_file_errhandler_fn)(MPI_File *, int *, ...); |
---|
262 | typedef ompi_file_errhandler_fn MPI_File_errhandler_fn; |
---|
263 | #else |
---|
264 | struct ompi_file_t; |
---|
265 | typedef void (ompi_file_errhandler_fn)(struct ompi_file_t**, int *, ...); |
---|
266 | #endif |
---|
267 | typedef void (MPI_Win_errhandler_fn)(MPI_Win *, int *, ...); |
---|
268 | typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...); |
---|
269 | typedef void (MPI_User_function)(void *, void *, int *, MPI_Datatype *); |
---|
270 | typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *, |
---|
271 | void *, void *, int *); |
---|
272 | typedef int (MPI_Comm_delete_attr_function)(MPI_Comm, int, void *, void *); |
---|
273 | typedef int (MPI_Type_copy_attr_function)(MPI_Datatype, int, void *, |
---|
274 | void *, void *, int *); |
---|
275 | typedef int (MPI_Type_delete_attr_function)(MPI_Datatype, int, |
---|
276 | void *, void *); |
---|
277 | typedef int (MPI_Win_copy_attr_function)(MPI_Win, int, void *, |
---|
278 | void *, void *, int *); |
---|
279 | typedef int (MPI_Win_delete_attr_function)(MPI_Win, int, void *, void *); |
---|
280 | typedef int (MPI_Grequest_query_function)(void *, MPI_Status *); |
---|
281 | typedef int (MPI_Grequest_free_function)(void *); |
---|
282 | typedef int (MPI_Grequest_cancel_function)(void *, int); |
---|
283 | |
---|
284 | /* |
---|
285 | * Miscellaneous constants |
---|
286 | */ |
---|
287 | #define MPI_ANY_SOURCE -1 /* match any source rank */ |
---|
288 | #define MPI_PROC_NULL -2 /* rank of null process */ |
---|
289 | #define MPI_ROOT -4 |
---|
290 | #define MPI_ANY_TAG -1 /* match any message tag */ |
---|
291 | #define MPI_MAX_PROCESSOR_NAME 256 /* max proc. name length */ |
---|
292 | #define MPI_MAX_ERROR_STRING 256 /* max error message length */ |
---|
293 | #define MPI_MAX_OBJECT_NAME 64 /* max object name length */ |
---|
294 | #define MPI_UNDEFINED -32766 /* undefined stuff */ |
---|
295 | #define MPI_CART 1 /* cartesian topology */ |
---|
296 | #define MPI_GRAPH 2 /* graph topology */ |
---|
297 | #define MPI_KEYVAL_INVALID -1 /* invalid key value */ |
---|
298 | |
---|
299 | /* |
---|
300 | * More constants |
---|
301 | */ |
---|
302 | #define MPI_BOTTOM ((void *) 0) /* base reference address */ |
---|
303 | #define MPI_IN_PLACE ((void *) 1) /* in place buffer */ |
---|
304 | #define MPI_BSEND_OVERHEAD 128 /* size of bsend header + ptr */ |
---|
305 | #define MPI_MAX_INFO_KEY 36 /* max info key length */ |
---|
306 | #define MPI_MAX_INFO_VAL 256 /* max info value length */ |
---|
307 | #define MPI_ARGV_NULL ((char **) 0) /* NULL argument vector */ |
---|
308 | #define MPI_ARGVS_NULL ((char ***) 0) /* NULL argument vectors */ |
---|
309 | #define MPI_ERRCODES_IGNORE ((int *) 0) /* don't return error codes */ |
---|
310 | #define MPI_MAX_PORT_NAME 1024 /* max port name length */ |
---|
311 | #define MPI_MAX_NAME_LEN MPI_MAX_PORT_NAME /* max port name length */ |
---|
312 | #define MPI_ORDER_C 0 /* C row major order */ |
---|
313 | #define MPI_ORDER_FORTRAN 1 /* Fortran column major order */ |
---|
314 | #define MPI_DISTRIBUTE_BLOCK 0 /* block distribution */ |
---|
315 | #define MPI_DISTRIBUTE_CYCLIC 1 /* cyclic distribution */ |
---|
316 | #define MPI_DISTRIBUTE_NONE 2 /* not distributed */ |
---|
317 | #define MPI_DISTRIBUTE_DFLT_DARG (-1) /* default distribution arg */ |
---|
318 | |
---|
319 | #if OMPI_PROVIDE_MPI_FILE_INTERFACE |
---|
320 | /* |
---|
321 | * Since these values are arbitrary to Open MPI, we might as well make |
---|
322 | * them the same as ROMIO for ease of mapping. These values taken |
---|
323 | * from ROMIO's mpio.h file. |
---|
324 | */ |
---|
325 | #define MPI_MODE_CREATE 1 /* ADIO_CREATE */ |
---|
326 | #define MPI_MODE_RDONLY 2 /* ADIO_RDONLY */ |
---|
327 | #define MPI_MODE_WRONLY 4 /* ADIO_WRONLY */ |
---|
328 | #define MPI_MODE_RDWR 8 /* ADIO_RDWR */ |
---|
329 | #define MPI_MODE_DELETE_ON_CLOSE 16 /* ADIO_DELETE_ON_CLOSE */ |
---|
330 | #define MPI_MODE_UNIQUE_OPEN 32 /* ADIO_UNIQUE_OPEN */ |
---|
331 | #define MPI_MODE_EXCL 64 /* ADIO_EXCL */ |
---|
332 | #define MPI_MODE_APPEND 128 /* ADIO_APPEND */ |
---|
333 | #define MPI_MODE_SEQUENTIAL 256 /* ADIO_SEQUENTIAL */ |
---|
334 | |
---|
335 | #define MPI_DISPLACEMENT_CURRENT -54278278 |
---|
336 | |
---|
337 | #define MPI_SEEK_SET 600 |
---|
338 | #define MPI_SEEK_CUR 602 |
---|
339 | #define MPI_SEEK_END 604 |
---|
340 | |
---|
341 | #define MPI_MAX_DATAREP_STRING 128 |
---|
342 | #endif /* #if OMPI_PROVIDE_MPI_FILE_INTERFACE */ |
---|
343 | |
---|
344 | /* |
---|
345 | * MPI-2 One-Sided Communications asserts |
---|
346 | */ |
---|
347 | #define MPI_MODE_NOCHECK 1 |
---|
348 | #define MPI_MODE_NOPRECEDE 2 |
---|
349 | #define MPI_MODE_NOPUT 4 |
---|
350 | #define MPI_MODE_NOSTORE 8 |
---|
351 | #define MPI_MODE_NOSUCCEED 16 |
---|
352 | |
---|
353 | #define MPI_LOCK_EXCLUSIVE 1 |
---|
354 | #define MPI_LOCK_SHARED 2 |
---|
355 | |
---|
356 | |
---|
357 | /* |
---|
358 | * Predefined attribute keyvals |
---|
359 | * |
---|
360 | * DO NOT CHANGE THE ORDER WITHOUT ALSO CHANGING THE ORDER IN |
---|
361 | * src/attribute/attribute_predefined.c and mpif.h.in. |
---|
362 | */ |
---|
363 | enum { |
---|
364 | /* MPI-1 */ |
---|
365 | MPI_TAG_UB, |
---|
366 | MPI_HOST, |
---|
367 | MPI_IO, |
---|
368 | MPI_WTIME_IS_GLOBAL, |
---|
369 | |
---|
370 | /* MPI-2 */ |
---|
371 | MPI_APPNUM, |
---|
372 | MPI_LASTUSEDCODE, |
---|
373 | MPI_UNIVERSE_SIZE, |
---|
374 | MPI_WIN_BASE, |
---|
375 | MPI_WIN_SIZE, |
---|
376 | MPI_WIN_DISP_UNIT, |
---|
377 | |
---|
378 | /* Even though these four are IMPI attributes, they need to be there |
---|
379 | for all MPI jobs */ |
---|
380 | IMPI_CLIENT_SIZE, |
---|
381 | IMPI_CLIENT_COLOR, |
---|
382 | IMPI_HOST_SIZE, |
---|
383 | IMPI_HOST_COLOR |
---|
384 | }; |
---|
385 | |
---|
386 | /* |
---|
387 | * Error classes and codes |
---|
388 | * Do not change the values of these without also modifying mpif.h.in. |
---|
389 | */ |
---|
390 | #define MPI_SUCCESS 0 |
---|
391 | #define MPI_ERR_BUFFER 1 |
---|
392 | #define MPI_ERR_COUNT 2 |
---|
393 | #define MPI_ERR_TYPE 3 |
---|
394 | #define MPI_ERR_TAG 4 |
---|
395 | #define MPI_ERR_COMM 5 |
---|
396 | #define MPI_ERR_RANK 6 |
---|
397 | #define MPI_ERR_REQUEST 7 |
---|
398 | #define MPI_ERR_ROOT 8 |
---|
399 | #define MPI_ERR_GROUP 9 |
---|
400 | #define MPI_ERR_OP 10 |
---|
401 | #define MPI_ERR_TOPOLOGY 11 |
---|
402 | #define MPI_ERR_DIMS 12 |
---|
403 | #define MPI_ERR_ARG 13 |
---|
404 | #define MPI_ERR_UNKNOWN 14 |
---|
405 | #define MPI_ERR_TRUNCATE 15 |
---|
406 | #define MPI_ERR_OTHER 16 |
---|
407 | #define MPI_ERR_INTERN 17 |
---|
408 | #define MPI_ERR_IN_STATUS 18 |
---|
409 | #define MPI_ERR_PENDING 19 |
---|
410 | #define MPI_ERR_ACCESS 20 |
---|
411 | #define MPI_ERR_AMODE 21 |
---|
412 | #define MPI_ERR_ASSERT 22 |
---|
413 | #define MPI_ERR_BAD_FILE 23 |
---|
414 | #define MPI_ERR_BASE 24 |
---|
415 | #define MPI_ERR_CONVERSION 25 |
---|
416 | #define MPI_ERR_DISP 26 |
---|
417 | #define MPI_ERR_DUP_DATAREP 27 |
---|
418 | #define MPI_ERR_FILE_EXISTS 28 |
---|
419 | #define MPI_ERR_FILE_IN_USE 29 |
---|
420 | #define MPI_ERR_FILE 30 |
---|
421 | #define MPI_ERR_INFO_KEY 31 |
---|
422 | #define MPI_ERR_INFO_NOKEY 32 |
---|
423 | #define MPI_ERR_INFO_VALUE 33 |
---|
424 | #define MPI_ERR_INFO 34 |
---|
425 | #define MPI_ERR_IO 35 |
---|
426 | #define MPI_ERR_KEYVAL 36 |
---|
427 | #define MPI_ERR_LOCKTYPE 37 |
---|
428 | #define MPI_ERR_NAME 38 |
---|
429 | #define MPI_ERR_NO_MEM 39 |
---|
430 | #define MPI_ERR_NOT_SAME 40 |
---|
431 | #define MPI_ERR_NO_SPACE 41 |
---|
432 | #define MPI_ERR_NO_SUCH_FILE 42 |
---|
433 | #define MPI_ERR_PORT 43 |
---|
434 | #define MPI_ERR_QUOTA 44 |
---|
435 | #define MPI_ERR_READ_ONLY 45 |
---|
436 | #define MPI_ERR_RMA_CONFLICT 46 |
---|
437 | #define MPI_ERR_RMA_SYNC 47 |
---|
438 | #define MPI_ERR_SERVICE 48 |
---|
439 | #define MPI_ERR_SIZE 49 |
---|
440 | #define MPI_ERR_SPAWN 50 |
---|
441 | #define MPI_ERR_UNSUPPORTED_DATAREP 51 |
---|
442 | #define MPI_ERR_UNSUPPORTED_OPERATION 52 |
---|
443 | #define MPI_ERR_WIN 53 |
---|
444 | #define MPI_ERR_LASTCODE 54 |
---|
445 | |
---|
446 | #define MPI_ERR_SYSRESOURCE -2 |
---|
447 | |
---|
448 | |
---|
449 | /* |
---|
450 | * Comparison results. Don't change the order of these, the group |
---|
451 | * comparison functions rely on it. |
---|
452 | * Do not change the order of these without also modifying mpif.h.in. |
---|
453 | */ |
---|
454 | enum { |
---|
455 | MPI_IDENT, |
---|
456 | MPI_CONGRUENT, |
---|
457 | MPI_SIMILAR, |
---|
458 | MPI_UNEQUAL |
---|
459 | }; |
---|
460 | |
---|
461 | /* |
---|
462 | * MPI_Init_thread constants |
---|
463 | * Do not change the order of these without also modifying mpif.h.in. |
---|
464 | */ |
---|
465 | enum { |
---|
466 | MPI_THREAD_SINGLE, |
---|
467 | MPI_THREAD_FUNNELED, |
---|
468 | MPI_THREAD_SERIALIZED, |
---|
469 | MPI_THREAD_MULTIPLE |
---|
470 | }; |
---|
471 | |
---|
472 | /* |
---|
473 | * Datatype combiners. |
---|
474 | * Do not change the order of these without also modifying mpif.h.in. |
---|
475 | */ |
---|
476 | enum { |
---|
477 | MPI_COMBINER_NAMED, |
---|
478 | MPI_COMBINER_DUP, |
---|
479 | MPI_COMBINER_CONTIGUOUS, |
---|
480 | MPI_COMBINER_VECTOR, |
---|
481 | MPI_COMBINER_HVECTOR_INTEGER, |
---|
482 | MPI_COMBINER_HVECTOR, |
---|
483 | MPI_COMBINER_INDEXED, |
---|
484 | MPI_COMBINER_HINDEXED_INTEGER, |
---|
485 | MPI_COMBINER_HINDEXED, |
---|
486 | MPI_COMBINER_INDEXED_BLOCK, |
---|
487 | MPI_COMBINER_STRUCT_INTEGER, |
---|
488 | MPI_COMBINER_STRUCT, |
---|
489 | MPI_COMBINER_SUBARRAY, |
---|
490 | MPI_COMBINER_DARRAY, |
---|
491 | MPI_COMBINER_F90_REAL, |
---|
492 | MPI_COMBINER_F90_COMPLEX, |
---|
493 | MPI_COMBINER_F90_INTEGER, |
---|
494 | MPI_COMBINER_RESIZED |
---|
495 | }; |
---|
496 | |
---|
497 | /* |
---|
498 | * NULL handles |
---|
499 | */ |
---|
500 | #define MPI_GROUP_NULL OMPI_PREDEFINED_GLOBAL(MPI_Group, ompi_mpi_group_null) |
---|
501 | #define MPI_COMM_NULL OMPI_PREDEFINED_GLOBAL(MPI_Comm, ompi_mpi_comm_null) |
---|
502 | #define MPI_REQUEST_NULL OMPI_PREDEFINED_GLOBAL(MPI_Request, ompi_request_null) |
---|
503 | #define MPI_OP_NULL OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_null) |
---|
504 | #define MPI_ERRHANDLER_NULL OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errhandler_null) |
---|
505 | #define MPI_INFO_NULL OMPI_PREDEFINED_GLOBAL(MPI_Info, ompi_mpi_info_null) |
---|
506 | #define MPI_WIN_NULL OMPI_PREDEFINED_GLOBAL(MPI_Win, ompi_mpi_win_null) |
---|
507 | #if OMPI_PROVIDE_MPI_FILE_INTERFACE |
---|
508 | #define MPI_FILE_NULL OMPI_PREDEFINED_GLOBAL(MPI_File, ompi_mpi_file_null) |
---|
509 | #endif |
---|
510 | |
---|
511 | #define MPI_STATUS_IGNORE ((MPI_Status *) 0) |
---|
512 | #define MPI_STATUSES_IGNORE ((MPI_Status *) 0) |
---|
513 | |
---|
514 | /* MPI-2 specifies that the name "MPI_TYPE_NULL_DELETE_FN" (and all |
---|
515 | related friends) must be accessible in C, C++, and Fortran. This is |
---|
516 | unworkable if the back-end Fortran compiler uses all caps for its |
---|
517 | linker symbol convention -- it results in two functions with |
---|
518 | different signatures that have the same name (i.e., both C and |
---|
519 | Fortran use the symbol MPI_TYPE_NULL_DELETE_FN). So we have to |
---|
520 | #define the C names to be something else, so that they names are |
---|
521 | *accessed* through MPI_TYPE_NULL_DELETE_FN, but their actual symbol |
---|
522 | name is different. |
---|
523 | |
---|
524 | However, this file is included when the fortran wrapper functions |
---|
525 | are compiled in Open MPI, so we do *not* want these #defines in |
---|
526 | this case (i.e., we need the Fortran wrapper function to be |
---|
527 | compiled as MPI_TYPE_NULL_DELETE_FN). So add some #if kinds of |
---|
528 | protection for this case. */ |
---|
529 | |
---|
530 | #if !defined(OMPI_COMPILING_F77_WRAPPERS) |
---|
531 | #define MPI_NULL_DELETE_FN OMPI_C_MPI_NULL_DELETE_FN |
---|
532 | #define MPI_NULL_COPY_FN OMPI_C_MPI_NULL_COPY_FN |
---|
533 | #define MPI_DUP_FN OMPI_C_MPI_DUP_FN |
---|
534 | |
---|
535 | #define MPI_TYPE_NULL_DELETE_FN OMPI_C_MPI_TYPE_NULL_DELETE_FN |
---|
536 | #define MPI_TYPE_NULL_COPY_FN OMPI_C_MPI_TYPE_NULL_COPY_FN |
---|
537 | #define MPI_TYPE_DUP_FN OMPI_C_MPI_TYPE_DUP_FN |
---|
538 | |
---|
539 | #define MPI_COMM_NULL_DELETE_FN OMPI_C_MPI_COMM_NULL_DELETE_FN |
---|
540 | #define MPI_COMM_NULL_COPY_FN OMPI_C_MPI_COMM_NULL_COPY_FN |
---|
541 | #define MPI_COMM_DUP_FN OMPI_C_MPI_COMM_DUP_FN |
---|
542 | |
---|
543 | #define MPI_WIN_NULL_DELETE_FN OMPI_C_MPI_WIN_NULL_DELETE_FN |
---|
544 | #define MPI_WIN_NULL_COPY_FN OMPI_C_MPI_WIN_NULL_COPY_FN |
---|
545 | #define MPI_WIN_DUP_FN OMPI_C_MPI_WIN_DUP_FN |
---|
546 | |
---|
547 | /* MPI_CONVERSION_FN_NULL is a sentinel value, but it has to be large |
---|
548 | enough to be the same size as a valid function pointer. It |
---|
549 | therefore shares many characteristics between Fortran constants and |
---|
550 | Fortran sentinel functions. For example, it shares the problem of |
---|
551 | having Fortran compilers have all-caps versions of the symbols that |
---|
552 | must be able to be present, and therefore has to be in this |
---|
553 | conditional block in mpi.h. */ |
---|
554 | #define MPI_CONVERSION_FN_NULL ((MPI_Datarep_conversion_function*) 0) |
---|
555 | #endif |
---|
556 | |
---|
557 | OMPI_DECLSPEC int OMPI_C_MPI_TYPE_NULL_DELETE_FN( MPI_Datatype datatype, |
---|
558 | int type_keyval, |
---|
559 | void* attribute_val_out, |
---|
560 | void* extra_state ); |
---|
561 | OMPI_DECLSPEC int OMPI_C_MPI_TYPE_NULL_COPY_FN( MPI_Datatype datatype, |
---|
562 | int type_keyval, |
---|
563 | void* extra_state, |
---|
564 | void* attribute_val_in, |
---|
565 | void* attribute_val_out, |
---|
566 | int* flag ); |
---|
567 | OMPI_DECLSPEC int OMPI_C_MPI_TYPE_DUP_FN( MPI_Datatype datatype, |
---|
568 | int type_keyval, |
---|
569 | void* extra_state, |
---|
570 | void* attribute_val_in, |
---|
571 | void* attribute_val_out, |
---|
572 | int* flag ); |
---|
573 | OMPI_DECLSPEC int OMPI_C_MPI_COMM_NULL_DELETE_FN( MPI_Comm comm, |
---|
574 | int comm_keyval, |
---|
575 | void* attribute_val_out, |
---|
576 | void* extra_state ); |
---|
577 | OMPI_DECLSPEC int OMPI_C_MPI_COMM_NULL_COPY_FN( MPI_Comm comm, |
---|
578 | int comm_keyval, |
---|
579 | void* extra_state, |
---|
580 | void* attribute_val_in, |
---|
581 | void* attribute_val_out, |
---|
582 | int* flag ); |
---|
583 | OMPI_DECLSPEC int OMPI_C_MPI_COMM_DUP_FN( MPI_Comm comm, int comm_keyval, |
---|
584 | void* extra_state, |
---|
585 | void* attribute_val_in, |
---|
586 | void* attribute_val_out, |
---|
587 | int* flag ); |
---|
588 | OMPI_DECLSPEC int OMPI_C_MPI_NULL_DELETE_FN( MPI_Comm comm, int comm_keyval, |
---|
589 | void* attribute_val_out, |
---|
590 | void* extra_state ); |
---|
591 | OMPI_DECLSPEC int OMPI_C_MPI_NULL_COPY_FN( MPI_Comm comm, int comm_keyval, |
---|
592 | void* extra_state, |
---|
593 | void* attribute_val_in, |
---|
594 | void* attribute_val_out, |
---|
595 | int* flag ); |
---|
596 | OMPI_DECLSPEC int OMPI_C_MPI_DUP_FN( MPI_Comm comm, int comm_keyval, |
---|
597 | void* extra_state, |
---|
598 | void* attribute_val_in, |
---|
599 | void* attribute_val_out, |
---|
600 | int* flag ); |
---|
601 | OMPI_DECLSPEC int OMPI_C_MPI_WIN_NULL_DELETE_FN( MPI_Win window, |
---|
602 | int win_keyval, |
---|
603 | void* attribute_val_out, |
---|
604 | void* extra_state ); |
---|
605 | OMPI_DECLSPEC int OMPI_C_MPI_WIN_NULL_COPY_FN( MPI_Win window, int win_keyval, |
---|
606 | void* extra_state, |
---|
607 | void* attribute_val_in, |
---|
608 | void* attribute_val_out, |
---|
609 | int* flag ); |
---|
610 | OMPI_DECLSPEC int OMPI_C_MPI_WIN_DUP_FN( MPI_Win window, int win_keyval, |
---|
611 | void* extra_state, |
---|
612 | void* attribute_val_in, |
---|
613 | void* attribute_val_out, |
---|
614 | int* flag ); |
---|
615 | |
---|
616 | /* |
---|
617 | * External variables |
---|
618 | * |
---|
619 | * The below externs use the ompi_predefined_xxx_t structures to maintain |
---|
620 | * back compatibility between MPI library versions. |
---|
621 | * See ompi/communicator/communicator.h comments with struct ompi_communicator_t |
---|
622 | * for full explanation why we chose to use the ompi_predefined_xxx_t structure. |
---|
623 | */ |
---|
624 | OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_world; |
---|
625 | OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_self; |
---|
626 | OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_null; |
---|
627 | |
---|
628 | OMPI_DECLSPEC extern struct ompi_predefined_group_t ompi_mpi_group_empty; |
---|
629 | OMPI_DECLSPEC extern struct ompi_predefined_group_t ompi_mpi_group_null; |
---|
630 | |
---|
631 | OMPI_DECLSPEC extern struct ompi_predefined_request_t ompi_request_null; |
---|
632 | |
---|
633 | OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_null; |
---|
634 | OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_max, ompi_mpi_op_min; |
---|
635 | OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_sum; |
---|
636 | OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_prod; |
---|
637 | OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_land; |
---|
638 | OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_band; |
---|
639 | OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lor, ompi_mpi_op_bor; |
---|
640 | OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lxor; |
---|
641 | OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_bxor; |
---|
642 | OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_maxloc; |
---|
643 | OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_minloc; |
---|
644 | OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_replace; |
---|
645 | |
---|
646 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_char, ompi_mpi_byte; |
---|
647 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int, ompi_mpi_logic; |
---|
648 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_short, ompi_mpi_long; |
---|
649 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_float, ompi_mpi_double; |
---|
650 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_double; |
---|
651 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cplex, ompi_mpi_packed; |
---|
652 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_signed_char; |
---|
653 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_char; |
---|
654 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_short; |
---|
655 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned, ompi_mpi_datatype_null; |
---|
656 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_long, ompi_mpi_ldblcplex; |
---|
657 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ub, ompi_mpi_lb; |
---|
658 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_float_int, ompi_mpi_double_int; |
---|
659 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_int, ompi_mpi_2int; |
---|
660 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_short_int, ompi_mpi_dblcplex; |
---|
661 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer, ompi_mpi_real; |
---|
662 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_dblprec, ompi_mpi_character; |
---|
663 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2real, ompi_mpi_2dblprec; |
---|
664 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2integer, ompi_mpi_longdbl_int; |
---|
665 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_wchar, ompi_mpi_long_long_int; |
---|
666 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_long_long; |
---|
667 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_cplex, ompi_mpi_cxx_dblcplex; |
---|
668 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_ldblcplex; |
---|
669 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_bool; |
---|
670 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2cplex, ompi_mpi_2dblcplex; |
---|
671 | /* other MPI2 datatypes */ |
---|
672 | #if OMPI_HAVE_FORTRAN_LOGICAL1 |
---|
673 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical1; |
---|
674 | #endif |
---|
675 | #if OMPI_HAVE_FORTRAN_LOGICAL2 |
---|
676 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical2; |
---|
677 | #endif |
---|
678 | #if OMPI_HAVE_FORTRAN_LOGICAL4 |
---|
679 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical4; |
---|
680 | #endif |
---|
681 | #if OMPI_HAVE_FORTRAN_LOGICAL8 |
---|
682 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical8; |
---|
683 | #endif |
---|
684 | #if OMPI_HAVE_FORTRAN_INTEGER1 |
---|
685 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer1; |
---|
686 | #endif |
---|
687 | #if OMPI_HAVE_FORTRAN_INTEGER2 |
---|
688 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer2; |
---|
689 | #endif |
---|
690 | #if OMPI_HAVE_FORTRAN_INTEGER4 |
---|
691 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer4; |
---|
692 | #endif |
---|
693 | #if OMPI_HAVE_FORTRAN_INTEGER8 |
---|
694 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer8; |
---|
695 | #endif |
---|
696 | #if OMPI_HAVE_FORTRAN_INTEGER16 |
---|
697 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer16; |
---|
698 | #endif |
---|
699 | #if OMPI_HAVE_FORTRAN_REAL2 |
---|
700 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real2; |
---|
701 | #endif |
---|
702 | #if OMPI_HAVE_FORTRAN_REAL4 |
---|
703 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real4; |
---|
704 | #endif |
---|
705 | #if OMPI_HAVE_FORTRAN_REAL8 |
---|
706 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real8; |
---|
707 | #endif |
---|
708 | #if OMPI_HAVE_FORTRAN_REAL16 |
---|
709 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real16; |
---|
710 | #endif |
---|
711 | #if OMPI_HAVE_FORTRAN_REAL4 |
---|
712 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex8; |
---|
713 | #endif |
---|
714 | #if OMPI_HAVE_FORTRAN_REAL8 |
---|
715 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex16; |
---|
716 | #endif |
---|
717 | #if OMPI_HAVE_FORTRAN_REAL16 |
---|
718 | OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex32; |
---|
719 | #endif |
---|
720 | |
---|
721 | OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errhandler_null; |
---|
722 | OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errors_are_fatal; |
---|
723 | OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errors_return; |
---|
724 | |
---|
725 | OMPI_DECLSPEC extern struct ompi_predefined_win_t ompi_mpi_win_null; |
---|
726 | OMPI_DECLSPEC extern struct ompi_predefined_file_t ompi_mpi_file_null; |
---|
727 | |
---|
728 | OMPI_DECLSPEC extern struct ompi_predefined_info_t ompi_mpi_info_null; |
---|
729 | |
---|
730 | OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUS_IGNORE; |
---|
731 | OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUSES_IGNORE; |
---|
732 | |
---|
733 | /* |
---|
734 | * MPI predefined handles |
---|
735 | */ |
---|
736 | #define MPI_COMM_WORLD OMPI_PREDEFINED_GLOBAL( MPI_Comm, ompi_mpi_comm_world) |
---|
737 | #define MPI_COMM_SELF OMPI_PREDEFINED_GLOBAL(MPI_Comm, ompi_mpi_comm_self) |
---|
738 | |
---|
739 | #define MPI_GROUP_EMPTY OMPI_PREDEFINED_GLOBAL(MPI_Group, ompi_mpi_group_empty) |
---|
740 | |
---|
741 | #define MPI_MAX OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_max) |
---|
742 | #define MPI_MIN OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_min) |
---|
743 | #define MPI_SUM OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_sum) |
---|
744 | #define MPI_PROD OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_prod) |
---|
745 | #define MPI_LAND OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_land) |
---|
746 | #define MPI_BAND OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_band) |
---|
747 | #define MPI_LOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_lor) |
---|
748 | #define MPI_BOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_bor) |
---|
749 | #define MPI_LXOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_lxor) |
---|
750 | #define MPI_BXOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_bxor) |
---|
751 | #define MPI_MAXLOC OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_maxloc) |
---|
752 | #define MPI_MINLOC OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_minloc) |
---|
753 | #define MPI_REPLACE OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_replace) |
---|
754 | |
---|
755 | /* C datatypes */ |
---|
756 | #define MPI_DATATYPE_NULL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_datatype_null) |
---|
757 | #define MPI_BYTE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_byte) |
---|
758 | #define MPI_PACKED OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_packed) |
---|
759 | #define MPI_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_char) |
---|
760 | #define MPI_SHORT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_short) |
---|
761 | #define MPI_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int) |
---|
762 | #define MPI_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long) |
---|
763 | #define MPI_FLOAT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_float) |
---|
764 | #define MPI_DOUBLE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_double) |
---|
765 | #define MPI_LONG_DOUBLE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_double) |
---|
766 | #define MPI_UNSIGNED_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_char) |
---|
767 | #define MPI_SIGNED_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_signed_char) |
---|
768 | #define MPI_UNSIGNED_SHORT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_short) |
---|
769 | #define MPI_UNSIGNED_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_long) |
---|
770 | #define MPI_UNSIGNED OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned) |
---|
771 | #define MPI_FLOAT_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_float_int) |
---|
772 | #define MPI_DOUBLE_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_double_int) |
---|
773 | #define MPI_LONG_DOUBLE_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_longdbl_int) |
---|
774 | #define MPI_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_int) |
---|
775 | #define MPI_SHORT_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_short_int) |
---|
776 | #define MPI_2INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2int) |
---|
777 | #define MPI_UB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_ub) |
---|
778 | #define MPI_LB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_lb) |
---|
779 | #define MPI_WCHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_wchar) |
---|
780 | #if OMPI_HAVE_LONG_LONG |
---|
781 | #define MPI_LONG_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_long_int) |
---|
782 | #define MPI_LONG_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_long_int) |
---|
783 | #define MPI_UNSIGNED_LONG_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_long_long) |
---|
784 | #endif /* OMPI_HAVE_LONG_LONG */ |
---|
785 | #define MPI_2COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2cplex) |
---|
786 | #define MPI_2DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2dblcplex) |
---|
787 | |
---|
788 | /* Fortran datatype bindings */ |
---|
789 | #define MPI_CHARACTER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_character) |
---|
790 | #define MPI_LOGICAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logic) |
---|
791 | #if OMPI_HAVE_FORTRAN_LOGICAL1 |
---|
792 | #define MPI_LOGICAL1 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical1) |
---|
793 | #endif |
---|
794 | #if OMPI_HAVE_FORTRAN_LOGICAL2 |
---|
795 | #define MPI_LOGICAL2 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical2) |
---|
796 | #endif |
---|
797 | #if OMPI_HAVE_FORTRAN_LOGICAL4 |
---|
798 | #define MPI_LOGICAL4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical4) |
---|
799 | #endif |
---|
800 | #if OMPI_HAVE_FORTRAN_LOGICAL8 |
---|
801 | #define MPI_LOGICAL8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical8) |
---|
802 | #endif |
---|
803 | #define MPI_INTEGER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer) |
---|
804 | #if OMPI_HAVE_FORTRAN_INTEGER1 |
---|
805 | #define MPI_INTEGER1 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer1) |
---|
806 | #endif |
---|
807 | #if OMPI_HAVE_FORTRAN_INTEGER2 |
---|
808 | #define MPI_INTEGER2 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer2) |
---|
809 | #endif |
---|
810 | #if OMPI_HAVE_FORTRAN_INTEGER4 |
---|
811 | #define MPI_INTEGER4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer4) |
---|
812 | #endif |
---|
813 | #if OMPI_HAVE_FORTRAN_INTEGER8 |
---|
814 | #define MPI_INTEGER8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer8) |
---|
815 | #endif |
---|
816 | #if OMPI_HAVE_FORTRAN_INTEGER16 |
---|
817 | #define MPI_INTEGER16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer16) |
---|
818 | #endif |
---|
819 | #define MPI_REAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real) |
---|
820 | #if OMPI_HAVE_FORTRAN_REAL4 |
---|
821 | #define MPI_REAL4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real4) |
---|
822 | #endif |
---|
823 | #if OMPI_HAVE_FORTRAN_REAL8 |
---|
824 | #define MPI_REAL8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real8) |
---|
825 | #endif |
---|
826 | #if OMPI_HAVE_FORTRAN_REAL16 |
---|
827 | #define MPI_REAL16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real16) |
---|
828 | #endif |
---|
829 | #define MPI_DOUBLE_PRECISION OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_dblprec) |
---|
830 | #define MPI_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cplex) |
---|
831 | #if OMPI_HAVE_FORTRAN_REAL4 |
---|
832 | #define MPI_COMPLEX8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex8) |
---|
833 | #endif |
---|
834 | #if OMPI_HAVE_FORTRAN_REAL8 |
---|
835 | #define MPI_COMPLEX16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex16) |
---|
836 | #endif |
---|
837 | #if OMPI_HAVE_FORTRAN_REAL16 |
---|
838 | #define MPI_COMPLEX32 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex32) |
---|
839 | #endif |
---|
840 | #define MPI_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_dblcplex) |
---|
841 | #define MPI_2REAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2real) |
---|
842 | #define MPI_2DOUBLE_PRECISION OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2dblprec) |
---|
843 | #define MPI_2INTEGER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2integer) |
---|
844 | |
---|
845 | #define MPI_ERRORS_ARE_FATAL OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errors_are_fatal) |
---|
846 | #define MPI_ERRORS_RETURN OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errors_return) |
---|
847 | |
---|
848 | /* Typeclass definition for MPI_Type_match_size */ |
---|
849 | #define MPI_TYPECLASS_INTEGER 1 |
---|
850 | #define MPI_TYPECLASS_REAL 2 |
---|
851 | #define MPI_TYPECLASS_COMPLEX 3 |
---|
852 | |
---|
853 | |
---|
854 | /* |
---|
855 | * MPI API |
---|
856 | */ |
---|
857 | |
---|
858 | OMPI_DECLSPEC int MPI_Abort(MPI_Comm comm, int errorcode); |
---|
859 | OMPI_DECLSPEC int MPI_Accumulate(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, |
---|
860 | int target_rank, MPI_Aint target_disp, int target_count, |
---|
861 | MPI_Datatype target_datatype, MPI_Op op, MPI_Win win); |
---|
862 | OMPI_DECLSPEC int MPI_Add_error_class(int *errorclass); |
---|
863 | OMPI_DECLSPEC int MPI_Add_error_code(int errorclass, int *errorcode); |
---|
864 | OMPI_DECLSPEC int MPI_Add_error_string(int errorcode, char *string); |
---|
865 | OMPI_DECLSPEC int MPI_Address(void *location, MPI_Aint *address); |
---|
866 | OMPI_DECLSPEC int MPI_Allgather(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
867 | void *recvbuf, int recvcount, |
---|
868 | MPI_Datatype recvtype, MPI_Comm comm); |
---|
869 | OMPI_DECLSPEC int MPI_Allgatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
870 | void *recvbuf, int *recvcounts, |
---|
871 | int *displs, MPI_Datatype recvtype, MPI_Comm comm); |
---|
872 | OMPI_DECLSPEC int MPI_Alloc_mem(MPI_Aint size, MPI_Info info, |
---|
873 | void *baseptr); |
---|
874 | OMPI_DECLSPEC int MPI_Allreduce(void *sendbuf, void *recvbuf, int count, |
---|
875 | MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); |
---|
876 | OMPI_DECLSPEC int MPI_Alltoall(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
877 | void *recvbuf, int recvcount, |
---|
878 | MPI_Datatype recvtype, MPI_Comm comm); |
---|
879 | OMPI_DECLSPEC int MPI_Alltoallv(void *sendbuf, int *sendcounts, int *sdispls, |
---|
880 | MPI_Datatype sendtype, void *recvbuf, int *recvcounts, |
---|
881 | int *rdispls, MPI_Datatype recvtype, MPI_Comm comm); |
---|
882 | OMPI_DECLSPEC int MPI_Alltoallw(void *sendbuf, int *sendcounts, int *sdispls, MPI_Datatype *sendtypes, |
---|
883 | void *recvbuf, int *recvcounts, int *rdispls, MPI_Datatype *recvtypes, |
---|
884 | MPI_Comm comm); |
---|
885 | OMPI_DECLSPEC int MPI_Attr_delete(MPI_Comm comm, int keyval); |
---|
886 | OMPI_DECLSPEC int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag); |
---|
887 | OMPI_DECLSPEC int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val); |
---|
888 | OMPI_DECLSPEC int MPI_Barrier(MPI_Comm comm); |
---|
889 | OMPI_DECLSPEC int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, |
---|
890 | int root, MPI_Comm comm); |
---|
891 | OMPI_DECLSPEC int MPI_Bsend(void *buf, int count, MPI_Datatype datatype, |
---|
892 | int dest, int tag, MPI_Comm comm); |
---|
893 | OMPI_DECLSPEC int MPI_Bsend_init(void *buf, int count, MPI_Datatype datatype, |
---|
894 | int dest, int tag, MPI_Comm comm, MPI_Request *request); |
---|
895 | OMPI_DECLSPEC int MPI_Buffer_attach(void *buffer, int size); |
---|
896 | OMPI_DECLSPEC int MPI_Buffer_detach(void *buffer, int *size); |
---|
897 | OMPI_DECLSPEC int MPI_Cancel(MPI_Request *request); |
---|
898 | OMPI_DECLSPEC int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int *coords); |
---|
899 | OMPI_DECLSPEC int MPI_Cart_create(MPI_Comm old_comm, int ndims, int *dims, |
---|
900 | int *periods, int reorder, MPI_Comm *comm_cart); |
---|
901 | OMPI_DECLSPEC int MPI_Cart_get(MPI_Comm comm, int maxdims, int *dims, |
---|
902 | int *periods, int *coords); |
---|
903 | OMPI_DECLSPEC int MPI_Cart_map(MPI_Comm comm, int ndims, int *dims, |
---|
904 | int *periods, int *newrank); |
---|
905 | OMPI_DECLSPEC int MPI_Cart_rank(MPI_Comm comm, int *coords, int *rank); |
---|
906 | OMPI_DECLSPEC int MPI_Cart_shift(MPI_Comm comm, int direction, int disp, |
---|
907 | int *rank_source, int *rank_dest); |
---|
908 | OMPI_DECLSPEC int MPI_Cart_sub(MPI_Comm comm, int *remain_dims, MPI_Comm *new_comm); |
---|
909 | OMPI_DECLSPEC int MPI_Cartdim_get(MPI_Comm comm, int *ndims); |
---|
910 | OMPI_DECLSPEC int MPI_Close_port(char *port_name); |
---|
911 | OMPI_DECLSPEC int MPI_Comm_accept(char *port_name, MPI_Info info, int root, |
---|
912 | MPI_Comm comm, MPI_Comm *newcomm); |
---|
913 | OMPI_DECLSPEC MPI_Fint MPI_Comm_c2f(MPI_Comm comm); |
---|
914 | OMPI_DECLSPEC int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode); |
---|
915 | OMPI_DECLSPEC int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result); |
---|
916 | OMPI_DECLSPEC int MPI_Comm_connect(char *port_name, MPI_Info info, int root, |
---|
917 | MPI_Comm comm, MPI_Comm *newcomm); |
---|
918 | OMPI_DECLSPEC int MPI_Comm_create_errhandler(MPI_Comm_errhandler_fn *function, |
---|
919 | MPI_Errhandler *errhandler); |
---|
920 | OMPI_DECLSPEC int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn, |
---|
921 | MPI_Comm_delete_attr_function *comm_delete_attr_fn, |
---|
922 | int *comm_keyval, void *extra_state); |
---|
923 | OMPI_DECLSPEC int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm); |
---|
924 | OMPI_DECLSPEC int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval); |
---|
925 | OMPI_DECLSPEC int MPI_Comm_disconnect(MPI_Comm *comm); |
---|
926 | OMPI_DECLSPEC int MPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm); |
---|
927 | OMPI_DECLSPEC MPI_Comm MPI_Comm_f2c(MPI_Fint comm); |
---|
928 | OMPI_DECLSPEC int MPI_Comm_free_keyval(int *comm_keyval); |
---|
929 | OMPI_DECLSPEC int MPI_Comm_free(MPI_Comm *comm); |
---|
930 | OMPI_DECLSPEC int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, |
---|
931 | void *attribute_val, int *flag); |
---|
932 | OMPI_DECLSPEC int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *erhandler); |
---|
933 | OMPI_DECLSPEC int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen); |
---|
934 | OMPI_DECLSPEC int MPI_Comm_get_parent(MPI_Comm *parent); |
---|
935 | OMPI_DECLSPEC int MPI_Comm_group(MPI_Comm comm, MPI_Group *group); |
---|
936 | OMPI_DECLSPEC int MPI_Comm_join(int fd, MPI_Comm *intercomm); |
---|
937 | OMPI_DECLSPEC int MPI_Comm_rank(MPI_Comm comm, int *rank); |
---|
938 | OMPI_DECLSPEC int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group); |
---|
939 | OMPI_DECLSPEC int MPI_Comm_remote_size(MPI_Comm comm, int *size); |
---|
940 | OMPI_DECLSPEC int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val); |
---|
941 | OMPI_DECLSPEC int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler); |
---|
942 | OMPI_DECLSPEC int MPI_Comm_set_name(MPI_Comm comm, char *comm_name); |
---|
943 | OMPI_DECLSPEC int MPI_Comm_size(MPI_Comm comm, int *size); |
---|
944 | OMPI_DECLSPEC int MPI_Comm_spawn(char *command, char **argv, int maxprocs, MPI_Info info, |
---|
945 | int root, MPI_Comm comm, MPI_Comm *intercomm, |
---|
946 | int *array_of_errcodes); |
---|
947 | OMPI_DECLSPEC int MPI_Comm_spawn_multiple(int count, char **array_of_commands, char ***array_of_argv, |
---|
948 | int *array_of_maxprocs, MPI_Info *array_of_info, |
---|
949 | int root, MPI_Comm comm, MPI_Comm *intercomm, |
---|
950 | int *array_of_errcodes); |
---|
951 | OMPI_DECLSPEC int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm); |
---|
952 | OMPI_DECLSPEC int MPI_Comm_test_inter(MPI_Comm comm, int *flag); |
---|
953 | OMPI_DECLSPEC int MPI_Dims_create(int nnodes, int ndims, int *dims); |
---|
954 | OMPI_DECLSPEC MPI_Fint MPI_Errhandler_c2f(MPI_Errhandler errhandler); |
---|
955 | OMPI_DECLSPEC int MPI_Errhandler_create(MPI_Handler_function *function, |
---|
956 | MPI_Errhandler *errhandler); |
---|
957 | OMPI_DECLSPEC MPI_Errhandler MPI_Errhandler_f2c(MPI_Fint errhandler); |
---|
958 | OMPI_DECLSPEC int MPI_Errhandler_free(MPI_Errhandler *errhandler); |
---|
959 | OMPI_DECLSPEC int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler); |
---|
960 | OMPI_DECLSPEC int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler); |
---|
961 | OMPI_DECLSPEC int MPI_Error_class(int errorcode, int *errorclass); |
---|
962 | OMPI_DECLSPEC int MPI_Error_string(int errorcode, char *string, int *resultlen); |
---|
963 | OMPI_DECLSPEC int MPI_Exscan(void *sendbuf, void *recvbuf, int count, |
---|
964 | MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); |
---|
965 | #if OMPI_PROVIDE_MPI_FILE_INTERFACE |
---|
966 | OMPI_DECLSPEC MPI_Fint MPI_File_c2f(MPI_File file); |
---|
967 | OMPI_DECLSPEC MPI_File MPI_File_f2c(MPI_Fint file); |
---|
968 | OMPI_DECLSPEC int MPI_File_call_errhandler(MPI_File fh, int errorcode); |
---|
969 | OMPI_DECLSPEC int MPI_File_create_errhandler(MPI_File_errhandler_fn *function, |
---|
970 | MPI_Errhandler *errhandler); |
---|
971 | OMPI_DECLSPEC int MPI_File_set_errhandler( MPI_File file, MPI_Errhandler errhandler); |
---|
972 | OMPI_DECLSPEC int MPI_File_get_errhandler( MPI_File file, MPI_Errhandler *errhandler); |
---|
973 | OMPI_DECLSPEC int MPI_File_open(MPI_Comm comm, char *filename, int amode, |
---|
974 | MPI_Info info, MPI_File *fh); |
---|
975 | OMPI_DECLSPEC int MPI_File_close(MPI_File *fh); |
---|
976 | OMPI_DECLSPEC int MPI_File_delete(char *filename, MPI_Info info); |
---|
977 | OMPI_DECLSPEC int MPI_File_set_size(MPI_File fh, MPI_Offset size); |
---|
978 | OMPI_DECLSPEC int MPI_File_preallocate(MPI_File fh, MPI_Offset size); |
---|
979 | OMPI_DECLSPEC int MPI_File_get_size(MPI_File fh, MPI_Offset *size); |
---|
980 | OMPI_DECLSPEC int MPI_File_get_group(MPI_File fh, MPI_Group *group); |
---|
981 | OMPI_DECLSPEC int MPI_File_get_amode(MPI_File fh, int *amode); |
---|
982 | OMPI_DECLSPEC int MPI_File_set_info(MPI_File fh, MPI_Info info); |
---|
983 | OMPI_DECLSPEC int MPI_File_get_info(MPI_File fh, MPI_Info *info_used); |
---|
984 | OMPI_DECLSPEC int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, |
---|
985 | MPI_Datatype filetype, char *datarep, MPI_Info info); |
---|
986 | OMPI_DECLSPEC int MPI_File_get_view(MPI_File fh, MPI_Offset *disp, |
---|
987 | MPI_Datatype *etype, |
---|
988 | MPI_Datatype *filetype, char *datarep); |
---|
989 | OMPI_DECLSPEC int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, |
---|
990 | int count, MPI_Datatype datatype, MPI_Status *status); |
---|
991 | OMPI_DECLSPEC int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, |
---|
992 | int count, MPI_Datatype datatype, MPI_Status *status); |
---|
993 | OMPI_DECLSPEC int MPI_File_write_at(MPI_File fh, MPI_Offset offset, void *buf, |
---|
994 | int count, MPI_Datatype datatype, MPI_Status *status); |
---|
995 | OMPI_DECLSPEC int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, void *buf, |
---|
996 | int count, MPI_Datatype datatype, MPI_Status *status); |
---|
997 | OMPI_DECLSPEC int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, |
---|
998 | int count, MPI_Datatype datatype, MPI_Request *request); |
---|
999 | OMPI_DECLSPEC int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, void *buf, |
---|
1000 | int count, MPI_Datatype datatype, MPI_Request *request); |
---|
1001 | OMPI_DECLSPEC int MPI_File_read(MPI_File fh, void *buf, int count, |
---|
1002 | MPI_Datatype datatype, MPI_Status *status); |
---|
1003 | OMPI_DECLSPEC int MPI_File_read_all(MPI_File fh, void *buf, int count, |
---|
1004 | MPI_Datatype datatype, MPI_Status *status); |
---|
1005 | OMPI_DECLSPEC int MPI_File_write(MPI_File fh, void *buf, int count, |
---|
1006 | MPI_Datatype datatype, MPI_Status *status); |
---|
1007 | OMPI_DECLSPEC int MPI_File_write_all(MPI_File fh, void *buf, int count, |
---|
1008 | MPI_Datatype datatype, MPI_Status *status); |
---|
1009 | OMPI_DECLSPEC int MPI_File_iread(MPI_File fh, void *buf, int count, |
---|
1010 | MPI_Datatype datatype, MPI_Request *request); |
---|
1011 | OMPI_DECLSPEC int MPI_File_iwrite(MPI_File fh, void *buf, int count, |
---|
1012 | MPI_Datatype datatype, MPI_Request *request); |
---|
1013 | OMPI_DECLSPEC int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence); |
---|
1014 | OMPI_DECLSPEC int MPI_File_get_position(MPI_File fh, MPI_Offset *offset); |
---|
1015 | OMPI_DECLSPEC int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, |
---|
1016 | MPI_Offset *disp); |
---|
1017 | OMPI_DECLSPEC int MPI_File_read_shared(MPI_File fh, void *buf, int count, |
---|
1018 | MPI_Datatype datatype, MPI_Status *status); |
---|
1019 | OMPI_DECLSPEC int MPI_File_write_shared(MPI_File fh, void *buf, int count, |
---|
1020 | MPI_Datatype datatype, MPI_Status *status); |
---|
1021 | OMPI_DECLSPEC int MPI_File_iread_shared(MPI_File fh, void *buf, int count, |
---|
1022 | MPI_Datatype datatype, MPI_Request *request); |
---|
1023 | OMPI_DECLSPEC int MPI_File_iwrite_shared(MPI_File fh, void *buf, int count, |
---|
1024 | MPI_Datatype datatype, MPI_Request *request); |
---|
1025 | OMPI_DECLSPEC int MPI_File_read_ordered(MPI_File fh, void *buf, int count, |
---|
1026 | MPI_Datatype datatype, MPI_Status *status); |
---|
1027 | OMPI_DECLSPEC int MPI_File_write_ordered(MPI_File fh, void *buf, int count, |
---|
1028 | MPI_Datatype datatype, MPI_Status *status); |
---|
1029 | OMPI_DECLSPEC int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence); |
---|
1030 | OMPI_DECLSPEC int MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset); |
---|
1031 | OMPI_DECLSPEC int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, |
---|
1032 | int count, MPI_Datatype datatype); |
---|
1033 | OMPI_DECLSPEC int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status); |
---|
1034 | OMPI_DECLSPEC int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, |
---|
1035 | int count, MPI_Datatype datatype); |
---|
1036 | OMPI_DECLSPEC int MPI_File_write_at_all_end(MPI_File fh, void *buf, MPI_Status *status); |
---|
1037 | OMPI_DECLSPEC int MPI_File_read_all_begin(MPI_File fh, void *buf, int count, |
---|
1038 | MPI_Datatype datatype); |
---|
1039 | OMPI_DECLSPEC int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status); |
---|
1040 | OMPI_DECLSPEC int MPI_File_write_all_begin(MPI_File fh, void *buf, int count, |
---|
1041 | MPI_Datatype datatype); |
---|
1042 | OMPI_DECLSPEC int MPI_File_write_all_end(MPI_File fh, void *buf, MPI_Status *status); |
---|
1043 | OMPI_DECLSPEC int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, |
---|
1044 | MPI_Datatype datatype); |
---|
1045 | OMPI_DECLSPEC int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status); |
---|
1046 | OMPI_DECLSPEC int MPI_File_write_ordered_begin(MPI_File fh, void *buf, int count, |
---|
1047 | MPI_Datatype datatype); |
---|
1048 | OMPI_DECLSPEC int MPI_File_write_ordered_end(MPI_File fh, void *buf, MPI_Status *status); |
---|
1049 | OMPI_DECLSPEC int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, |
---|
1050 | MPI_Aint *extent); |
---|
1051 | OMPI_DECLSPEC int MPI_File_set_atomicity(MPI_File fh, int flag); |
---|
1052 | OMPI_DECLSPEC int MPI_File_get_atomicity(MPI_File fh, int *flag); |
---|
1053 | OMPI_DECLSPEC int MPI_File_sync(MPI_File fh); |
---|
1054 | #endif /* #if OMPI_PROVIDE_MPI_FILE_INTERFACE */ |
---|
1055 | OMPI_DECLSPEC int MPI_Finalize(void); |
---|
1056 | OMPI_DECLSPEC int MPI_Finalized(int *flag); |
---|
1057 | OMPI_DECLSPEC int MPI_Free_mem(void *base); |
---|
1058 | OMPI_DECLSPEC int MPI_Gather(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
1059 | void *recvbuf, int recvcount, MPI_Datatype recvtype, |
---|
1060 | int root, MPI_Comm comm); |
---|
1061 | OMPI_DECLSPEC int MPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
1062 | void *recvbuf, int *recvcounts, int *displs, |
---|
1063 | MPI_Datatype recvtype, int root, MPI_Comm comm); |
---|
1064 | OMPI_DECLSPEC int MPI_Get_address(void *location, MPI_Aint *address); |
---|
1065 | OMPI_DECLSPEC int MPI_Get_count(MPI_Status *status, MPI_Datatype datatype, int *count); |
---|
1066 | OMPI_DECLSPEC int MPI_Get_elements(MPI_Status *status, MPI_Datatype datatype, int *count); |
---|
1067 | OMPI_DECLSPEC int MPI_Get(void *origin_addr, int origin_count, |
---|
1068 | MPI_Datatype origin_datatype, int target_rank, |
---|
1069 | MPI_Aint target_disp, int target_count, |
---|
1070 | MPI_Datatype target_datatype, MPI_Win win); |
---|
1071 | OMPI_DECLSPEC int MPI_Get_processor_name(char *name, int *resultlen); |
---|
1072 | OMPI_DECLSPEC int MPI_Get_version(int *version, int *subversion); |
---|
1073 | OMPI_DECLSPEC int MPI_Graph_create(MPI_Comm comm_old, int nnodes, int *index, |
---|
1074 | int *edges, int reorder, MPI_Comm *comm_graph); |
---|
1075 | OMPI_DECLSPEC int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, |
---|
1076 | int *index, int *edges); |
---|
1077 | OMPI_DECLSPEC int MPI_Graph_map(MPI_Comm comm, int nnodes, int *index, int *edges, |
---|
1078 | int *newrank); |
---|
1079 | OMPI_DECLSPEC int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors); |
---|
1080 | OMPI_DECLSPEC int MPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, |
---|
1081 | int *neighbors); |
---|
1082 | OMPI_DECLSPEC int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges); |
---|
1083 | OMPI_DECLSPEC int MPI_Grequest_complete(MPI_Request request); |
---|
1084 | OMPI_DECLSPEC int MPI_Grequest_start(MPI_Grequest_query_function *query_fn, |
---|
1085 | MPI_Grequest_free_function *free_fn, |
---|
1086 | MPI_Grequest_cancel_function *cancel_fn, |
---|
1087 | void *extra_state, MPI_Request *request); |
---|
1088 | OMPI_DECLSPEC MPI_Fint MPI_Group_c2f(MPI_Group group); |
---|
1089 | OMPI_DECLSPEC int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result); |
---|
1090 | OMPI_DECLSPEC int MPI_Group_difference(MPI_Group group1, MPI_Group group2, |
---|
1091 | MPI_Group *newgroup); |
---|
1092 | OMPI_DECLSPEC int MPI_Group_excl(MPI_Group group, int n, int *ranks, |
---|
1093 | MPI_Group *newgroup); |
---|
1094 | OMPI_DECLSPEC MPI_Group MPI_Group_f2c(MPI_Fint group); |
---|
1095 | OMPI_DECLSPEC int MPI_Group_free(MPI_Group *group); |
---|
1096 | OMPI_DECLSPEC int MPI_Group_incl(MPI_Group group, int n, int *ranks, |
---|
1097 | MPI_Group *newgroup); |
---|
1098 | OMPI_DECLSPEC int MPI_Group_intersection(MPI_Group group1, MPI_Group group2, |
---|
1099 | MPI_Group *newgroup); |
---|
1100 | OMPI_DECLSPEC int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], |
---|
1101 | MPI_Group *newgroup); |
---|
1102 | OMPI_DECLSPEC int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], |
---|
1103 | MPI_Group *newgroup); |
---|
1104 | OMPI_DECLSPEC int MPI_Group_rank(MPI_Group group, int *rank); |
---|
1105 | OMPI_DECLSPEC int MPI_Group_size(MPI_Group group, int *size); |
---|
1106 | OMPI_DECLSPEC int MPI_Group_translate_ranks(MPI_Group group1, int n, int *ranks1, |
---|
1107 | MPI_Group group2, int *ranks2); |
---|
1108 | OMPI_DECLSPEC int MPI_Group_union(MPI_Group group1, MPI_Group group2, |
---|
1109 | MPI_Group *newgroup); |
---|
1110 | OMPI_DECLSPEC int MPI_Ibsend(void *buf, int count, MPI_Datatype datatype, int dest, |
---|
1111 | int tag, MPI_Comm comm, MPI_Request *request); |
---|
1112 | OMPI_DECLSPEC MPI_Fint MPI_Info_c2f(MPI_Info info); |
---|
1113 | OMPI_DECLSPEC int MPI_Info_create(MPI_Info *info); |
---|
1114 | OMPI_DECLSPEC int MPI_Info_delete(MPI_Info info, char *key); |
---|
1115 | OMPI_DECLSPEC int MPI_Info_dup(MPI_Info info, MPI_Info *newinfo); |
---|
1116 | OMPI_DECLSPEC MPI_Info MPI_Info_f2c(MPI_Fint info); |
---|
1117 | OMPI_DECLSPEC int MPI_Info_free(MPI_Info *info); |
---|
1118 | OMPI_DECLSPEC int MPI_Info_get(MPI_Info info, char *key, int valuelen, |
---|
1119 | char *value, int *flag); |
---|
1120 | OMPI_DECLSPEC int MPI_Info_get_nkeys(MPI_Info info, int *nkeys); |
---|
1121 | OMPI_DECLSPEC int MPI_Info_get_nthkey(MPI_Info info, int n, char *key); |
---|
1122 | OMPI_DECLSPEC int MPI_Info_get_valuelen(MPI_Info info, char *key, int *valuelen, |
---|
1123 | int *flag); |
---|
1124 | OMPI_DECLSPEC int MPI_Info_set(MPI_Info info, char *key, char *value); |
---|
1125 | OMPI_DECLSPEC int MPI_Init(int *argc, char ***argv); |
---|
1126 | OMPI_DECLSPEC int MPI_Initialized(int *flag); |
---|
1127 | OMPI_DECLSPEC int MPI_Init_thread(int *argc, char ***argv, int required, |
---|
1128 | int *provided); |
---|
1129 | OMPI_DECLSPEC int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader, |
---|
1130 | MPI_Comm bridge_comm, int remote_leader, |
---|
1131 | int tag, MPI_Comm *newintercomm); |
---|
1132 | OMPI_DECLSPEC int MPI_Intercomm_merge(MPI_Comm intercomm, int high, |
---|
1133 | MPI_Comm *newintercomm); |
---|
1134 | OMPI_DECLSPEC int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, |
---|
1135 | MPI_Status *status); |
---|
1136 | OMPI_DECLSPEC int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, |
---|
1137 | int tag, MPI_Comm comm, MPI_Request *request); |
---|
1138 | OMPI_DECLSPEC int MPI_Irsend(void *buf, int count, MPI_Datatype datatype, int dest, |
---|
1139 | int tag, MPI_Comm comm, MPI_Request *request); |
---|
1140 | OMPI_DECLSPEC int MPI_Isend(void *buf, int count, MPI_Datatype datatype, int dest, |
---|
1141 | int tag, MPI_Comm comm, MPI_Request *request); |
---|
1142 | OMPI_DECLSPEC int MPI_Issend(void *buf, int count, MPI_Datatype datatype, int dest, |
---|
1143 | int tag, MPI_Comm comm, MPI_Request *request); |
---|
1144 | OMPI_DECLSPEC int MPI_Is_thread_main(int *flag); |
---|
1145 | OMPI_DECLSPEC int MPI_Keyval_create(MPI_Copy_function *copy_fn, |
---|
1146 | MPI_Delete_function *delete_fn, |
---|
1147 | int *keyval, void *extra_state); |
---|
1148 | OMPI_DECLSPEC int MPI_Keyval_free(int *keyval); |
---|
1149 | OMPI_DECLSPEC int MPI_Lookup_name(char *service_name, MPI_Info info, char *port_name); |
---|
1150 | OMPI_DECLSPEC MPI_Fint MPI_Op_c2f(MPI_Op op); |
---|
1151 | OMPI_DECLSPEC int MPI_Op_create(MPI_User_function *function, int commute, MPI_Op *op); |
---|
1152 | OMPI_DECLSPEC int MPI_Open_port(MPI_Info info, char *port_name); |
---|
1153 | OMPI_DECLSPEC MPI_Op MPI_Op_f2c(MPI_Fint op); |
---|
1154 | OMPI_DECLSPEC int MPI_Op_free(MPI_Op *op); |
---|
1155 | OMPI_DECLSPEC int MPI_Pack_external(char *datarep, void *inbuf, int incount, |
---|
1156 | MPI_Datatype datatype, void *outbuf, |
---|
1157 | MPI_Aint outsize, MPI_Aint *position); |
---|
1158 | OMPI_DECLSPEC int MPI_Pack_external_size(char *datarep, int incount, |
---|
1159 | MPI_Datatype datatype, MPI_Aint *size); |
---|
1160 | OMPI_DECLSPEC int MPI_Pack(void *inbuf, int incount, MPI_Datatype datatype, |
---|
1161 | void *outbuf, int outsize, int *position, MPI_Comm comm); |
---|
1162 | OMPI_DECLSPEC int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, |
---|
1163 | int *size); |
---|
1164 | OMPI_DECLSPEC int MPI_Pcontrol(const int level, ...); |
---|
1165 | OMPI_DECLSPEC int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status); |
---|
1166 | OMPI_DECLSPEC int MPI_Publish_name(char *service_name, MPI_Info info, |
---|
1167 | char *port_name); |
---|
1168 | OMPI_DECLSPEC int MPI_Put(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, |
---|
1169 | int target_rank, MPI_Aint target_disp, int target_count, |
---|
1170 | MPI_Datatype target_datatype, MPI_Win win); |
---|
1171 | OMPI_DECLSPEC int MPI_Query_thread(int *provided); |
---|
1172 | OMPI_DECLSPEC int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, |
---|
1173 | int tag, MPI_Comm comm, MPI_Request *request); |
---|
1174 | OMPI_DECLSPEC int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, |
---|
1175 | int tag, MPI_Comm comm, MPI_Status *status); |
---|
1176 | OMPI_DECLSPEC int MPI_Reduce(void *sendbuf, void *recvbuf, int count, |
---|
1177 | MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm); |
---|
1178 | OMPI_DECLSPEC int MPI_Reduce_scatter(void *sendbuf, void *recvbuf, int *recvcounts, |
---|
1179 | MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); |
---|
1180 | OMPI_DECLSPEC int MPI_Register_datarep(char *datarep, |
---|
1181 | MPI_Datarep_conversion_function *read_conversion_fn, |
---|
1182 | MPI_Datarep_conversion_function *write_conversion_fn, |
---|
1183 | MPI_Datarep_extent_function *dtype_file_extent_fn, |
---|
1184 | void *extra_state); |
---|
1185 | OMPI_DECLSPEC MPI_Fint MPI_Request_c2f(MPI_Request request); |
---|
1186 | OMPI_DECLSPEC MPI_Request MPI_Request_f2c(MPI_Fint request); |
---|
1187 | OMPI_DECLSPEC int MPI_Request_free(MPI_Request *request); |
---|
1188 | OMPI_DECLSPEC int MPI_Request_get_status(MPI_Request request, int *flag, |
---|
1189 | MPI_Status *status); |
---|
1190 | OMPI_DECLSPEC int MPI_Rsend(void *ibuf, int count, MPI_Datatype datatype, int dest, |
---|
1191 | int tag, MPI_Comm comm); |
---|
1192 | OMPI_DECLSPEC int MPI_Rsend_init(void *buf, int count, MPI_Datatype datatype, |
---|
1193 | int dest, int tag, MPI_Comm comm, |
---|
1194 | MPI_Request *request); |
---|
1195 | OMPI_DECLSPEC int MPI_Scan(void *sendbuf, void *recvbuf, int count, |
---|
1196 | MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); |
---|
1197 | OMPI_DECLSPEC int MPI_Scatter(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
1198 | void *recvbuf, int recvcount, MPI_Datatype recvtype, |
---|
1199 | int root, MPI_Comm comm); |
---|
1200 | OMPI_DECLSPEC int MPI_Scatterv(void *sendbuf, int *sendcounts, int *displs, |
---|
1201 | MPI_Datatype sendtype, void *recvbuf, int recvcount, |
---|
1202 | MPI_Datatype recvtype, int root, MPI_Comm comm); |
---|
1203 | OMPI_DECLSPEC int MPI_Send_init(void *buf, int count, MPI_Datatype datatype, |
---|
1204 | int dest, int tag, MPI_Comm comm, |
---|
1205 | MPI_Request *request); |
---|
1206 | OMPI_DECLSPEC int MPI_Send(void *buf, int count, MPI_Datatype datatype, int dest, |
---|
1207 | int tag, MPI_Comm comm); |
---|
1208 | OMPI_DECLSPEC int MPI_Sendrecv(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
1209 | int dest, int sendtag, void *recvbuf, int recvcount, |
---|
1210 | MPI_Datatype recvtype, int source, int recvtag, |
---|
1211 | MPI_Comm comm, MPI_Status *status); |
---|
1212 | OMPI_DECLSPEC int MPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype, |
---|
1213 | int dest, int sendtag, int source, int recvtag, |
---|
1214 | MPI_Comm comm, MPI_Status *status); |
---|
1215 | OMPI_DECLSPEC int MPI_Ssend_init(void *buf, int count, MPI_Datatype datatype, |
---|
1216 | int dest, int tag, MPI_Comm comm, |
---|
1217 | MPI_Request *request); |
---|
1218 | OMPI_DECLSPEC int MPI_Ssend(void *buf, int count, MPI_Datatype datatype, int dest, |
---|
1219 | int tag, MPI_Comm comm); |
---|
1220 | OMPI_DECLSPEC int MPI_Start(MPI_Request *request); |
---|
1221 | OMPI_DECLSPEC int MPI_Startall(int count, MPI_Request *array_of_requests); |
---|
1222 | OMPI_DECLSPEC int MPI_Status_c2f(MPI_Status *c_status, MPI_Fint *f_status); |
---|
1223 | OMPI_DECLSPEC int MPI_Status_f2c(MPI_Fint *f_status, MPI_Status *c_status); |
---|
1224 | OMPI_DECLSPEC int MPI_Status_set_cancelled(MPI_Status *status, int flag); |
---|
1225 | OMPI_DECLSPEC int MPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, |
---|
1226 | int count); |
---|
1227 | OMPI_DECLSPEC int MPI_Testall(int count, MPI_Request array_of_requests[], int *flag, |
---|
1228 | MPI_Status array_of_statuses[]); |
---|
1229 | OMPI_DECLSPEC int MPI_Testany(int count, MPI_Request array_of_requests[], int *index, |
---|
1230 | int *flag, MPI_Status *status); |
---|
1231 | OMPI_DECLSPEC int MPI_Test(MPI_Request *request, int *flag, MPI_Status *status); |
---|
1232 | OMPI_DECLSPEC int MPI_Test_cancelled(MPI_Status *status, int *flag); |
---|
1233 | OMPI_DECLSPEC int MPI_Testsome(int incount, MPI_Request array_of_requests[], |
---|
1234 | int *outcount, int array_of_indices[], |
---|
1235 | MPI_Status array_of_statuses[]); |
---|
1236 | OMPI_DECLSPEC int MPI_Topo_test(MPI_Comm comm, int *status); |
---|
1237 | OMPI_DECLSPEC MPI_Fint MPI_Type_c2f(MPI_Datatype datatype); |
---|
1238 | OMPI_DECLSPEC int MPI_Type_commit(MPI_Datatype *type); |
---|
1239 | OMPI_DECLSPEC int MPI_Type_contiguous(int count, MPI_Datatype oldtype, |
---|
1240 | MPI_Datatype *newtype); |
---|
1241 | OMPI_DECLSPEC int MPI_Type_create_darray(int size, int rank, int ndims, |
---|
1242 | int gsize_array[], int distrib_array[], |
---|
1243 | int darg_array[], int psize_array[], |
---|
1244 | int order, MPI_Datatype oldtype, |
---|
1245 | MPI_Datatype *newtype); |
---|
1246 | OMPI_DECLSPEC int MPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype); |
---|
1247 | OMPI_DECLSPEC int MPI_Type_create_f90_integer(int r, MPI_Datatype *newtype); |
---|
1248 | OMPI_DECLSPEC int MPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype); |
---|
1249 | OMPI_DECLSPEC int MPI_Type_create_hindexed(int count, int array_of_blocklengths[], |
---|
1250 | MPI_Aint array_of_displacements[], |
---|
1251 | MPI_Datatype oldtype, |
---|
1252 | MPI_Datatype *newtype); |
---|
1253 | OMPI_DECLSPEC int MPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, |
---|
1254 | MPI_Datatype oldtype, |
---|
1255 | MPI_Datatype *newtype); |
---|
1256 | OMPI_DECLSPEC int MPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn, |
---|
1257 | MPI_Type_delete_attr_function *type_delete_attr_fn, |
---|
1258 | int *type_keyval, void *extra_state); |
---|
1259 | OMPI_DECLSPEC int MPI_Type_create_indexed_block(int count, int blocklength, |
---|
1260 | int array_of_displacements[], |
---|
1261 | MPI_Datatype oldtype, |
---|
1262 | MPI_Datatype *newtype); |
---|
1263 | OMPI_DECLSPEC int MPI_Type_create_struct(int count, int array_of_block_lengths[], |
---|
1264 | MPI_Aint array_of_displacements[], |
---|
1265 | MPI_Datatype array_of_types[], |
---|
1266 | MPI_Datatype *newtype); |
---|
1267 | OMPI_DECLSPEC int MPI_Type_create_subarray(int ndims, int size_array[], int subsize_array[], |
---|
1268 | int start_array[], int order, |
---|
1269 | MPI_Datatype oldtype, MPI_Datatype *newtype); |
---|
1270 | OMPI_DECLSPEC int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, |
---|
1271 | MPI_Aint extent, MPI_Datatype *newtype); |
---|
1272 | OMPI_DECLSPEC int MPI_Type_delete_attr(MPI_Datatype type, int type_keyval); |
---|
1273 | OMPI_DECLSPEC int MPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype); |
---|
1274 | OMPI_DECLSPEC int MPI_Type_extent(MPI_Datatype type, MPI_Aint *extent); |
---|
1275 | OMPI_DECLSPEC int MPI_Type_free(MPI_Datatype *type); |
---|
1276 | OMPI_DECLSPEC int MPI_Type_free_keyval(int *type_keyval); |
---|
1277 | OMPI_DECLSPEC MPI_Datatype MPI_Type_f2c(MPI_Fint datatype); |
---|
1278 | OMPI_DECLSPEC int MPI_Type_get_attr(MPI_Datatype type, int type_keyval, |
---|
1279 | void *attribute_val, int *flag); |
---|
1280 | OMPI_DECLSPEC int MPI_Type_get_contents(MPI_Datatype mtype, int max_integers, |
---|
1281 | int max_addresses, int max_datatypes, |
---|
1282 | int array_of_integers[], |
---|
1283 | MPI_Aint array_of_addresses[], |
---|
1284 | MPI_Datatype array_of_datatypes[]); |
---|
1285 | OMPI_DECLSPEC int MPI_Type_get_envelope(MPI_Datatype type, int *num_integers, |
---|
1286 | int *num_addresses, int *num_datatypes, |
---|
1287 | int *combiner); |
---|
1288 | OMPI_DECLSPEC int MPI_Type_get_extent(MPI_Datatype type, MPI_Aint *lb, |
---|
1289 | MPI_Aint *extent); |
---|
1290 | OMPI_DECLSPEC int MPI_Type_get_name(MPI_Datatype type, char *type_name, |
---|
1291 | int *resultlen); |
---|
1292 | OMPI_DECLSPEC int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, |
---|
1293 | MPI_Aint *true_extent); |
---|
1294 | OMPI_DECLSPEC int MPI_Type_hindexed(int count, int array_of_blocklengths[], |
---|
1295 | MPI_Aint array_of_displacements[], |
---|
1296 | MPI_Datatype oldtype, MPI_Datatype *newtype); |
---|
1297 | OMPI_DECLSPEC int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride, |
---|
1298 | MPI_Datatype oldtype, MPI_Datatype *newtype); |
---|
1299 | OMPI_DECLSPEC int MPI_Type_indexed(int count, int array_of_blocklengths[], |
---|
1300 | int array_of_displacements[], |
---|
1301 | MPI_Datatype oldtype, MPI_Datatype *newtype); |
---|
1302 | OMPI_DECLSPEC int MPI_Type_lb(MPI_Datatype type, MPI_Aint *lb); |
---|
1303 | OMPI_DECLSPEC int MPI_Type_match_size(int typeclass, int size, MPI_Datatype *type); |
---|
1304 | OMPI_DECLSPEC int MPI_Type_set_attr(MPI_Datatype type, int type_keyval, |
---|
1305 | void *attr_val); |
---|
1306 | OMPI_DECLSPEC int MPI_Type_set_name(MPI_Datatype type, char *type_name); |
---|
1307 | OMPI_DECLSPEC int MPI_Type_size(MPI_Datatype type, int *size); |
---|
1308 | OMPI_DECLSPEC int MPI_Type_struct(int count, int array_of_blocklengths[], |
---|
1309 | MPI_Aint array_of_displacements[], |
---|
1310 | MPI_Datatype array_of_types[], |
---|
1311 | MPI_Datatype *newtype); |
---|
1312 | OMPI_DECLSPEC int MPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub); |
---|
1313 | OMPI_DECLSPEC int MPI_Type_vector(int count, int blocklength, int stride, |
---|
1314 | MPI_Datatype oldtype, MPI_Datatype *newtype); |
---|
1315 | OMPI_DECLSPEC int MPI_Unpack(void *inbuf, int insize, int *position, |
---|
1316 | void *outbuf, int outcount, MPI_Datatype datatype, |
---|
1317 | MPI_Comm comm); |
---|
1318 | OMPI_DECLSPEC int MPI_Unpublish_name(char *service_name, MPI_Info info, char *port_name); |
---|
1319 | OMPI_DECLSPEC int MPI_Unpack_external (char *datarep, void *inbuf, MPI_Aint insize, |
---|
1320 | MPI_Aint *position, void *outbuf, int outcount, |
---|
1321 | MPI_Datatype datatype); |
---|
1322 | OMPI_DECLSPEC int MPI_Waitall(int count, MPI_Request *array_of_requests, |
---|
1323 | MPI_Status *array_of_statuses); |
---|
1324 | OMPI_DECLSPEC int MPI_Waitany(int count, MPI_Request *array_of_requests, |
---|
1325 | int *index, MPI_Status *status); |
---|
1326 | OMPI_DECLSPEC int MPI_Wait(MPI_Request *request, MPI_Status *status); |
---|
1327 | OMPI_DECLSPEC int MPI_Waitsome(int incount, MPI_Request *array_of_requests, |
---|
1328 | int *outcount, int *array_of_indices, |
---|
1329 | MPI_Status *array_of_statuses); |
---|
1330 | OMPI_DECLSPEC MPI_Fint MPI_Win_c2f(MPI_Win win); |
---|
1331 | OMPI_DECLSPEC int MPI_Win_call_errhandler(MPI_Win win, int errorcode); |
---|
1332 | OMPI_DECLSPEC int MPI_Win_complete(MPI_Win win); |
---|
1333 | OMPI_DECLSPEC int MPI_Win_create(void *base, MPI_Aint size, int disp_unit, |
---|
1334 | MPI_Info info, MPI_Comm comm, MPI_Win *win); |
---|
1335 | OMPI_DECLSPEC int MPI_Win_create_errhandler(MPI_Win_errhandler_fn *function, |
---|
1336 | MPI_Errhandler *errhandler); |
---|
1337 | OMPI_DECLSPEC int MPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn, |
---|
1338 | MPI_Win_delete_attr_function *win_delete_attr_fn, |
---|
1339 | int *win_keyval, void *extra_state); |
---|
1340 | OMPI_DECLSPEC int MPI_Win_delete_attr(MPI_Win win, int win_keyval); |
---|
1341 | OMPI_DECLSPEC MPI_Win MPI_Win_f2c(MPI_Fint win); |
---|
1342 | OMPI_DECLSPEC int MPI_Win_fence(int assert, MPI_Win win); |
---|
1343 | OMPI_DECLSPEC int MPI_Win_free(MPI_Win *win); |
---|
1344 | OMPI_DECLSPEC int MPI_Win_free_keyval(int *win_keyval); |
---|
1345 | OMPI_DECLSPEC int MPI_Win_get_attr(MPI_Win win, int win_keyval, |
---|
1346 | void *attribute_val, int *flag); |
---|
1347 | OMPI_DECLSPEC int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler); |
---|
1348 | OMPI_DECLSPEC int MPI_Win_get_group(MPI_Win win, MPI_Group *group); |
---|
1349 | OMPI_DECLSPEC int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen); |
---|
1350 | OMPI_DECLSPEC int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win); |
---|
1351 | OMPI_DECLSPEC int MPI_Win_post(MPI_Group group, int assert, MPI_Win win); |
---|
1352 | OMPI_DECLSPEC int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val); |
---|
1353 | OMPI_DECLSPEC int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler); |
---|
1354 | OMPI_DECLSPEC int MPI_Win_set_name(MPI_Win win, char *win_name); |
---|
1355 | OMPI_DECLSPEC int MPI_Win_start(MPI_Group group, int assert, MPI_Win win); |
---|
1356 | OMPI_DECLSPEC int MPI_Win_test(MPI_Win win, int *flag); |
---|
1357 | OMPI_DECLSPEC int MPI_Win_unlock(int rank, MPI_Win win); |
---|
1358 | OMPI_DECLSPEC int MPI_Win_wait(MPI_Win win); |
---|
1359 | OMPI_DECLSPEC double MPI_Wtick(void); |
---|
1360 | OMPI_DECLSPEC double MPI_Wtime(void); |
---|
1361 | |
---|
1362 | |
---|
1363 | /* |
---|
1364 | * Profiling MPI API |
---|
1365 | */ |
---|
1366 | OMPI_DECLSPEC int PMPI_Abort(MPI_Comm comm, int errorcode); |
---|
1367 | OMPI_DECLSPEC int PMPI_Accumulate(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, |
---|
1368 | int target_rank, MPI_Aint target_disp, int target_count, |
---|
1369 | MPI_Datatype target_datatype, MPI_Op op, MPI_Win win); |
---|
1370 | OMPI_DECLSPEC int PMPI_Add_error_class(int *errorclass); |
---|
1371 | OMPI_DECLSPEC int PMPI_Add_error_code(int errorclass, int *errorcode); |
---|
1372 | OMPI_DECLSPEC int PMPI_Add_error_string(int errorcode, char *string); |
---|
1373 | OMPI_DECLSPEC int PMPI_Address(void *location, MPI_Aint *address); |
---|
1374 | OMPI_DECLSPEC int PMPI_Allgather(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
1375 | void *recvbuf, int recvcount, |
---|
1376 | MPI_Datatype recvtype, MPI_Comm comm); |
---|
1377 | OMPI_DECLSPEC int PMPI_Allgatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
1378 | void *recvbuf, int *recvcounts, |
---|
1379 | int *displs, MPI_Datatype recvtype, MPI_Comm comm); |
---|
1380 | OMPI_DECLSPEC int PMPI_Alloc_mem(MPI_Aint size, MPI_Info info, |
---|
1381 | void *baseptr); |
---|
1382 | OMPI_DECLSPEC int PMPI_Allreduce(void *sendbuf, void *recvbuf, int count, |
---|
1383 | MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); |
---|
1384 | OMPI_DECLSPEC int PMPI_Alltoall(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
1385 | void *recvbuf, int recvcount, |
---|
1386 | MPI_Datatype recvtype, MPI_Comm comm); |
---|
1387 | OMPI_DECLSPEC int PMPI_Alltoallv(void *sendbuf, int *sendcounts, int *sdispls, |
---|
1388 | MPI_Datatype sendtype, void *recvbuf, int *recvcounts, |
---|
1389 | int *rdispls, MPI_Datatype recvtype, MPI_Comm comm); |
---|
1390 | OMPI_DECLSPEC int PMPI_Alltoallw(void *sendbuf, int *sendcounts, int *sdispls, MPI_Datatype *sendtypes, |
---|
1391 | void *recvbuf, int *recvcounts, int *rdispls, MPI_Datatype *recvtypes, |
---|
1392 | MPI_Comm comm); |
---|
1393 | OMPI_DECLSPEC int PMPI_Attr_delete(MPI_Comm comm, int keyval); |
---|
1394 | OMPI_DECLSPEC int PMPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag); |
---|
1395 | OMPI_DECLSPEC int PMPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val); |
---|
1396 | OMPI_DECLSPEC int PMPI_Barrier(MPI_Comm comm); |
---|
1397 | OMPI_DECLSPEC int PMPI_Bcast(void *buffer, int count, MPI_Datatype datatype, |
---|
1398 | int root, MPI_Comm comm); |
---|
1399 | OMPI_DECLSPEC int PMPI_Bsend(void *buf, int count, MPI_Datatype datatype, |
---|
1400 | int dest, int tag, MPI_Comm comm); |
---|
1401 | OMPI_DECLSPEC int PMPI_Bsend_init(void *buf, int count, MPI_Datatype datatype, |
---|
1402 | int dest, int tag, MPI_Comm comm, MPI_Request *request); |
---|
1403 | OMPI_DECLSPEC int PMPI_Buffer_attach(void *buffer, int size); |
---|
1404 | OMPI_DECLSPEC int PMPI_Buffer_detach(void *buffer, int *size); |
---|
1405 | OMPI_DECLSPEC int PMPI_Cancel(MPI_Request *request); |
---|
1406 | OMPI_DECLSPEC int PMPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int *coords); |
---|
1407 | OMPI_DECLSPEC int PMPI_Cart_create(MPI_Comm old_comm, int ndims, int *dims, |
---|
1408 | int *periods, int reorder, MPI_Comm *comm_cart); |
---|
1409 | OMPI_DECLSPEC int PMPI_Cart_get(MPI_Comm comm, int maxdims, int *dims, |
---|
1410 | int *periods, int *coords); |
---|
1411 | OMPI_DECLSPEC int PMPI_Cart_map(MPI_Comm comm, int ndims, int *dims, |
---|
1412 | int *periods, int *newrank); |
---|
1413 | OMPI_DECLSPEC int PMPI_Cart_rank(MPI_Comm comm, int *coords, int *rank); |
---|
1414 | OMPI_DECLSPEC int PMPI_Cart_shift(MPI_Comm comm, int direction, int disp, |
---|
1415 | int *rank_source, int *rank_dest); |
---|
1416 | OMPI_DECLSPEC int PMPI_Cart_sub(MPI_Comm comm, int *remain_dims, MPI_Comm *new_comm); |
---|
1417 | OMPI_DECLSPEC int PMPI_Cartdim_get(MPI_Comm comm, int *ndims); |
---|
1418 | OMPI_DECLSPEC int PMPI_Close_port(char *port_name); |
---|
1419 | OMPI_DECLSPEC int PMPI_Comm_accept(char *port_name, MPI_Info info, int root, |
---|
1420 | MPI_Comm comm, MPI_Comm *newcomm); |
---|
1421 | OMPI_DECLSPEC MPI_Fint PMPI_Comm_c2f(MPI_Comm comm); |
---|
1422 | OMPI_DECLSPEC int PMPI_Comm_call_errhandler(MPI_Comm comm, int errorcode); |
---|
1423 | OMPI_DECLSPEC int PMPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result); |
---|
1424 | OMPI_DECLSPEC int PMPI_Comm_connect(char *port_name, MPI_Info info, int root, |
---|
1425 | MPI_Comm comm, MPI_Comm *newcomm); |
---|
1426 | OMPI_DECLSPEC int PMPI_Comm_create_errhandler(MPI_Comm_errhandler_fn *function, |
---|
1427 | MPI_Errhandler *errhandler); |
---|
1428 | OMPI_DECLSPEC int PMPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn, |
---|
1429 | MPI_Comm_delete_attr_function *comm_delete_attr_fn, |
---|
1430 | int *comm_keyval, void *extra_state); |
---|
1431 | OMPI_DECLSPEC int PMPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm); |
---|
1432 | OMPI_DECLSPEC int PMPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval); |
---|
1433 | OMPI_DECLSPEC int PMPI_Comm_disconnect(MPI_Comm *comm); |
---|
1434 | OMPI_DECLSPEC int PMPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm); |
---|
1435 | OMPI_DECLSPEC MPI_Comm PMPI_Comm_f2c(MPI_Fint comm); |
---|
1436 | OMPI_DECLSPEC int PMPI_Comm_free_keyval(int *comm_keyval); |
---|
1437 | OMPI_DECLSPEC int PMPI_Comm_free(MPI_Comm *comm); |
---|
1438 | OMPI_DECLSPEC int PMPI_Comm_get_attr(MPI_Comm comm, int comm_keyval, |
---|
1439 | void *attribute_val, int *flag); |
---|
1440 | OMPI_DECLSPEC int PMPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *erhandler); |
---|
1441 | OMPI_DECLSPEC int PMPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen); |
---|
1442 | OMPI_DECLSPEC int PMPI_Comm_get_parent(MPI_Comm *parent); |
---|
1443 | OMPI_DECLSPEC int PMPI_Comm_group(MPI_Comm comm, MPI_Group *group); |
---|
1444 | OMPI_DECLSPEC int PMPI_Comm_join(int fd, MPI_Comm *intercomm); |
---|
1445 | OMPI_DECLSPEC int PMPI_Comm_rank(MPI_Comm comm, int *rank); |
---|
1446 | OMPI_DECLSPEC int PMPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group); |
---|
1447 | OMPI_DECLSPEC int PMPI_Comm_remote_size(MPI_Comm comm, int *size); |
---|
1448 | OMPI_DECLSPEC int PMPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val); |
---|
1449 | OMPI_DECLSPEC int PMPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler); |
---|
1450 | OMPI_DECLSPEC int PMPI_Comm_set_name(MPI_Comm comm, char *comm_name); |
---|
1451 | OMPI_DECLSPEC int PMPI_Comm_size(MPI_Comm comm, int *size); |
---|
1452 | OMPI_DECLSPEC int PMPI_Comm_spawn(char *command, char **argv, int maxprocs, MPI_Info info, |
---|
1453 | int root, MPI_Comm comm, MPI_Comm *intercomm, |
---|
1454 | int *array_of_errcodes); |
---|
1455 | OMPI_DECLSPEC int PMPI_Comm_spawn_multiple(int count, char **array_of_commands, char ***array_of_argv, |
---|
1456 | int *array_of_maxprocs, MPI_Info *array_of_info, |
---|
1457 | int root, MPI_Comm comm, MPI_Comm *intercomm, |
---|
1458 | int *array_of_errcodes); |
---|
1459 | OMPI_DECLSPEC int PMPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm); |
---|
1460 | OMPI_DECLSPEC int PMPI_Comm_test_inter(MPI_Comm comm, int *flag); |
---|
1461 | OMPI_DECLSPEC int PMPI_Dims_create(int nnodes, int ndims, int *dims); |
---|
1462 | OMPI_DECLSPEC MPI_Fint PMPI_Errhandler_c2f(MPI_Errhandler errhandler); |
---|
1463 | OMPI_DECLSPEC int PMPI_Errhandler_create(MPI_Handler_function *function, |
---|
1464 | MPI_Errhandler *errhandler); |
---|
1465 | OMPI_DECLSPEC MPI_Errhandler PMPI_Errhandler_f2c(MPI_Fint errhandler); |
---|
1466 | OMPI_DECLSPEC int PMPI_Errhandler_free(MPI_Errhandler *errhandler); |
---|
1467 | OMPI_DECLSPEC int PMPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler); |
---|
1468 | OMPI_DECLSPEC int PMPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler); |
---|
1469 | OMPI_DECLSPEC int PMPI_Error_class(int errorcode, int *errorclass); |
---|
1470 | OMPI_DECLSPEC int PMPI_Error_string(int errorcode, char *string, int *resultlen); |
---|
1471 | OMPI_DECLSPEC int PMPI_Exscan(void *sendbuf, void *recvbuf, int count, |
---|
1472 | MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); |
---|
1473 | #if OMPI_PROVIDE_MPI_FILE_INTERFACE |
---|
1474 | OMPI_DECLSPEC MPI_Fint PMPI_File_c2f(MPI_File file); |
---|
1475 | OMPI_DECLSPEC MPI_File PMPI_File_f2c(MPI_Fint file); |
---|
1476 | OMPI_DECLSPEC int PMPI_File_call_errhandler(MPI_File fh, int errorcode); |
---|
1477 | OMPI_DECLSPEC int PMPI_File_create_errhandler(MPI_File_errhandler_fn *function, |
---|
1478 | MPI_Errhandler *errhandler); |
---|
1479 | OMPI_DECLSPEC int PMPI_File_set_errhandler( MPI_File file, MPI_Errhandler errhandler); |
---|
1480 | OMPI_DECLSPEC int PMPI_File_get_errhandler( MPI_File file, MPI_Errhandler *errhandler); |
---|
1481 | OMPI_DECLSPEC int PMPI_File_open(MPI_Comm comm, char *filename, int amode, |
---|
1482 | MPI_Info info, MPI_File *fh); |
---|
1483 | OMPI_DECLSPEC int PMPI_File_close(MPI_File *fh); |
---|
1484 | OMPI_DECLSPEC int PMPI_File_delete(char *filename, MPI_Info info); |
---|
1485 | OMPI_DECLSPEC int PMPI_File_set_size(MPI_File fh, MPI_Offset size); |
---|
1486 | OMPI_DECLSPEC int PMPI_File_preallocate(MPI_File fh, MPI_Offset size); |
---|
1487 | OMPI_DECLSPEC int PMPI_File_get_size(MPI_File fh, MPI_Offset *size); |
---|
1488 | OMPI_DECLSPEC int PMPI_File_get_group(MPI_File fh, MPI_Group *group); |
---|
1489 | OMPI_DECLSPEC int PMPI_File_get_amode(MPI_File fh, int *amode); |
---|
1490 | OMPI_DECLSPEC int PMPI_File_set_info(MPI_File fh, MPI_Info info); |
---|
1491 | OMPI_DECLSPEC int PMPI_File_get_info(MPI_File fh, MPI_Info *info_used); |
---|
1492 | OMPI_DECLSPEC int PMPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, |
---|
1493 | MPI_Datatype filetype, char *datarep, MPI_Info info); |
---|
1494 | OMPI_DECLSPEC int PMPI_File_get_view(MPI_File fh, MPI_Offset *disp, |
---|
1495 | MPI_Datatype *etype, |
---|
1496 | MPI_Datatype *filetype, char *datarep); |
---|
1497 | OMPI_DECLSPEC int PMPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf, |
---|
1498 | int count, MPI_Datatype datatype, MPI_Status *status); |
---|
1499 | OMPI_DECLSPEC int PMPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf, |
---|
1500 | int count, MPI_Datatype datatype, MPI_Status *status); |
---|
1501 | OMPI_DECLSPEC int PMPI_File_write_at(MPI_File fh, MPI_Offset offset, void *buf, |
---|
1502 | int count, MPI_Datatype datatype, MPI_Status *status); |
---|
1503 | OMPI_DECLSPEC int PMPI_File_write_at_all(MPI_File fh, MPI_Offset offset, void *buf, |
---|
1504 | int count, MPI_Datatype datatype, MPI_Status *status); |
---|
1505 | OMPI_DECLSPEC int PMPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf, |
---|
1506 | int count, MPI_Datatype datatype, MPI_Request *request); |
---|
1507 | OMPI_DECLSPEC int PMPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, void *buf, |
---|
1508 | int count, MPI_Datatype datatype, MPI_Request *request); |
---|
1509 | OMPI_DECLSPEC int PMPI_File_read(MPI_File fh, void *buf, int count, |
---|
1510 | MPI_Datatype datatype, MPI_Status *status); |
---|
1511 | OMPI_DECLSPEC int PMPI_File_read_all(MPI_File fh, void *buf, int count, |
---|
1512 | MPI_Datatype datatype, MPI_Status *status); |
---|
1513 | OMPI_DECLSPEC int PMPI_File_write(MPI_File fh, void *buf, int count, |
---|
1514 | MPI_Datatype datatype, MPI_Status *status); |
---|
1515 | OMPI_DECLSPEC int PMPI_File_write_all(MPI_File fh, void *buf, int count, |
---|
1516 | MPI_Datatype datatype, MPI_Status *status); |
---|
1517 | OMPI_DECLSPEC int PMPI_File_iread(MPI_File fh, void *buf, int count, |
---|
1518 | MPI_Datatype datatype, MPI_Request *request); |
---|
1519 | OMPI_DECLSPEC int PMPI_File_iwrite(MPI_File fh, void *buf, int count, |
---|
1520 | MPI_Datatype datatype, MPI_Request *request); |
---|
1521 | OMPI_DECLSPEC int PMPI_File_seek(MPI_File fh, MPI_Offset offset, int whence); |
---|
1522 | OMPI_DECLSPEC int PMPI_File_get_position(MPI_File fh, MPI_Offset *offset); |
---|
1523 | OMPI_DECLSPEC int PMPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset, |
---|
1524 | MPI_Offset *disp); |
---|
1525 | OMPI_DECLSPEC int PMPI_File_read_shared(MPI_File fh, void *buf, int count, |
---|
1526 | MPI_Datatype datatype, MPI_Status *status); |
---|
1527 | OMPI_DECLSPEC int PMPI_File_write_shared(MPI_File fh, void *buf, int count, |
---|
1528 | MPI_Datatype datatype, MPI_Status *status); |
---|
1529 | OMPI_DECLSPEC int PMPI_File_iread_shared(MPI_File fh, void *buf, int count, |
---|
1530 | MPI_Datatype datatype, MPI_Request *request); |
---|
1531 | OMPI_DECLSPEC int PMPI_File_iwrite_shared(MPI_File fh, void *buf, int count, |
---|
1532 | MPI_Datatype datatype, MPI_Request *request); |
---|
1533 | OMPI_DECLSPEC int PMPI_File_read_ordered(MPI_File fh, void *buf, int count, |
---|
1534 | MPI_Datatype datatype, MPI_Status *status); |
---|
1535 | OMPI_DECLSPEC int PMPI_File_write_ordered(MPI_File fh, void *buf, int count, |
---|
1536 | MPI_Datatype datatype, MPI_Status *status); |
---|
1537 | OMPI_DECLSPEC int PMPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence); |
---|
1538 | OMPI_DECLSPEC int PMPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset); |
---|
1539 | OMPI_DECLSPEC int PMPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, |
---|
1540 | int count, MPI_Datatype datatype); |
---|
1541 | OMPI_DECLSPEC int PMPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status); |
---|
1542 | OMPI_DECLSPEC int PMPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf, |
---|
1543 | int count, MPI_Datatype datatype); |
---|
1544 | OMPI_DECLSPEC int PMPI_File_write_at_all_end(MPI_File fh, void *buf, MPI_Status *status); |
---|
1545 | OMPI_DECLSPEC int PMPI_File_read_all_begin(MPI_File fh, void *buf, int count, |
---|
1546 | MPI_Datatype datatype); |
---|
1547 | OMPI_DECLSPEC int PMPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status); |
---|
1548 | OMPI_DECLSPEC int PMPI_File_write_all_begin(MPI_File fh, void *buf, int count, |
---|
1549 | MPI_Datatype datatype); |
---|
1550 | OMPI_DECLSPEC int PMPI_File_write_all_end(MPI_File fh, void *buf, MPI_Status *status); |
---|
1551 | OMPI_DECLSPEC int PMPI_File_read_ordered_begin(MPI_File fh, void *buf, int count, |
---|
1552 | MPI_Datatype datatype); |
---|
1553 | OMPI_DECLSPEC int PMPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status); |
---|
1554 | OMPI_DECLSPEC int PMPI_File_write_ordered_begin(MPI_File fh, void *buf, int count, |
---|
1555 | MPI_Datatype datatype); |
---|
1556 | OMPI_DECLSPEC int PMPI_File_write_ordered_end(MPI_File fh, void *buf, MPI_Status *status); |
---|
1557 | OMPI_DECLSPEC int PMPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype, |
---|
1558 | MPI_Aint *extent); |
---|
1559 | OMPI_DECLSPEC int PMPI_File_set_atomicity(MPI_File fh, int flag); |
---|
1560 | OMPI_DECLSPEC int PMPI_File_get_atomicity(MPI_File fh, int *flag); |
---|
1561 | OMPI_DECLSPEC int PMPI_File_sync(MPI_File fh); |
---|
1562 | #endif /* #if OMPI_PROVIDE_MPI_FILE_INTERFACE */ |
---|
1563 | OMPI_DECLSPEC int PMPI_Finalize(void); |
---|
1564 | OMPI_DECLSPEC int PMPI_Finalized(int *flag); |
---|
1565 | OMPI_DECLSPEC int PMPI_Free_mem(void *base); |
---|
1566 | OMPI_DECLSPEC int PMPI_Gather(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
1567 | void *recvbuf, int recvcount, MPI_Datatype recvtype, |
---|
1568 | int root, MPI_Comm comm); |
---|
1569 | OMPI_DECLSPEC int PMPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
1570 | void *recvbuf, int *recvcounts, int *displs, |
---|
1571 | MPI_Datatype recvtype, int root, MPI_Comm comm); |
---|
1572 | OMPI_DECLSPEC int PMPI_Get_address(void *location, MPI_Aint *address); |
---|
1573 | OMPI_DECLSPEC int PMPI_Get_count(MPI_Status *status, MPI_Datatype datatype, int *count); |
---|
1574 | OMPI_DECLSPEC int PMPI_Get_elements(MPI_Status *status, MPI_Datatype datatype, |
---|
1575 | int *count); |
---|
1576 | OMPI_DECLSPEC int PMPI_Get(void *origin_addr, int origin_count, |
---|
1577 | MPI_Datatype origin_datatype, int target_rank, |
---|
1578 | MPI_Aint target_disp, int target_count, |
---|
1579 | MPI_Datatype target_datatype, MPI_Win win); |
---|
1580 | OMPI_DECLSPEC int PMPI_Get_processor_name(char *name, int *resultlen); |
---|
1581 | OMPI_DECLSPEC int PMPI_Get_version(int *version, int *subversion); |
---|
1582 | OMPI_DECLSPEC int PMPI_Graph_create(MPI_Comm comm_old, int nnodes, int *index, |
---|
1583 | int *edges, int reorder, MPI_Comm *comm_graph); |
---|
1584 | OMPI_DECLSPEC int PMPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges, |
---|
1585 | int *index, int *edges); |
---|
1586 | OMPI_DECLSPEC int PMPI_Graph_map(MPI_Comm comm, int nnodes, int *index, int *edges, |
---|
1587 | int *newrank); |
---|
1588 | OMPI_DECLSPEC int PMPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors); |
---|
1589 | OMPI_DECLSPEC int PMPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors, |
---|
1590 | int *neighbors); |
---|
1591 | OMPI_DECLSPEC int PMPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges); |
---|
1592 | OMPI_DECLSPEC int PMPI_Grequest_complete(MPI_Request request); |
---|
1593 | OMPI_DECLSPEC int PMPI_Grequest_start(MPI_Grequest_query_function *query_fn, |
---|
1594 | MPI_Grequest_free_function *free_fn, |
---|
1595 | MPI_Grequest_cancel_function *cancel_fn, |
---|
1596 | void *extra_state, MPI_Request *request); |
---|
1597 | OMPI_DECLSPEC MPI_Fint PMPI_Group_c2f(MPI_Group group); |
---|
1598 | OMPI_DECLSPEC int PMPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result); |
---|
1599 | OMPI_DECLSPEC int PMPI_Group_difference(MPI_Group group1, MPI_Group group2, |
---|
1600 | MPI_Group *newgroup); |
---|
1601 | OMPI_DECLSPEC int PMPI_Group_excl(MPI_Group group, int n, int *ranks, |
---|
1602 | MPI_Group *newgroup); |
---|
1603 | OMPI_DECLSPEC MPI_Group PMPI_Group_f2c(MPI_Fint group); |
---|
1604 | OMPI_DECLSPEC int PMPI_Group_free(MPI_Group *group); |
---|
1605 | OMPI_DECLSPEC int PMPI_Group_incl(MPI_Group group, int n, int *ranks, |
---|
1606 | MPI_Group *newgroup); |
---|
1607 | OMPI_DECLSPEC int PMPI_Group_intersection(MPI_Group group1, MPI_Group group2, |
---|
1608 | MPI_Group *newgroup); |
---|
1609 | OMPI_DECLSPEC int PMPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], |
---|
1610 | MPI_Group *newgroup); |
---|
1611 | OMPI_DECLSPEC int PMPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], |
---|
1612 | MPI_Group *newgroup); |
---|
1613 | OMPI_DECLSPEC int PMPI_Group_rank(MPI_Group group, int *rank); |
---|
1614 | OMPI_DECLSPEC int PMPI_Group_size(MPI_Group group, int *size); |
---|
1615 | OMPI_DECLSPEC int PMPI_Group_translate_ranks(MPI_Group group1, int n, int *ranks1, |
---|
1616 | MPI_Group group2, int *ranks2); |
---|
1617 | OMPI_DECLSPEC int PMPI_Group_union(MPI_Group group1, MPI_Group group2, |
---|
1618 | MPI_Group *newgroup); |
---|
1619 | OMPI_DECLSPEC int PMPI_Ibsend(void *buf, int count, MPI_Datatype datatype, int dest, |
---|
1620 | int tag, MPI_Comm comm, MPI_Request *request); |
---|
1621 | OMPI_DECLSPEC MPI_Fint PMPI_Info_c2f(MPI_Info info); |
---|
1622 | OMPI_DECLSPEC int PMPI_Info_create(MPI_Info *info); |
---|
1623 | OMPI_DECLSPEC int PMPI_Info_delete(MPI_Info info, char *key); |
---|
1624 | OMPI_DECLSPEC int PMPI_Info_dup(MPI_Info info, MPI_Info *newinfo); |
---|
1625 | OMPI_DECLSPEC MPI_Info PMPI_Info_f2c(MPI_Fint info); |
---|
1626 | OMPI_DECLSPEC int PMPI_Info_free(MPI_Info *info); |
---|
1627 | OMPI_DECLSPEC int PMPI_Info_get(MPI_Info info, char *key, int valuelen, |
---|
1628 | char *value, int *flag); |
---|
1629 | OMPI_DECLSPEC int PMPI_Info_get_nkeys(MPI_Info info, int *nkeys); |
---|
1630 | OMPI_DECLSPEC int PMPI_Info_get_nthkey(MPI_Info info, int n, char *key); |
---|
1631 | OMPI_DECLSPEC int PMPI_Info_get_valuelen(MPI_Info info, char *key, int *valuelen, |
---|
1632 | int *flag); |
---|
1633 | OMPI_DECLSPEC int PMPI_Info_set(MPI_Info info, char *key, char *value); |
---|
1634 | OMPI_DECLSPEC int PMPI_Init(int *argc, char ***argv); |
---|
1635 | OMPI_DECLSPEC int PMPI_Initialized(int *flag); |
---|
1636 | OMPI_DECLSPEC int PMPI_Init_thread(int *argc, char ***argv, int required, |
---|
1637 | int *provided); |
---|
1638 | OMPI_DECLSPEC int PMPI_Intercomm_create(MPI_Comm local_comm, int local_leader, |
---|
1639 | MPI_Comm bridge_comm, int remote_leader, |
---|
1640 | int tag, MPI_Comm *newintercomm); |
---|
1641 | OMPI_DECLSPEC int PMPI_Intercomm_merge(MPI_Comm intercomm, int high, |
---|
1642 | MPI_Comm *newintercomm); |
---|
1643 | OMPI_DECLSPEC int PMPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, |
---|
1644 | MPI_Status *status); |
---|
1645 | OMPI_DECLSPEC int PMPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source, |
---|
1646 | int tag, MPI_Comm comm, MPI_Request *request); |
---|
1647 | OMPI_DECLSPEC int PMPI_Irsend(void *buf, int count, MPI_Datatype datatype, int dest, |
---|
1648 | int tag, MPI_Comm comm, MPI_Request *request); |
---|
1649 | OMPI_DECLSPEC int PMPI_Isend(void *buf, int count, MPI_Datatype datatype, int dest, |
---|
1650 | int tag, MPI_Comm comm, MPI_Request *request); |
---|
1651 | OMPI_DECLSPEC int PMPI_Issend(void *buf, int count, MPI_Datatype datatype, int dest, |
---|
1652 | int tag, MPI_Comm comm, MPI_Request *request); |
---|
1653 | OMPI_DECLSPEC int PMPI_Is_thread_main(int *flag); |
---|
1654 | OMPI_DECLSPEC int PMPI_Keyval_create(MPI_Copy_function *copy_fn, |
---|
1655 | MPI_Delete_function *delete_fn, |
---|
1656 | int *keyval, void *extra_state); |
---|
1657 | OMPI_DECLSPEC int PMPI_Keyval_free(int *keyval); |
---|
1658 | OMPI_DECLSPEC int PMPI_Lookup_name(char *service_name, MPI_Info info, char *port_name); |
---|
1659 | OMPI_DECLSPEC MPI_Fint PMPI_Op_c2f(MPI_Op op); |
---|
1660 | OMPI_DECLSPEC int PMPI_Op_create(MPI_User_function *function, int commute, |
---|
1661 | MPI_Op *op); |
---|
1662 | OMPI_DECLSPEC int PMPI_Open_port(MPI_Info info, char *port_name); |
---|
1663 | OMPI_DECLSPEC MPI_Op PMPI_Op_f2c(MPI_Fint op); |
---|
1664 | OMPI_DECLSPEC int PMPI_Op_free(MPI_Op *op); |
---|
1665 | OMPI_DECLSPEC int PMPI_Pack_external(char *datarep, void *inbuf, int incount, |
---|
1666 | MPI_Datatype datatype, void *outbuf, |
---|
1667 | MPI_Aint outsize, MPI_Aint *position); |
---|
1668 | OMPI_DECLSPEC int PMPI_Pack_external_size(char *datarep, int incount, |
---|
1669 | MPI_Datatype datatype, MPI_Aint *size); |
---|
1670 | OMPI_DECLSPEC int PMPI_Pack(void *inbuf, int incount, MPI_Datatype datatype, |
---|
1671 | void *outbuf, int outsize, int *position, MPI_Comm comm); |
---|
1672 | OMPI_DECLSPEC int PMPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm, |
---|
1673 | int *size); |
---|
1674 | OMPI_DECLSPEC int PMPI_Pcontrol(const int level, ...); |
---|
1675 | OMPI_DECLSPEC int PMPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status); |
---|
1676 | OMPI_DECLSPEC int PMPI_Publish_name(char *service_name, MPI_Info info, |
---|
1677 | char *port_name); |
---|
1678 | OMPI_DECLSPEC int PMPI_Put(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, |
---|
1679 | int target_rank, MPI_Aint target_disp, int target_count, |
---|
1680 | MPI_Datatype target_datatype, MPI_Win win); |
---|
1681 | OMPI_DECLSPEC int PMPI_Query_thread(int *provided); |
---|
1682 | OMPI_DECLSPEC int PMPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, |
---|
1683 | int tag, MPI_Comm comm, MPI_Request *request); |
---|
1684 | OMPI_DECLSPEC int PMPI_Recv(void *buf, int count, MPI_Datatype datatype, int source, |
---|
1685 | int tag, MPI_Comm comm, MPI_Status *status); |
---|
1686 | OMPI_DECLSPEC int PMPI_Reduce(void *sendbuf, void *recvbuf, int count, |
---|
1687 | MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm); |
---|
1688 | OMPI_DECLSPEC int PMPI_Reduce_scatter(void *sendbuf, void *recvbuf, int *recvcounts, |
---|
1689 | MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); |
---|
1690 | OMPI_DECLSPEC int PMPI_Register_datarep(char *datarep, |
---|
1691 | MPI_Datarep_conversion_function *read_conversion_fn, |
---|
1692 | MPI_Datarep_conversion_function *write_conversion_fn, |
---|
1693 | MPI_Datarep_extent_function *dtype_file_extent_fn, |
---|
1694 | void *extra_state); |
---|
1695 | OMPI_DECLSPEC MPI_Fint PMPI_Request_c2f(MPI_Request request); |
---|
1696 | OMPI_DECLSPEC MPI_Request PMPI_Request_f2c(MPI_Fint request); |
---|
1697 | OMPI_DECLSPEC int PMPI_Request_free(MPI_Request *request); |
---|
1698 | OMPI_DECLSPEC int PMPI_Request_get_status(MPI_Request request, int *flag, |
---|
1699 | MPI_Status *status); |
---|
1700 | OMPI_DECLSPEC int PMPI_Rsend(void *ibuf, int count, MPI_Datatype datatype, int dest, |
---|
1701 | int tag, MPI_Comm comm); |
---|
1702 | OMPI_DECLSPEC int PMPI_Rsend_init(void *buf, int count, MPI_Datatype datatype, |
---|
1703 | int dest, int tag, MPI_Comm comm, |
---|
1704 | MPI_Request *request); |
---|
1705 | OMPI_DECLSPEC int PMPI_Scan(void *sendbuf, void *recvbuf, int count, |
---|
1706 | MPI_Datatype datatype, MPI_Op op, MPI_Comm comm); |
---|
1707 | OMPI_DECLSPEC int PMPI_Scatter(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
1708 | void *recvbuf, int recvcount, MPI_Datatype recvtype, |
---|
1709 | int root, MPI_Comm comm); |
---|
1710 | OMPI_DECLSPEC int PMPI_Scatterv(void *sendbuf, int *sendcounts, int *displs, |
---|
1711 | MPI_Datatype sendtype, void *recvbuf, int recvcount, |
---|
1712 | MPI_Datatype recvtype, int root, MPI_Comm comm); |
---|
1713 | OMPI_DECLSPEC int PMPI_Send_init(void *buf, int count, MPI_Datatype datatype, |
---|
1714 | int dest, int tag, MPI_Comm comm, |
---|
1715 | MPI_Request *request); |
---|
1716 | OMPI_DECLSPEC int PMPI_Send(void *buf, int count, MPI_Datatype datatype, int dest, |
---|
1717 | int tag, MPI_Comm comm); |
---|
1718 | OMPI_DECLSPEC int PMPI_Sendrecv(void *sendbuf, int sendcount, MPI_Datatype sendtype, |
---|
1719 | int dest, int sendtag, void *recvbuf, int recvcount, |
---|
1720 | MPI_Datatype recvtype, int source, int recvtag, |
---|
1721 | MPI_Comm comm, MPI_Status *status); |
---|
1722 | OMPI_DECLSPEC int PMPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype, |
---|
1723 | int dest, int sendtag, int source, int recvtag, |
---|
1724 | MPI_Comm comm, MPI_Status *status); |
---|
1725 | OMPI_DECLSPEC int PMPI_Ssend_init(void *buf, int count, MPI_Datatype datatype, |
---|
1726 | int dest, int tag, MPI_Comm comm, |
---|
1727 | MPI_Request *request); |
---|
1728 | OMPI_DECLSPEC int PMPI_Ssend(void *buf, int count, MPI_Datatype datatype, int dest, |
---|
1729 | int tag, MPI_Comm comm); |
---|
1730 | OMPI_DECLSPEC int PMPI_Start(MPI_Request *request); |
---|
1731 | OMPI_DECLSPEC int PMPI_Startall(int count, MPI_Request *array_of_requests); |
---|
1732 | OMPI_DECLSPEC int PMPI_Status_c2f(MPI_Status *c_status, MPI_Fint *f_status); |
---|
1733 | OMPI_DECLSPEC int PMPI_Status_f2c(MPI_Fint *f_status, MPI_Status *c_status); |
---|
1734 | OMPI_DECLSPEC int PMPI_Status_set_cancelled(MPI_Status *status, int flag); |
---|
1735 | OMPI_DECLSPEC int PMPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, |
---|
1736 | int count); |
---|
1737 | OMPI_DECLSPEC int PMPI_Testall(int count, MPI_Request array_of_requests[], int *flag, |
---|
1738 | MPI_Status array_of_statuses[]); |
---|
1739 | OMPI_DECLSPEC int PMPI_Testany(int count, MPI_Request array_of_requests[], int *index, int *flag, MPI_Status *status); |
---|
1740 | OMPI_DECLSPEC int PMPI_Test(MPI_Request *request, int *flag, MPI_Status *status); |
---|
1741 | OMPI_DECLSPEC int PMPI_Test_cancelled(MPI_Status *status, int *flag); |
---|
1742 | OMPI_DECLSPEC int PMPI_Testsome(int incount, MPI_Request array_of_requests[], |
---|
1743 | int *outcount, int array_of_indices[], |
---|
1744 | MPI_Status array_of_statuses[]); |
---|
1745 | OMPI_DECLSPEC int PMPI_Topo_test(MPI_Comm comm, int *status); |
---|
1746 | OMPI_DECLSPEC MPI_Fint PMPI_Type_c2f(MPI_Datatype datatype); |
---|
1747 | OMPI_DECLSPEC int PMPI_Type_commit(MPI_Datatype *type); |
---|
1748 | OMPI_DECLSPEC int PMPI_Type_contiguous(int count, MPI_Datatype oldtype, |
---|
1749 | MPI_Datatype *newtype); |
---|
1750 | OMPI_DECLSPEC int PMPI_Type_create_darray(int size, int rank, int ndims, |
---|
1751 | int gsize_array[], int distrib_array[], |
---|
1752 | int darg_array[], int psize_array[], |
---|
1753 | int order, MPI_Datatype oldtype, |
---|
1754 | MPI_Datatype *newtype); |
---|
1755 | OMPI_DECLSPEC int PMPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype); |
---|
1756 | OMPI_DECLSPEC int PMPI_Type_create_f90_integer(int r, MPI_Datatype *newtype); |
---|
1757 | OMPI_DECLSPEC int PMPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype); |
---|
1758 | OMPI_DECLSPEC int PMPI_Type_create_hindexed(int count, int array_of_blocklengths[], |
---|
1759 | MPI_Aint array_of_displacements[], |
---|
1760 | MPI_Datatype oldtype, |
---|
1761 | MPI_Datatype *newtype); |
---|
1762 | OMPI_DECLSPEC int PMPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride, |
---|
1763 | MPI_Datatype oldtype, |
---|
1764 | MPI_Datatype *newtype); |
---|
1765 | OMPI_DECLSPEC int PMPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn, |
---|
1766 | MPI_Type_delete_attr_function *type_delete_attr_fn, |
---|
1767 | int *type_keyval, void *extra_state); |
---|
1768 | OMPI_DECLSPEC int PMPI_Type_create_indexed_block(int count, int blocklength, |
---|
1769 | int array_of_displacements[], |
---|
1770 | MPI_Datatype oldtype, |
---|
1771 | MPI_Datatype *newtype); |
---|
1772 | OMPI_DECLSPEC int PMPI_Type_create_struct(int count, int array_of_block_lengths[], |
---|
1773 | MPI_Aint array_of_displacements[], |
---|
1774 | MPI_Datatype array_of_types[], |
---|
1775 | MPI_Datatype *newtype); |
---|
1776 | OMPI_DECLSPEC int PMPI_Type_create_subarray(int ndims, int size_array[], int subsize_array[], |
---|
1777 | int start_array[], int order, |
---|
1778 | MPI_Datatype oldtype, MPI_Datatype *newtype); |
---|
1779 | OMPI_DECLSPEC int PMPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb, |
---|
1780 | MPI_Aint extent, MPI_Datatype *newtype); |
---|
1781 | OMPI_DECLSPEC int PMPI_Type_delete_attr(MPI_Datatype type, int type_keyval); |
---|
1782 | OMPI_DECLSPEC int PMPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype); |
---|
1783 | OMPI_DECLSPEC int PMPI_Type_extent(MPI_Datatype type, MPI_Aint *extent); |
---|
1784 | OMPI_DECLSPEC int PMPI_Type_free(MPI_Datatype *type); |
---|
1785 | OMPI_DECLSPEC int PMPI_Type_free_keyval(int *type_keyval); |
---|
1786 | OMPI_DECLSPEC MPI_Datatype PMPI_Type_f2c(MPI_Fint datatype); |
---|
1787 | OMPI_DECLSPEC int PMPI_Type_get_attr(MPI_Datatype type, int type_keyval, |
---|
1788 | void *attribute_val, int *flag); |
---|
1789 | OMPI_DECLSPEC int PMPI_Type_get_contents(MPI_Datatype mtype, int max_integers, |
---|
1790 | int max_addresses, int max_datatypes, |
---|
1791 | int array_of_integers[], |
---|
1792 | MPI_Aint array_of_addresses[], |
---|
1793 | MPI_Datatype array_of_datatypes[]); |
---|
1794 | OMPI_DECLSPEC int PMPI_Type_get_envelope(MPI_Datatype type, int *num_integers, |
---|
1795 | int *num_addresses, int *num_datatypes, |
---|
1796 | int *combiner); |
---|
1797 | OMPI_DECLSPEC int PMPI_Type_get_extent(MPI_Datatype type, MPI_Aint *lb, |
---|
1798 | MPI_Aint *extent); |
---|
1799 | OMPI_DECLSPEC int PMPI_Type_get_name(MPI_Datatype type, char *type_name, |
---|
1800 | int *resultlen); |
---|
1801 | OMPI_DECLSPEC int PMPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb, |
---|
1802 | MPI_Aint *true_extent); |
---|
1803 | OMPI_DECLSPEC int PMPI_Type_hindexed(int count, int array_of_blocklengths[], |
---|
1804 | MPI_Aint array_of_displacements[], |
---|
1805 | MPI_Datatype oldtype, MPI_Datatype *newtype); |
---|
1806 | OMPI_DECLSPEC int PMPI_Type_hvector(int count, int blocklength, MPI_Aint stride, |
---|
1807 | MPI_Datatype oldtype, MPI_Datatype *newtype); |
---|
1808 | OMPI_DECLSPEC int PMPI_Type_indexed(int count, int array_of_blocklengths[], |
---|
1809 | int array_of_displacements[], |
---|
1810 | MPI_Datatype oldtype, MPI_Datatype *newtype); |
---|
1811 | OMPI_DECLSPEC int PMPI_Type_lb(MPI_Datatype type, MPI_Aint *lb); |
---|
1812 | OMPI_DECLSPEC int PMPI_Type_match_size(int typeclass, int size, MPI_Datatype *type); |
---|
1813 | OMPI_DECLSPEC int PMPI_Type_set_attr(MPI_Datatype type, int type_keyval, |
---|
1814 | void *attr_val); |
---|
1815 | OMPI_DECLSPEC int PMPI_Type_set_name(MPI_Datatype type, char *type_name); |
---|
1816 | OMPI_DECLSPEC int PMPI_Type_size(MPI_Datatype type, int *size); |
---|
1817 | OMPI_DECLSPEC int PMPI_Type_struct(int count, int array_of_blocklengths[], |
---|
1818 | MPI_Aint array_of_displacements[], |
---|
1819 | MPI_Datatype array_of_types[], |
---|
1820 | MPI_Datatype *newtype); |
---|
1821 | OMPI_DECLSPEC int PMPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub); |
---|
1822 | OMPI_DECLSPEC int PMPI_Type_vector(int count, int blocklength, int stride, |
---|
1823 | MPI_Datatype oldtype, MPI_Datatype *newtype); |
---|
1824 | OMPI_DECLSPEC int PMPI_Unpack(void *inbuf, int insize, int *position, |
---|
1825 | void *outbuf, int outcount, MPI_Datatype datatype, |
---|
1826 | MPI_Comm comm); |
---|
1827 | OMPI_DECLSPEC int PMPI_Unpublish_name(char *service_name, MPI_Info info, |
---|
1828 | char *port_name); |
---|
1829 | OMPI_DECLSPEC int PMPI_Unpack_external (char *datarep, void *inbuf, MPI_Aint insize, |
---|
1830 | MPI_Aint *position, void *outbuf, int outcount, |
---|
1831 | MPI_Datatype datatype); |
---|
1832 | OMPI_DECLSPEC int PMPI_Waitall(int count, MPI_Request *array_of_requests, |
---|
1833 | MPI_Status *array_of_statuses); |
---|
1834 | OMPI_DECLSPEC int PMPI_Waitany(int count, MPI_Request *array_of_requests, |
---|
1835 | int *index, MPI_Status *status); |
---|
1836 | OMPI_DECLSPEC int PMPI_Wait(MPI_Request *request, MPI_Status *status); |
---|
1837 | OMPI_DECLSPEC int PMPI_Waitsome(int incount, MPI_Request *array_of_requests, |
---|
1838 | int *outcount, int *array_of_indices, |
---|
1839 | MPI_Status *array_of_statuses); |
---|
1840 | OMPI_DECLSPEC MPI_Fint PMPI_Win_c2f(MPI_Win win); |
---|
1841 | OMPI_DECLSPEC int PMPI_Win_call_errhandler(MPI_Win win, int errorcode); |
---|
1842 | OMPI_DECLSPEC int PMPI_Win_complete(MPI_Win win); |
---|
1843 | OMPI_DECLSPEC int PMPI_Win_create(void *base, MPI_Aint size, int disp_unit, |
---|
1844 | MPI_Info info, MPI_Comm comm, MPI_Win *win); |
---|
1845 | OMPI_DECLSPEC int PMPI_Win_create_errhandler(MPI_Win_errhandler_fn *function, |
---|
1846 | MPI_Errhandler *errhandler); |
---|
1847 | OMPI_DECLSPEC int PMPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn, |
---|
1848 | MPI_Win_delete_attr_function *win_delete_attr_fn, |
---|
1849 | int *win_keyval, void *extra_state); |
---|
1850 | OMPI_DECLSPEC int PMPI_Win_delete_attr(MPI_Win win, int win_keyval); |
---|
1851 | OMPI_DECLSPEC MPI_Win PMPI_Win_f2c(MPI_Fint win); |
---|
1852 | OMPI_DECLSPEC int PMPI_Win_fence(int assert, MPI_Win win); |
---|
1853 | OMPI_DECLSPEC int PMPI_Win_free(MPI_Win *win); |
---|
1854 | OMPI_DECLSPEC int PMPI_Win_free_keyval(int *win_keyval); |
---|
1855 | OMPI_DECLSPEC int PMPI_Win_get_attr(MPI_Win win, int win_keyval, |
---|
1856 | void *attribute_val, int *flag); |
---|
1857 | OMPI_DECLSPEC int PMPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler); |
---|
1858 | OMPI_DECLSPEC int PMPI_Win_get_group(MPI_Win win, MPI_Group *group); |
---|
1859 | OMPI_DECLSPEC int PMPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen); |
---|
1860 | OMPI_DECLSPEC int PMPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win); |
---|
1861 | OMPI_DECLSPEC int PMPI_Win_post(MPI_Group group, int assert, MPI_Win win); |
---|
1862 | OMPI_DECLSPEC int PMPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val); |
---|
1863 | OMPI_DECLSPEC int PMPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler); |
---|
1864 | OMPI_DECLSPEC int PMPI_Win_set_name(MPI_Win win, char *win_name); |
---|
1865 | OMPI_DECLSPEC int PMPI_Win_start(MPI_Group group, int assert, MPI_Win win); |
---|
1866 | OMPI_DECLSPEC int PMPI_Win_test(MPI_Win win, int *flag); |
---|
1867 | OMPI_DECLSPEC int PMPI_Win_unlock(int rank, MPI_Win win); |
---|
1868 | OMPI_DECLSPEC int PMPI_Win_wait(MPI_Win win); |
---|
1869 | OMPI_DECLSPEC double PMPI_Wtick(void); |
---|
1870 | OMPI_DECLSPEC double PMPI_Wtime(void); |
---|
1871 | |
---|
1872 | #if defined(c_plusplus) || defined(__cplusplus) |
---|
1873 | } |
---|
1874 | #endif |
---|
1875 | |
---|
1876 | /* |
---|
1877 | * Conditional MPI 2 C++ bindings support. Include if: |
---|
1878 | * - The user does not explicitly request us to skip it (when a C++ compiler |
---|
1879 | * is used to compile C code). |
---|
1880 | * - We want C++ bindings support |
---|
1881 | * - We are not building OMPI itself |
---|
1882 | * - We are using a C++ compiler |
---|
1883 | */ |
---|
1884 | #if !defined(OMPI_SKIP_MPICXX) && OMPI_WANT_CXX_BINDINGS && !OMPI_BUILDING |
---|
1885 | #if defined(__cplusplus) || defined(c_plusplus) |
---|
1886 | #include "openmpi/ompi/mpi/cxx/mpicxx.h" |
---|
1887 | #endif |
---|
1888 | #endif |
---|
1889 | |
---|
1890 | #if !OMPI_PROVIDE_MPI_FILE_INTERFACE && !OMPI_BUILDING |
---|
1891 | /* ROMIO requires MPI implementations to set this to 1 if they provide |
---|
1892 | MPI_OFFSET. We need to provide it because its used throughout the |
---|
1893 | DDT engine */ |
---|
1894 | #define HAVE_MPI_OFFSET 1 |
---|
1895 | #endif |
---|
1896 | |
---|
1897 | #endif /* OMPI_MPI_H */ |
---|