[97] | 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 */ |
---|