00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef OMPI_MPI_H
00023 #define OMPI_MPI_H
00024
00025
00026
00027
00028
00029
00030 #ifndef OMPI_CONFIG_H
00031
00032
00033
00034
00035
00036
00037
00038
00039 #define OMPI_STDC_HEADERS 1
00040
00041
00042 #define OMPI_HAVE_SYS_TIME_H 1
00043
00044
00045
00046
00047
00048 #define OMPI_HAVE_LONG_LONG 1
00049
00050
00051 #define OMPI_SIZEOF_BOOL 1
00052
00053
00054 #define OMPI_SIZEOF_INT 4
00055
00056
00057 #define OMPI_HAVE_FORTRAN_LOGICAL1 0
00058
00059
00060 #define OMPI_HAVE_FORTRAN_LOGICAL2 0
00061
00062
00063 #define OMPI_HAVE_FORTRAN_LOGICAL4 0
00064
00065
00066 #define OMPI_HAVE_FORTRAN_LOGICAL8 0
00067
00068
00069 #define OMPI_HAVE_FORTRAN_INTEGER1 0
00070
00071
00072 #define OMPI_HAVE_FORTRAN_INTEGER16 0
00073
00074
00075 #define OMPI_HAVE_FORTRAN_INTEGER2 0
00076
00077
00078 #define OMPI_HAVE_FORTRAN_INTEGER4 0
00079
00080
00081 #define OMPI_HAVE_FORTRAN_INTEGER8 0
00082
00083
00084 #define OMPI_HAVE_FORTRAN_REAL16 0
00085
00086
00087 #define OMPI_HAVE_FORTRAN_REAL2 0
00088
00089
00090 #define OMPI_HAVE_FORTRAN_REAL4 0
00091
00092
00093 #define OMPI_HAVE_FORTRAN_REAL8 0
00094
00095
00096 #define OMPI_MPI_OFFSET_TYPE long long
00097
00098
00099 #define OMPI_PTRDIFF_TYPE ptrdiff_t
00100
00101
00102 #define OMPI_WANT_CXX_BINDINGS 1
00103
00104
00105 #define OMPI_WANT_MPI_CXX_SEEK 1
00106
00107
00108 #define OMPI_CXX_SUPPORTS_2D_CONST_CAST 1
00109
00110
00111 #define OMPI_WANT_F77_BINDINGS 0
00112
00113
00114 #define OMPI_WANT_F90_BINDINGS 0
00115
00116
00117 #define OMPI_HAVE_CXX_EXCEPTION_SUPPORT 0
00118
00119
00120 #define OMPI_OFFSET_DATATYPE MPI_LONG_LONG
00121
00122
00123 #define OMPI_MAJOR_VERSION 1
00124 #define OMPI_MINOR_VERSION 4
00125 #define OMPI_RELEASE_VERSION 3
00126
00127
00128
00129 #define ompi_fortran_bogus_type_t int
00130
00131
00132 #define ompi_fortran_integer_t ompi_fortran_bogus_type_t
00133
00134
00135 #define OMPI_C_HAVE_VISIBILITY 1
00136
00137
00138 #define OMPI_PROVIDE_MPI_FILE_INTERFACE 1
00139
00140 #ifndef OMPI_DECLSPEC
00141 # if defined(WIN32) || defined(_WIN32)
00142 # if defined(OMPI_IMPORTS)
00143 # define OMPI_DECLSPEC __declspec(dllimport)
00144 # else
00145 # define OMPI_DECLSPEC
00146 # endif
00147 # else
00148 # if OMPI_C_HAVE_VISIBILITY == 1
00149 # define OMPI_DECLSPEC __attribute__((visibility("default")))
00150 # else
00151 # define OMPI_DECLSPEC
00152 # endif
00153 # endif
00154 #endif
00155
00156 #ifndef MPI_Fint
00157
00158 #define MPI_Fint ompi_fortran_integer_t
00159 #endif
00160
00161 #endif
00162
00163
00164
00165
00166 #ifdef OMPI_STDC_HEADERS
00167 #include <stddef.h>
00168 #endif
00169
00170 #ifndef OMPI_BUILDING
00171 #define OMPI_BUILDING 0
00172 #endif
00173
00174
00175
00176
00177
00178 #define OPEN_MPI 1
00179
00180
00181
00182
00183 #define MPI_VERSION 2
00184 #define MPI_SUBVERSION 1
00185
00186
00187
00188
00189
00190 #if !OMPI_BUILDING && OMPI_PROVIDE_MPI_FILE_INTERFACE
00191 #define MPIO_Request MPI_Request
00192 #define MPIO_Test MPI_Test
00193 #define MPIO_Wait MPI_Wait
00194 #endif
00195
00196
00197
00198
00199
00200
00201
00202
00203
00204
00205
00206 #if !OMPI_BUILDING
00207 #define OMPI_PREDEFINED_GLOBAL(type, global) ((type) ((void *) &(global)))
00208 #else
00209 #define OMPI_PREDEFINED_GLOBAL(type, global) ((type) &(global))
00210 #endif
00211
00212 #if defined(c_plusplus) || defined(__cplusplus)
00213 extern "C" {
00214 #endif
00215
00216
00217
00218
00219 typedef OMPI_PTRDIFF_TYPE MPI_Aint;
00220 typedef OMPI_MPI_OFFSET_TYPE MPI_Offset;
00221 typedef struct ompi_communicator_t *MPI_Comm;
00222 typedef struct ompi_datatype_t *MPI_Datatype;
00223 typedef struct ompi_errhandler_t *MPI_Errhandler;
00224 #if OMPI_PROVIDE_MPI_FILE_INTERFACE
00225 typedef struct ompi_file_t *MPI_File;
00226 #endif
00227 typedef struct ompi_group_t *MPI_Group;
00228 typedef struct ompi_info_t *MPI_Info;
00229 typedef struct ompi_op_t *MPI_Op;
00230 typedef struct ompi_request_t *MPI_Request;
00231 typedef struct ompi_status_public_t MPI_Status;
00232 typedef struct ompi_win_t *MPI_Win;
00233
00234
00235
00236
00237 struct ompi_status_public_t {
00238 int MPI_SOURCE;
00239 int MPI_TAG;
00240 int MPI_ERROR;
00241 int _count;
00242 int _cancelled;
00243 };
00244 typedef struct ompi_status_public_t ompi_status_public_t;
00245
00246
00247
00248
00249 typedef int (MPI_Copy_function)(MPI_Comm, int, void *,
00250 void *, void *, int *);
00251 typedef int (MPI_Delete_function)(MPI_Comm, int, void *, void *);
00252 typedef int (MPI_Datarep_extent_function)(MPI_Datatype, MPI_Aint *, void *);
00253 typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype,
00254 int, void *, MPI_Offset, void *);
00255 typedef void (MPI_Comm_errhandler_fn)(MPI_Comm *, int *, ...);
00256 #if OMPI_PROVIDE_MPI_FILE_INTERFACE
00257
00258
00259
00260
00261 typedef void (ompi_file_errhandler_fn)(MPI_File *, int *, ...);
00262 typedef ompi_file_errhandler_fn MPI_File_errhandler_fn;
00263 #else
00264 struct ompi_file_t;
00265 typedef void (ompi_file_errhandler_fn)(struct ompi_file_t**, int *, ...);
00266 #endif
00267 typedef void (MPI_Win_errhandler_fn)(MPI_Win *, int *, ...);
00268 typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...);
00269 typedef void (MPI_User_function)(void *, void *, int *, MPI_Datatype *);
00270 typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *,
00271 void *, void *, int *);
00272 typedef int (MPI_Comm_delete_attr_function)(MPI_Comm, int, void *, void *);
00273 typedef int (MPI_Type_copy_attr_function)(MPI_Datatype, int, void *,
00274 void *, void *, int *);
00275 typedef int (MPI_Type_delete_attr_function)(MPI_Datatype, int,
00276 void *, void *);
00277 typedef int (MPI_Win_copy_attr_function)(MPI_Win, int, void *,
00278 void *, void *, int *);
00279 typedef int (MPI_Win_delete_attr_function)(MPI_Win, int, void *, void *);
00280 typedef int (MPI_Grequest_query_function)(void *, MPI_Status *);
00281 typedef int (MPI_Grequest_free_function)(void *);
00282 typedef int (MPI_Grequest_cancel_function)(void *, int);
00283
00284
00285
00286
00287 #define MPI_ANY_SOURCE -1
00288 #define MPI_PROC_NULL -2
00289 #define MPI_ROOT -4
00290 #define MPI_ANY_TAG -1
00291 #define MPI_MAX_PROCESSOR_NAME 256
00292 #define MPI_MAX_ERROR_STRING 256
00293 #define MPI_MAX_OBJECT_NAME 64
00294 #define MPI_UNDEFINED -32766
00295 #define MPI_CART 1
00296 #define MPI_GRAPH 2
00297 #define MPI_KEYVAL_INVALID -1
00298
00299
00300
00301
00302 #define MPI_BOTTOM ((void *) 0)
00303 #define MPI_IN_PLACE ((void *) 1)
00304 #define MPI_BSEND_OVERHEAD 128
00305 #define MPI_MAX_INFO_KEY 36
00306 #define MPI_MAX_INFO_VAL 256
00307 #define MPI_ARGV_NULL ((char **) 0)
00308 #define MPI_ARGVS_NULL ((char ***) 0)
00309 #define MPI_ERRCODES_IGNORE ((int *) 0)
00310 #define MPI_MAX_PORT_NAME 1024
00311 #define MPI_MAX_NAME_LEN MPI_MAX_PORT_NAME
00312 #define MPI_ORDER_C 0
00313 #define MPI_ORDER_FORTRAN 1
00314 #define MPI_DISTRIBUTE_BLOCK 0
00315 #define MPI_DISTRIBUTE_CYCLIC 1
00316 #define MPI_DISTRIBUTE_NONE 2
00317 #define MPI_DISTRIBUTE_DFLT_DARG (-1)
00318
00319 #if OMPI_PROVIDE_MPI_FILE_INTERFACE
00320
00321
00322
00323
00324
00325 #define MPI_MODE_CREATE 1
00326 #define MPI_MODE_RDONLY 2
00327 #define MPI_MODE_WRONLY 4
00328 #define MPI_MODE_RDWR 8
00329 #define MPI_MODE_DELETE_ON_CLOSE 16
00330 #define MPI_MODE_UNIQUE_OPEN 32
00331 #define MPI_MODE_EXCL 64
00332 #define MPI_MODE_APPEND 128
00333 #define MPI_MODE_SEQUENTIAL 256
00334
00335 #define MPI_DISPLACEMENT_CURRENT -54278278
00336
00337 #define MPI_SEEK_SET 600
00338 #define MPI_SEEK_CUR 602
00339 #define MPI_SEEK_END 604
00340
00341 #define MPI_MAX_DATAREP_STRING 128
00342 #endif
00343
00344
00345
00346
00347 #define MPI_MODE_NOCHECK 1
00348 #define MPI_MODE_NOPRECEDE 2
00349 #define MPI_MODE_NOPUT 4
00350 #define MPI_MODE_NOSTORE 8
00351 #define MPI_MODE_NOSUCCEED 16
00352
00353 #define MPI_LOCK_EXCLUSIVE 1
00354 #define MPI_LOCK_SHARED 2
00355
00356
00357
00358
00359
00360
00361
00362
00363 enum {
00364
00365 MPI_TAG_UB,
00366 MPI_HOST,
00367 MPI_IO,
00368 MPI_WTIME_IS_GLOBAL,
00369
00370
00371 MPI_APPNUM,
00372 MPI_LASTUSEDCODE,
00373 MPI_UNIVERSE_SIZE,
00374 MPI_WIN_BASE,
00375 MPI_WIN_SIZE,
00376 MPI_WIN_DISP_UNIT,
00377
00378
00379
00380 IMPI_CLIENT_SIZE,
00381 IMPI_CLIENT_COLOR,
00382 IMPI_HOST_SIZE,
00383 IMPI_HOST_COLOR
00384 };
00385
00386
00387
00388
00389
00390 #define MPI_SUCCESS 0
00391 #define MPI_ERR_BUFFER 1
00392 #define MPI_ERR_COUNT 2
00393 #define MPI_ERR_TYPE 3
00394 #define MPI_ERR_TAG 4
00395 #define MPI_ERR_COMM 5
00396 #define MPI_ERR_RANK 6
00397 #define MPI_ERR_REQUEST 7
00398 #define MPI_ERR_ROOT 8
00399 #define MPI_ERR_GROUP 9
00400 #define MPI_ERR_OP 10
00401 #define MPI_ERR_TOPOLOGY 11
00402 #define MPI_ERR_DIMS 12
00403 #define MPI_ERR_ARG 13
00404 #define MPI_ERR_UNKNOWN 14
00405 #define MPI_ERR_TRUNCATE 15
00406 #define MPI_ERR_OTHER 16
00407 #define MPI_ERR_INTERN 17
00408 #define MPI_ERR_IN_STATUS 18
00409 #define MPI_ERR_PENDING 19
00410 #define MPI_ERR_ACCESS 20
00411 #define MPI_ERR_AMODE 21
00412 #define MPI_ERR_ASSERT 22
00413 #define MPI_ERR_BAD_FILE 23
00414 #define MPI_ERR_BASE 24
00415 #define MPI_ERR_CONVERSION 25
00416 #define MPI_ERR_DISP 26
00417 #define MPI_ERR_DUP_DATAREP 27
00418 #define MPI_ERR_FILE_EXISTS 28
00419 #define MPI_ERR_FILE_IN_USE 29
00420 #define MPI_ERR_FILE 30
00421 #define MPI_ERR_INFO_KEY 31
00422 #define MPI_ERR_INFO_NOKEY 32
00423 #define MPI_ERR_INFO_VALUE 33
00424 #define MPI_ERR_INFO 34
00425 #define MPI_ERR_IO 35
00426 #define MPI_ERR_KEYVAL 36
00427 #define MPI_ERR_LOCKTYPE 37
00428 #define MPI_ERR_NAME 38
00429 #define MPI_ERR_NO_MEM 39
00430 #define MPI_ERR_NOT_SAME 40
00431 #define MPI_ERR_NO_SPACE 41
00432 #define MPI_ERR_NO_SUCH_FILE 42
00433 #define MPI_ERR_PORT 43
00434 #define MPI_ERR_QUOTA 44
00435 #define MPI_ERR_READ_ONLY 45
00436 #define MPI_ERR_RMA_CONFLICT 46
00437 #define MPI_ERR_RMA_SYNC 47
00438 #define MPI_ERR_SERVICE 48
00439 #define MPI_ERR_SIZE 49
00440 #define MPI_ERR_SPAWN 50
00441 #define MPI_ERR_UNSUPPORTED_DATAREP 51
00442 #define MPI_ERR_UNSUPPORTED_OPERATION 52
00443 #define MPI_ERR_WIN 53
00444 #define MPI_ERR_LASTCODE 54
00445
00446 #define MPI_ERR_SYSRESOURCE -2
00447
00448
00449
00450
00451
00452
00453
00454 enum {
00455 MPI_IDENT,
00456 MPI_CONGRUENT,
00457 MPI_SIMILAR,
00458 MPI_UNEQUAL
00459 };
00460
00461
00462
00463
00464
00465 enum {
00466 MPI_THREAD_SINGLE,
00467 MPI_THREAD_FUNNELED,
00468 MPI_THREAD_SERIALIZED,
00469 MPI_THREAD_MULTIPLE
00470 };
00471
00472
00473
00474
00475
00476 enum {
00477 MPI_COMBINER_NAMED,
00478 MPI_COMBINER_DUP,
00479 MPI_COMBINER_CONTIGUOUS,
00480 MPI_COMBINER_VECTOR,
00481 MPI_COMBINER_HVECTOR_INTEGER,
00482 MPI_COMBINER_HVECTOR,
00483 MPI_COMBINER_INDEXED,
00484 MPI_COMBINER_HINDEXED_INTEGER,
00485 MPI_COMBINER_HINDEXED,
00486 MPI_COMBINER_INDEXED_BLOCK,
00487 MPI_COMBINER_STRUCT_INTEGER,
00488 MPI_COMBINER_STRUCT,
00489 MPI_COMBINER_SUBARRAY,
00490 MPI_COMBINER_DARRAY,
00491 MPI_COMBINER_F90_REAL,
00492 MPI_COMBINER_F90_COMPLEX,
00493 MPI_COMBINER_F90_INTEGER,
00494 MPI_COMBINER_RESIZED
00495 };
00496
00497
00498
00499
00500 #define MPI_GROUP_NULL OMPI_PREDEFINED_GLOBAL(MPI_Group, ompi_mpi_group_null)
00501 #define MPI_COMM_NULL OMPI_PREDEFINED_GLOBAL(MPI_Comm, ompi_mpi_comm_null)
00502 #define MPI_REQUEST_NULL OMPI_PREDEFINED_GLOBAL(MPI_Request, ompi_request_null)
00503 #define MPI_OP_NULL OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_null)
00504 #define MPI_ERRHANDLER_NULL OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errhandler_null)
00505 #define MPI_INFO_NULL OMPI_PREDEFINED_GLOBAL(MPI_Info, ompi_mpi_info_null)
00506 #define MPI_WIN_NULL OMPI_PREDEFINED_GLOBAL(MPI_Win, ompi_mpi_win_null)
00507 #if OMPI_PROVIDE_MPI_FILE_INTERFACE
00508 #define MPI_FILE_NULL OMPI_PREDEFINED_GLOBAL(MPI_File, ompi_mpi_file_null)
00509 #endif
00510
00511 #define MPI_STATUS_IGNORE ((MPI_Status *) 0)
00512 #define MPI_STATUSES_IGNORE ((MPI_Status *) 0)
00513
00514
00515
00516
00517
00518
00519
00520
00521
00522
00523
00524
00525
00526
00527
00528
00529
00530 #if !defined(OMPI_COMPILING_F77_WRAPPERS)
00531 #define MPI_NULL_DELETE_FN OMPI_C_MPI_NULL_DELETE_FN
00532 #define MPI_NULL_COPY_FN OMPI_C_MPI_NULL_COPY_FN
00533 #define MPI_DUP_FN OMPI_C_MPI_DUP_FN
00534
00535 #define MPI_TYPE_NULL_DELETE_FN OMPI_C_MPI_TYPE_NULL_DELETE_FN
00536 #define MPI_TYPE_NULL_COPY_FN OMPI_C_MPI_TYPE_NULL_COPY_FN
00537 #define MPI_TYPE_DUP_FN OMPI_C_MPI_TYPE_DUP_FN
00538
00539 #define MPI_COMM_NULL_DELETE_FN OMPI_C_MPI_COMM_NULL_DELETE_FN
00540 #define MPI_COMM_NULL_COPY_FN OMPI_C_MPI_COMM_NULL_COPY_FN
00541 #define MPI_COMM_DUP_FN OMPI_C_MPI_COMM_DUP_FN
00542
00543 #define MPI_WIN_NULL_DELETE_FN OMPI_C_MPI_WIN_NULL_DELETE_FN
00544 #define MPI_WIN_NULL_COPY_FN OMPI_C_MPI_WIN_NULL_COPY_FN
00545 #define MPI_WIN_DUP_FN OMPI_C_MPI_WIN_DUP_FN
00546
00547
00548
00549
00550
00551
00552
00553
00554 #define MPI_CONVERSION_FN_NULL ((MPI_Datarep_conversion_function*) 0)
00555 #endif
00556
00557 OMPI_DECLSPEC int OMPI_C_MPI_TYPE_NULL_DELETE_FN( MPI_Datatype datatype,
00558 int type_keyval,
00559 void* attribute_val_out,
00560 void* extra_state );
00561 OMPI_DECLSPEC int OMPI_C_MPI_TYPE_NULL_COPY_FN( MPI_Datatype datatype,
00562 int type_keyval,
00563 void* extra_state,
00564 void* attribute_val_in,
00565 void* attribute_val_out,
00566 int* flag );
00567 OMPI_DECLSPEC int OMPI_C_MPI_TYPE_DUP_FN( MPI_Datatype datatype,
00568 int type_keyval,
00569 void* extra_state,
00570 void* attribute_val_in,
00571 void* attribute_val_out,
00572 int* flag );
00573 OMPI_DECLSPEC int OMPI_C_MPI_COMM_NULL_DELETE_FN( MPI_Comm comm,
00574 int comm_keyval,
00575 void* attribute_val_out,
00576 void* extra_state );
00577 OMPI_DECLSPEC int OMPI_C_MPI_COMM_NULL_COPY_FN( MPI_Comm comm,
00578 int comm_keyval,
00579 void* extra_state,
00580 void* attribute_val_in,
00581 void* attribute_val_out,
00582 int* flag );
00583 OMPI_DECLSPEC int OMPI_C_MPI_COMM_DUP_FN( MPI_Comm comm, int comm_keyval,
00584 void* extra_state,
00585 void* attribute_val_in,
00586 void* attribute_val_out,
00587 int* flag );
00588 OMPI_DECLSPEC int OMPI_C_MPI_NULL_DELETE_FN( MPI_Comm comm, int comm_keyval,
00589 void* attribute_val_out,
00590 void* extra_state );
00591 OMPI_DECLSPEC int OMPI_C_MPI_NULL_COPY_FN( MPI_Comm comm, int comm_keyval,
00592 void* extra_state,
00593 void* attribute_val_in,
00594 void* attribute_val_out,
00595 int* flag );
00596 OMPI_DECLSPEC int OMPI_C_MPI_DUP_FN( MPI_Comm comm, int comm_keyval,
00597 void* extra_state,
00598 void* attribute_val_in,
00599 void* attribute_val_out,
00600 int* flag );
00601 OMPI_DECLSPEC int OMPI_C_MPI_WIN_NULL_DELETE_FN( MPI_Win window,
00602 int win_keyval,
00603 void* attribute_val_out,
00604 void* extra_state );
00605 OMPI_DECLSPEC int OMPI_C_MPI_WIN_NULL_COPY_FN( MPI_Win window, int win_keyval,
00606 void* extra_state,
00607 void* attribute_val_in,
00608 void* attribute_val_out,
00609 int* flag );
00610 OMPI_DECLSPEC int OMPI_C_MPI_WIN_DUP_FN( MPI_Win window, int win_keyval,
00611 void* extra_state,
00612 void* attribute_val_in,
00613 void* attribute_val_out,
00614 int* flag );
00615
00616
00617
00618
00619
00620
00621
00622
00623
00624 OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_world;
00625 OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_self;
00626 OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_null;
00627
00628 OMPI_DECLSPEC extern struct ompi_predefined_group_t ompi_mpi_group_empty;
00629 OMPI_DECLSPEC extern struct ompi_predefined_group_t ompi_mpi_group_null;
00630
00631 OMPI_DECLSPEC extern struct ompi_predefined_request_t ompi_request_null;
00632
00633 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_null;
00634 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_max, ompi_mpi_op_min;
00635 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_sum;
00636 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_prod;
00637 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_land;
00638 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_band;
00639 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lor, ompi_mpi_op_bor;
00640 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lxor;
00641 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_bxor;
00642 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_maxloc;
00643 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_minloc;
00644 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_replace;
00645
00646 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_char, ompi_mpi_byte;
00647 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int, ompi_mpi_logic;
00648 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_short, ompi_mpi_long;
00649 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_float, ompi_mpi_double;
00650 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_double;
00651 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cplex, ompi_mpi_packed;
00652 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_signed_char;
00653 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_char;
00654 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_short;
00655 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned, ompi_mpi_datatype_null;
00656 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_long, ompi_mpi_ldblcplex;
00657 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ub, ompi_mpi_lb;
00658 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_float_int, ompi_mpi_double_int;
00659 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_int, ompi_mpi_2int;
00660 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_short_int, ompi_mpi_dblcplex;
00661 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer, ompi_mpi_real;
00662 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_dblprec, ompi_mpi_character;
00663 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2real, ompi_mpi_2dblprec;
00664 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2integer, ompi_mpi_longdbl_int;
00665 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_wchar, ompi_mpi_long_long_int;
00666 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_long_long;
00667 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_cplex, ompi_mpi_cxx_dblcplex;
00668 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_ldblcplex;
00669 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_bool;
00670 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2cplex, ompi_mpi_2dblcplex;
00671
00672 #if OMPI_HAVE_FORTRAN_LOGICAL1
00673 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical1;
00674 #endif
00675 #if OMPI_HAVE_FORTRAN_LOGICAL2
00676 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical2;
00677 #endif
00678 #if OMPI_HAVE_FORTRAN_LOGICAL4
00679 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical4;
00680 #endif
00681 #if OMPI_HAVE_FORTRAN_LOGICAL8
00682 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical8;
00683 #endif
00684 #if OMPI_HAVE_FORTRAN_INTEGER1
00685 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer1;
00686 #endif
00687 #if OMPI_HAVE_FORTRAN_INTEGER2
00688 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer2;
00689 #endif
00690 #if OMPI_HAVE_FORTRAN_INTEGER4
00691 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer4;
00692 #endif
00693 #if OMPI_HAVE_FORTRAN_INTEGER8
00694 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer8;
00695 #endif
00696 #if OMPI_HAVE_FORTRAN_INTEGER16
00697 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer16;
00698 #endif
00699 #if OMPI_HAVE_FORTRAN_REAL2
00700 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real2;
00701 #endif
00702 #if OMPI_HAVE_FORTRAN_REAL4
00703 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real4;
00704 #endif
00705 #if OMPI_HAVE_FORTRAN_REAL8
00706 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real8;
00707 #endif
00708 #if OMPI_HAVE_FORTRAN_REAL16
00709 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real16;
00710 #endif
00711 #if OMPI_HAVE_FORTRAN_REAL4
00712 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex8;
00713 #endif
00714 #if OMPI_HAVE_FORTRAN_REAL8
00715 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex16;
00716 #endif
00717 #if OMPI_HAVE_FORTRAN_REAL16
00718 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex32;
00719 #endif
00720
00721 OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errhandler_null;
00722 OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errors_are_fatal;
00723 OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errors_return;
00724
00725 OMPI_DECLSPEC extern struct ompi_predefined_win_t ompi_mpi_win_null;
00726 OMPI_DECLSPEC extern struct ompi_predefined_file_t ompi_mpi_file_null;
00727
00728 OMPI_DECLSPEC extern struct ompi_predefined_info_t ompi_mpi_info_null;
00729
00730 OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUS_IGNORE;
00731 OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUSES_IGNORE;
00732
00733
00734
00735
00736 #define MPI_COMM_WORLD OMPI_PREDEFINED_GLOBAL( MPI_Comm, ompi_mpi_comm_world)
00737 #define MPI_COMM_SELF OMPI_PREDEFINED_GLOBAL(MPI_Comm, ompi_mpi_comm_self)
00738
00739 #define MPI_GROUP_EMPTY OMPI_PREDEFINED_GLOBAL(MPI_Group, ompi_mpi_group_empty)
00740
00741 #define MPI_MAX OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_max)
00742 #define MPI_MIN OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_min)
00743 #define MPI_SUM OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_sum)
00744 #define MPI_PROD OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_prod)
00745 #define MPI_LAND OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_land)
00746 #define MPI_BAND OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_band)
00747 #define MPI_LOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_lor)
00748 #define MPI_BOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_bor)
00749 #define MPI_LXOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_lxor)
00750 #define MPI_BXOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_bxor)
00751 #define MPI_MAXLOC OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_maxloc)
00752 #define MPI_MINLOC OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_minloc)
00753 #define MPI_REPLACE OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_replace)
00754
00755
00756 #define MPI_DATATYPE_NULL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_datatype_null)
00757 #define MPI_BYTE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_byte)
00758 #define MPI_PACKED OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_packed)
00759 #define MPI_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_char)
00760 #define MPI_SHORT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_short)
00761 #define MPI_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int)
00762 #define MPI_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long)
00763 #define MPI_FLOAT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_float)
00764 #define MPI_DOUBLE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_double)
00765 #define MPI_LONG_DOUBLE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_double)
00766 #define MPI_UNSIGNED_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_char)
00767 #define MPI_SIGNED_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_signed_char)
00768 #define MPI_UNSIGNED_SHORT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_short)
00769 #define MPI_UNSIGNED_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_long)
00770 #define MPI_UNSIGNED OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned)
00771 #define MPI_FLOAT_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_float_int)
00772 #define MPI_DOUBLE_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_double_int)
00773 #define MPI_LONG_DOUBLE_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_longdbl_int)
00774 #define MPI_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_int)
00775 #define MPI_SHORT_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_short_int)
00776 #define MPI_2INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2int)
00777 #define MPI_UB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_ub)
00778 #define MPI_LB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_lb)
00779 #define MPI_WCHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_wchar)
00780 #if OMPI_HAVE_LONG_LONG
00781 #define MPI_LONG_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_long_int)
00782 #define MPI_LONG_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_long_int)
00783 #define MPI_UNSIGNED_LONG_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_long_long)
00784 #endif
00785 #define MPI_2COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2cplex)
00786 #define MPI_2DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2dblcplex)
00787
00788
00789 #define MPI_CHARACTER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_character)
00790 #define MPI_LOGICAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logic)
00791 #if OMPI_HAVE_FORTRAN_LOGICAL1
00792 #define MPI_LOGICAL1 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical1)
00793 #endif
00794 #if OMPI_HAVE_FORTRAN_LOGICAL2
00795 #define MPI_LOGICAL2 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical2)
00796 #endif
00797 #if OMPI_HAVE_FORTRAN_LOGICAL4
00798 #define MPI_LOGICAL4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical4)
00799 #endif
00800 #if OMPI_HAVE_FORTRAN_LOGICAL8
00801 #define MPI_LOGICAL8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical8)
00802 #endif
00803 #define MPI_INTEGER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer)
00804 #if OMPI_HAVE_FORTRAN_INTEGER1
00805 #define MPI_INTEGER1 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer1)
00806 #endif
00807 #if OMPI_HAVE_FORTRAN_INTEGER2
00808 #define MPI_INTEGER2 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer2)
00809 #endif
00810 #if OMPI_HAVE_FORTRAN_INTEGER4
00811 #define MPI_INTEGER4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer4)
00812 #endif
00813 #if OMPI_HAVE_FORTRAN_INTEGER8
00814 #define MPI_INTEGER8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer8)
00815 #endif
00816 #if OMPI_HAVE_FORTRAN_INTEGER16
00817 #define MPI_INTEGER16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer16)
00818 #endif
00819 #define MPI_REAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real)
00820 #if OMPI_HAVE_FORTRAN_REAL4
00821 #define MPI_REAL4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real4)
00822 #endif
00823 #if OMPI_HAVE_FORTRAN_REAL8
00824 #define MPI_REAL8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real8)
00825 #endif
00826 #if OMPI_HAVE_FORTRAN_REAL16
00827 #define MPI_REAL16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real16)
00828 #endif
00829 #define MPI_DOUBLE_PRECISION OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_dblprec)
00830 #define MPI_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cplex)
00831 #if OMPI_HAVE_FORTRAN_REAL4
00832 #define MPI_COMPLEX8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex8)
00833 #endif
00834 #if OMPI_HAVE_FORTRAN_REAL8
00835 #define MPI_COMPLEX16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex16)
00836 #endif
00837 #if OMPI_HAVE_FORTRAN_REAL16
00838 #define MPI_COMPLEX32 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex32)
00839 #endif
00840 #define MPI_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_dblcplex)
00841 #define MPI_2REAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2real)
00842 #define MPI_2DOUBLE_PRECISION OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2dblprec)
00843 #define MPI_2INTEGER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2integer)
00844
00845 #define MPI_ERRORS_ARE_FATAL OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errors_are_fatal)
00846 #define MPI_ERRORS_RETURN OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errors_return)
00847
00848
00849 #define MPI_TYPECLASS_INTEGER 1
00850 #define MPI_TYPECLASS_REAL 2
00851 #define MPI_TYPECLASS_COMPLEX 3
00852
00853
00854
00855
00856
00857
00858 OMPI_DECLSPEC int MPI_Abort(MPI_Comm comm, int errorcode);
00859 OMPI_DECLSPEC int MPI_Accumulate(void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
00860 int target_rank, MPI_Aint target_disp, int target_count,
00861 MPI_Datatype target_datatype, MPI_Op op, MPI_Win win);
00862 OMPI_DECLSPEC int MPI_Add_error_class(int *errorclass);
00863 OMPI_DECLSPEC int MPI_Add_error_code(int errorclass, int *errorcode);
00864 OMPI_DECLSPEC int MPI_Add_error_string(int errorcode, char *string);
00865 OMPI_DECLSPEC int MPI_Address(void *location, MPI_Aint *address);
00866 OMPI_DECLSPEC int MPI_Allgather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
00867 void *recvbuf, int recvcount,
00868 MPI_Datatype recvtype, MPI_Comm comm);
00869 OMPI_DECLSPEC int MPI_Allgatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
00870 void *recvbuf, int *recvcounts,
00871 int *displs, MPI_Datatype recvtype, MPI_Comm comm);
00872 OMPI_DECLSPEC int MPI_Alloc_mem(MPI_Aint size, MPI_Info info,
00873 void *baseptr);
00874 OMPI_DECLSPEC int MPI_Allreduce(void *sendbuf, void *recvbuf, int count,
00875 MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
00876 OMPI_DECLSPEC int MPI_Alltoall(void *sendbuf, int sendcount, MPI_Datatype sendtype,
00877 void *recvbuf, int recvcount,
00878 MPI_Datatype recvtype, MPI_Comm comm);
00879 OMPI_DECLSPEC int MPI_Alltoallv(void *sendbuf, int *sendcounts, int *sdispls,
00880 MPI_Datatype sendtype, void *recvbuf, int *recvcounts,
00881 int *rdispls, MPI_Datatype recvtype, MPI_Comm comm);
00882 OMPI_DECLSPEC int MPI_Alltoallw(void *sendbuf, int *sendcounts, int *sdispls, MPI_Datatype *sendtypes,
00883 void *recvbuf, int *recvcounts, int *rdispls, MPI_Datatype *recvtypes,
00884 MPI_Comm comm);
00885 OMPI_DECLSPEC int MPI_Attr_delete(MPI_Comm comm, int keyval);
00886 OMPI_DECLSPEC int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag);
00887 OMPI_DECLSPEC int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val);
00888 OMPI_DECLSPEC int MPI_Barrier(MPI_Comm comm);
00889 OMPI_DECLSPEC int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype,
00890 int root, MPI_Comm comm);
00891 OMPI_DECLSPEC int MPI_Bsend(void *buf, int count, MPI_Datatype datatype,
00892 int dest, int tag, MPI_Comm comm);
00893 OMPI_DECLSPEC int MPI_Bsend_init(void *buf, int count, MPI_Datatype datatype,
00894 int dest, int tag, MPI_Comm comm, MPI_Request *request);
00895 OMPI_DECLSPEC int MPI_Buffer_attach(void *buffer, int size);
00896 OMPI_DECLSPEC int MPI_Buffer_detach(void *buffer, int *size);
00897 OMPI_DECLSPEC int MPI_Cancel(MPI_Request *request);
00898 OMPI_DECLSPEC int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int *coords);
00899 OMPI_DECLSPEC int MPI_Cart_create(MPI_Comm old_comm, int ndims, int *dims,
00900 int *periods, int reorder, MPI_Comm *comm_cart);
00901 OMPI_DECLSPEC int MPI_Cart_get(MPI_Comm comm, int maxdims, int *dims,
00902 int *periods, int *coords);
00903 OMPI_DECLSPEC int MPI_Cart_map(MPI_Comm comm, int ndims, int *dims,
00904 int *periods, int *newrank);
00905 OMPI_DECLSPEC int MPI_Cart_rank(MPI_Comm comm, int *coords, int *rank);
00906 OMPI_DECLSPEC int MPI_Cart_shift(MPI_Comm comm, int direction, int disp,
00907 int *rank_source, int *rank_dest);
00908 OMPI_DECLSPEC int MPI_Cart_sub(MPI_Comm comm, int *remain_dims, MPI_Comm *new_comm);
00909 OMPI_DECLSPEC int MPI_Cartdim_get(MPI_Comm comm, int *ndims);
00910 OMPI_DECLSPEC int MPI_Close_port(char *port_name);
00911 OMPI_DECLSPEC int MPI_Comm_accept(char *port_name, MPI_Info info, int root,
00912 MPI_Comm comm, MPI_Comm *newcomm);
00913 OMPI_DECLSPEC MPI_Fint MPI_Comm_c2f(MPI_Comm comm);
00914 OMPI_DECLSPEC int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode);
00915 OMPI_DECLSPEC int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result);
00916 OMPI_DECLSPEC int MPI_Comm_connect(char *port_name, MPI_Info info, int root,
00917 MPI_Comm comm, MPI_Comm *newcomm);
00918 OMPI_DECLSPEC int MPI_Comm_create_errhandler(MPI_Comm_errhandler_fn *function,
00919 MPI_Errhandler *errhandler);
00920 OMPI_DECLSPEC int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn,
00921 MPI_Comm_delete_attr_function *comm_delete_attr_fn,
00922 int *comm_keyval, void *extra_state);
00923 OMPI_DECLSPEC int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm);
00924 OMPI_DECLSPEC int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval);
00925 OMPI_DECLSPEC int MPI_Comm_disconnect(MPI_Comm *comm);
00926 OMPI_DECLSPEC int MPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm);
00927 OMPI_DECLSPEC MPI_Comm MPI_Comm_f2c(MPI_Fint comm);
00928 OMPI_DECLSPEC int MPI_Comm_free_keyval(int *comm_keyval);
00929 OMPI_DECLSPEC int MPI_Comm_free(MPI_Comm *comm);
00930 OMPI_DECLSPEC int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval,
00931 void *attribute_val, int *flag);
00932 OMPI_DECLSPEC int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *erhandler);
00933 OMPI_DECLSPEC int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen);
00934 OMPI_DECLSPEC int MPI_Comm_get_parent(MPI_Comm *parent);
00935 OMPI_DECLSPEC int MPI_Comm_group(MPI_Comm comm, MPI_Group *group);
00936 OMPI_DECLSPEC int MPI_Comm_join(int fd, MPI_Comm *intercomm);
00937 OMPI_DECLSPEC int MPI_Comm_rank(MPI_Comm comm, int *rank);
00938 OMPI_DECLSPEC int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group);
00939 OMPI_DECLSPEC int MPI_Comm_remote_size(MPI_Comm comm, int *size);
00940 OMPI_DECLSPEC int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val);
00941 OMPI_DECLSPEC int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler);
00942 OMPI_DECLSPEC int MPI_Comm_set_name(MPI_Comm comm, char *comm_name);
00943 OMPI_DECLSPEC int MPI_Comm_size(MPI_Comm comm, int *size);
00944 OMPI_DECLSPEC int MPI_Comm_spawn(char *command, char **argv, int maxprocs, MPI_Info info,
00945 int root, MPI_Comm comm, MPI_Comm *intercomm,
00946 int *array_of_errcodes);
00947 OMPI_DECLSPEC int MPI_Comm_spawn_multiple(int count, char **array_of_commands, char ***array_of_argv,
00948 int *array_of_maxprocs, MPI_Info *array_of_info,
00949 int root, MPI_Comm comm, MPI_Comm *intercomm,
00950 int *array_of_errcodes);
00951 OMPI_DECLSPEC int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm);
00952 OMPI_DECLSPEC int MPI_Comm_test_inter(MPI_Comm comm, int *flag);
00953 OMPI_DECLSPEC int MPI_Dims_create(int nnodes, int ndims, int *dims);
00954 OMPI_DECLSPEC MPI_Fint MPI_Errhandler_c2f(MPI_Errhandler errhandler);
00955 OMPI_DECLSPEC int MPI_Errhandler_create(MPI_Handler_function *function,
00956 MPI_Errhandler *errhandler);
00957 OMPI_DECLSPEC MPI_Errhandler MPI_Errhandler_f2c(MPI_Fint errhandler);
00958 OMPI_DECLSPEC int MPI_Errhandler_free(MPI_Errhandler *errhandler);
00959 OMPI_DECLSPEC int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler);
00960 OMPI_DECLSPEC int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler);
00961 OMPI_DECLSPEC int MPI_Error_class(int errorcode, int *errorclass);
00962 OMPI_DECLSPEC int MPI_Error_string(int errorcode, char *string, int *resultlen);
00963 OMPI_DECLSPEC int MPI_Exscan(void *sendbuf, void *recvbuf, int count,
00964 MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
00965 #if OMPI_PROVIDE_MPI_FILE_INTERFACE
00966 OMPI_DECLSPEC MPI_Fint MPI_File_c2f(MPI_File file);
00967 OMPI_DECLSPEC MPI_File MPI_File_f2c(MPI_Fint file);
00968 OMPI_DECLSPEC int MPI_File_call_errhandler(MPI_File fh, int errorcode);
00969 OMPI_DECLSPEC int MPI_File_create_errhandler(MPI_File_errhandler_fn *function,
00970 MPI_Errhandler *errhandler);
00971 OMPI_DECLSPEC int MPI_File_set_errhandler( MPI_File file, MPI_Errhandler errhandler);
00972 OMPI_DECLSPEC int MPI_File_get_errhandler( MPI_File file, MPI_Errhandler *errhandler);
00973 OMPI_DECLSPEC int MPI_File_open(MPI_Comm comm, char *filename, int amode,
00974 MPI_Info info, MPI_File *fh);
00975 OMPI_DECLSPEC int MPI_File_close(MPI_File *fh);
00976 OMPI_DECLSPEC int MPI_File_delete(char *filename, MPI_Info info);
00977 OMPI_DECLSPEC int MPI_File_set_size(MPI_File fh, MPI_Offset size);
00978 OMPI_DECLSPEC int MPI_File_preallocate(MPI_File fh, MPI_Offset size);
00979 OMPI_DECLSPEC int MPI_File_get_size(MPI_File fh, MPI_Offset *size);
00980 OMPI_DECLSPEC int MPI_File_get_group(MPI_File fh, MPI_Group *group);
00981 OMPI_DECLSPEC int MPI_File_get_amode(MPI_File fh, int *amode);
00982 OMPI_DECLSPEC int MPI_File_set_info(MPI_File fh, MPI_Info info);
00983 OMPI_DECLSPEC int MPI_File_get_info(MPI_File fh, MPI_Info *info_used);
00984 OMPI_DECLSPEC int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
00985 MPI_Datatype filetype, char *datarep, MPI_Info info);
00986 OMPI_DECLSPEC int MPI_File_get_view(MPI_File fh, MPI_Offset *disp,
00987 MPI_Datatype *etype,
00988 MPI_Datatype *filetype, char *datarep);
00989 OMPI_DECLSPEC int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf,
00990 int count, MPI_Datatype datatype, MPI_Status *status);
00991 OMPI_DECLSPEC int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf,
00992 int count, MPI_Datatype datatype, MPI_Status *status);
00993 OMPI_DECLSPEC int MPI_File_write_at(MPI_File fh, MPI_Offset offset, void *buf,
00994 int count, MPI_Datatype datatype, MPI_Status *status);
00995 OMPI_DECLSPEC int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, void *buf,
00996 int count, MPI_Datatype datatype, MPI_Status *status);
00997 OMPI_DECLSPEC int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf,
00998 int count, MPI_Datatype datatype, MPI_Request *request);
00999 OMPI_DECLSPEC int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, void *buf,
01000 int count, MPI_Datatype datatype, MPI_Request *request);
01001 OMPI_DECLSPEC int MPI_File_read(MPI_File fh, void *buf, int count,
01002 MPI_Datatype datatype, MPI_Status *status);
01003 OMPI_DECLSPEC int MPI_File_read_all(MPI_File fh, void *buf, int count,
01004 MPI_Datatype datatype, MPI_Status *status);
01005 OMPI_DECLSPEC int MPI_File_write(MPI_File fh, void *buf, int count,
01006 MPI_Datatype datatype, MPI_Status *status);
01007 OMPI_DECLSPEC int MPI_File_write_all(MPI_File fh, void *buf, int count,
01008 MPI_Datatype datatype, MPI_Status *status);
01009 OMPI_DECLSPEC int MPI_File_iread(MPI_File fh, void *buf, int count,
01010 MPI_Datatype datatype, MPI_Request *request);
01011 OMPI_DECLSPEC int MPI_File_iwrite(MPI_File fh, void *buf, int count,
01012 MPI_Datatype datatype, MPI_Request *request);
01013 OMPI_DECLSPEC int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence);
01014 OMPI_DECLSPEC int MPI_File_get_position(MPI_File fh, MPI_Offset *offset);
01015 OMPI_DECLSPEC int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset,
01016 MPI_Offset *disp);
01017 OMPI_DECLSPEC int MPI_File_read_shared(MPI_File fh, void *buf, int count,
01018 MPI_Datatype datatype, MPI_Status *status);
01019 OMPI_DECLSPEC int MPI_File_write_shared(MPI_File fh, void *buf, int count,
01020 MPI_Datatype datatype, MPI_Status *status);
01021 OMPI_DECLSPEC int MPI_File_iread_shared(MPI_File fh, void *buf, int count,
01022 MPI_Datatype datatype, MPI_Request *request);
01023 OMPI_DECLSPEC int MPI_File_iwrite_shared(MPI_File fh, void *buf, int count,
01024 MPI_Datatype datatype, MPI_Request *request);
01025 OMPI_DECLSPEC int MPI_File_read_ordered(MPI_File fh, void *buf, int count,
01026 MPI_Datatype datatype, MPI_Status *status);
01027 OMPI_DECLSPEC int MPI_File_write_ordered(MPI_File fh, void *buf, int count,
01028 MPI_Datatype datatype, MPI_Status *status);
01029 OMPI_DECLSPEC int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence);
01030 OMPI_DECLSPEC int MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset);
01031 OMPI_DECLSPEC int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf,
01032 int count, MPI_Datatype datatype);
01033 OMPI_DECLSPEC int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status);
01034 OMPI_DECLSPEC int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf,
01035 int count, MPI_Datatype datatype);
01036 OMPI_DECLSPEC int MPI_File_write_at_all_end(MPI_File fh, void *buf, MPI_Status *status);
01037 OMPI_DECLSPEC int MPI_File_read_all_begin(MPI_File fh, void *buf, int count,
01038 MPI_Datatype datatype);
01039 OMPI_DECLSPEC int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status);
01040 OMPI_DECLSPEC int MPI_File_write_all_begin(MPI_File fh, void *buf, int count,
01041 MPI_Datatype datatype);
01042 OMPI_DECLSPEC int MPI_File_write_all_end(MPI_File fh, void *buf, MPI_Status *status);
01043 OMPI_DECLSPEC int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count,
01044 MPI_Datatype datatype);
01045 OMPI_DECLSPEC int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status);
01046 OMPI_DECLSPEC int MPI_File_write_ordered_begin(MPI_File fh, void *buf, int count,
01047 MPI_Datatype datatype);
01048 OMPI_DECLSPEC int MPI_File_write_ordered_end(MPI_File fh, void *buf, MPI_Status *status);
01049 OMPI_DECLSPEC int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype,
01050 MPI_Aint *extent);
01051 OMPI_DECLSPEC int MPI_File_set_atomicity(MPI_File fh, int flag);
01052 OMPI_DECLSPEC int MPI_File_get_atomicity(MPI_File fh, int *flag);
01053 OMPI_DECLSPEC int MPI_File_sync(MPI_File fh);
01054 #endif
01055 OMPI_DECLSPEC int MPI_Finalize(void);
01056 OMPI_DECLSPEC int MPI_Finalized(int *flag);
01057 OMPI_DECLSPEC int MPI_Free_mem(void *base);
01058 OMPI_DECLSPEC int MPI_Gather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
01059 void *recvbuf, int recvcount, MPI_Datatype recvtype,
01060 int root, MPI_Comm comm);
01061 OMPI_DECLSPEC int MPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
01062 void *recvbuf, int *recvcounts, int *displs,
01063 MPI_Datatype recvtype, int root, MPI_Comm comm);
01064 OMPI_DECLSPEC int MPI_Get_address(void *location, MPI_Aint *address);
01065 OMPI_DECLSPEC int MPI_Get_count(MPI_Status *status, MPI_Datatype datatype, int *count);
01066 OMPI_DECLSPEC int MPI_Get_elements(MPI_Status *status, MPI_Datatype datatype, int *count);
01067 OMPI_DECLSPEC int MPI_Get(void *origin_addr, int origin_count,
01068 MPI_Datatype origin_datatype, int target_rank,
01069 MPI_Aint target_disp, int target_count,
01070 MPI_Datatype target_datatype, MPI_Win win);
01071 OMPI_DECLSPEC int MPI_Get_processor_name(char *name, int *resultlen);
01072 OMPI_DECLSPEC int MPI_Get_version(int *version, int *subversion);
01073 OMPI_DECLSPEC int MPI_Graph_create(MPI_Comm comm_old, int nnodes, int *index,
01074 int *edges, int reorder, MPI_Comm *comm_graph);
01075 OMPI_DECLSPEC int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges,
01076 int *index, int *edges);
01077 OMPI_DECLSPEC int MPI_Graph_map(MPI_Comm comm, int nnodes, int *index, int *edges,
01078 int *newrank);
01079 OMPI_DECLSPEC int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors);
01080 OMPI_DECLSPEC int MPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors,
01081 int *neighbors);
01082 OMPI_DECLSPEC int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges);
01083 OMPI_DECLSPEC int MPI_Grequest_complete(MPI_Request request);
01084 OMPI_DECLSPEC int MPI_Grequest_start(MPI_Grequest_query_function *query_fn,
01085 MPI_Grequest_free_function *free_fn,
01086 MPI_Grequest_cancel_function *cancel_fn,
01087 void *extra_state, MPI_Request *request);
01088 OMPI_DECLSPEC MPI_Fint MPI_Group_c2f(MPI_Group group);
01089 OMPI_DECLSPEC int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result);
01090 OMPI_DECLSPEC int MPI_Group_difference(MPI_Group group1, MPI_Group group2,
01091 MPI_Group *newgroup);
01092 OMPI_DECLSPEC int MPI_Group_excl(MPI_Group group, int n, int *ranks,
01093 MPI_Group *newgroup);
01094 OMPI_DECLSPEC MPI_Group MPI_Group_f2c(MPI_Fint group);
01095 OMPI_DECLSPEC int MPI_Group_free(MPI_Group *group);
01096 OMPI_DECLSPEC int MPI_Group_incl(MPI_Group group, int n, int *ranks,
01097 MPI_Group *newgroup);
01098 OMPI_DECLSPEC int MPI_Group_intersection(MPI_Group group1, MPI_Group group2,
01099 MPI_Group *newgroup);
01100 OMPI_DECLSPEC int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3],
01101 MPI_Group *newgroup);
01102 OMPI_DECLSPEC int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3],
01103 MPI_Group *newgroup);
01104 OMPI_DECLSPEC int MPI_Group_rank(MPI_Group group, int *rank);
01105 OMPI_DECLSPEC int MPI_Group_size(MPI_Group group, int *size);
01106 OMPI_DECLSPEC int MPI_Group_translate_ranks(MPI_Group group1, int n, int *ranks1,
01107 MPI_Group group2, int *ranks2);
01108 OMPI_DECLSPEC int MPI_Group_union(MPI_Group group1, MPI_Group group2,
01109 MPI_Group *newgroup);
01110 OMPI_DECLSPEC int MPI_Ibsend(void *buf, int count, MPI_Datatype datatype, int dest,
01111 int tag, MPI_Comm comm, MPI_Request *request);
01112 OMPI_DECLSPEC MPI_Fint MPI_Info_c2f(MPI_Info info);
01113 OMPI_DECLSPEC int MPI_Info_create(MPI_Info *info);
01114 OMPI_DECLSPEC int MPI_Info_delete(MPI_Info info, char *key);
01115 OMPI_DECLSPEC int MPI_Info_dup(MPI_Info info, MPI_Info *newinfo);
01116 OMPI_DECLSPEC MPI_Info MPI_Info_f2c(MPI_Fint info);
01117 OMPI_DECLSPEC int MPI_Info_free(MPI_Info *info);
01118 OMPI_DECLSPEC int MPI_Info_get(MPI_Info info, char *key, int valuelen,
01119 char *value, int *flag);
01120 OMPI_DECLSPEC int MPI_Info_get_nkeys(MPI_Info info, int *nkeys);
01121 OMPI_DECLSPEC int MPI_Info_get_nthkey(MPI_Info info, int n, char *key);
01122 OMPI_DECLSPEC int MPI_Info_get_valuelen(MPI_Info info, char *key, int *valuelen,
01123 int *flag);
01124 OMPI_DECLSPEC int MPI_Info_set(MPI_Info info, char *key, char *value);
01125 OMPI_DECLSPEC int MPI_Init(int *argc, char ***argv);
01126 OMPI_DECLSPEC int MPI_Initialized(int *flag);
01127 OMPI_DECLSPEC int MPI_Init_thread(int *argc, char ***argv, int required,
01128 int *provided);
01129 OMPI_DECLSPEC int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader,
01130 MPI_Comm bridge_comm, int remote_leader,
01131 int tag, MPI_Comm *newintercomm);
01132 OMPI_DECLSPEC int MPI_Intercomm_merge(MPI_Comm intercomm, int high,
01133 MPI_Comm *newintercomm);
01134 OMPI_DECLSPEC int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag,
01135 MPI_Status *status);
01136 OMPI_DECLSPEC int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source,
01137 int tag, MPI_Comm comm, MPI_Request *request);
01138 OMPI_DECLSPEC int MPI_Irsend(void *buf, int count, MPI_Datatype datatype, int dest,
01139 int tag, MPI_Comm comm, MPI_Request *request);
01140 OMPI_DECLSPEC int MPI_Isend(void *buf, int count, MPI_Datatype datatype, int dest,
01141 int tag, MPI_Comm comm, MPI_Request *request);
01142 OMPI_DECLSPEC int MPI_Issend(void *buf, int count, MPI_Datatype datatype, int dest,
01143 int tag, MPI_Comm comm, MPI_Request *request);
01144 OMPI_DECLSPEC int MPI_Is_thread_main(int *flag);
01145 OMPI_DECLSPEC int MPI_Keyval_create(MPI_Copy_function *copy_fn,
01146 MPI_Delete_function *delete_fn,
01147 int *keyval, void *extra_state);
01148 OMPI_DECLSPEC int MPI_Keyval_free(int *keyval);
01149 OMPI_DECLSPEC int MPI_Lookup_name(char *service_name, MPI_Info info, char *port_name);
01150 OMPI_DECLSPEC MPI_Fint MPI_Op_c2f(MPI_Op op);
01151 OMPI_DECLSPEC int MPI_Op_create(MPI_User_function *function, int commute, MPI_Op *op);
01152 OMPI_DECLSPEC int MPI_Open_port(MPI_Info info, char *port_name);
01153 OMPI_DECLSPEC MPI_Op MPI_Op_f2c(MPI_Fint op);
01154 OMPI_DECLSPEC int MPI_Op_free(MPI_Op *op);
01155 OMPI_DECLSPEC int MPI_Pack_external(char *datarep, void *inbuf, int incount,
01156 MPI_Datatype datatype, void *outbuf,
01157 MPI_Aint outsize, MPI_Aint *position);
01158 OMPI_DECLSPEC int MPI_Pack_external_size(char *datarep, int incount,
01159 MPI_Datatype datatype, MPI_Aint *size);
01160 OMPI_DECLSPEC int MPI_Pack(void *inbuf, int incount, MPI_Datatype datatype,
01161 void *outbuf, int outsize, int *position, MPI_Comm comm);
01162 OMPI_DECLSPEC int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm,
01163 int *size);
01164 OMPI_DECLSPEC int MPI_Pcontrol(const int level, ...);
01165 OMPI_DECLSPEC int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status);
01166 OMPI_DECLSPEC int MPI_Publish_name(char *service_name, MPI_Info info,
01167 char *port_name);
01168 OMPI_DECLSPEC int MPI_Put(void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
01169 int target_rank, MPI_Aint target_disp, int target_count,
01170 MPI_Datatype target_datatype, MPI_Win win);
01171 OMPI_DECLSPEC int MPI_Query_thread(int *provided);
01172 OMPI_DECLSPEC int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source,
01173 int tag, MPI_Comm comm, MPI_Request *request);
01174 OMPI_DECLSPEC int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source,
01175 int tag, MPI_Comm comm, MPI_Status *status);
01176 OMPI_DECLSPEC int MPI_Reduce(void *sendbuf, void *recvbuf, int count,
01177 MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm);
01178 OMPI_DECLSPEC int MPI_Reduce_scatter(void *sendbuf, void *recvbuf, int *recvcounts,
01179 MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
01180 OMPI_DECLSPEC int MPI_Register_datarep(char *datarep,
01181 MPI_Datarep_conversion_function *read_conversion_fn,
01182 MPI_Datarep_conversion_function *write_conversion_fn,
01183 MPI_Datarep_extent_function *dtype_file_extent_fn,
01184 void *extra_state);
01185 OMPI_DECLSPEC MPI_Fint MPI_Request_c2f(MPI_Request request);
01186 OMPI_DECLSPEC MPI_Request MPI_Request_f2c(MPI_Fint request);
01187 OMPI_DECLSPEC int MPI_Request_free(MPI_Request *request);
01188 OMPI_DECLSPEC int MPI_Request_get_status(MPI_Request request, int *flag,
01189 MPI_Status *status);
01190 OMPI_DECLSPEC int MPI_Rsend(void *ibuf, int count, MPI_Datatype datatype, int dest,
01191 int tag, MPI_Comm comm);
01192 OMPI_DECLSPEC int MPI_Rsend_init(void *buf, int count, MPI_Datatype datatype,
01193 int dest, int tag, MPI_Comm comm,
01194 MPI_Request *request);
01195 OMPI_DECLSPEC int MPI_Scan(void *sendbuf, void *recvbuf, int count,
01196 MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
01197 OMPI_DECLSPEC int MPI_Scatter(void *sendbuf, int sendcount, MPI_Datatype sendtype,
01198 void *recvbuf, int recvcount, MPI_Datatype recvtype,
01199 int root, MPI_Comm comm);
01200 OMPI_DECLSPEC int MPI_Scatterv(void *sendbuf, int *sendcounts, int *displs,
01201 MPI_Datatype sendtype, void *recvbuf, int recvcount,
01202 MPI_Datatype recvtype, int root, MPI_Comm comm);
01203 OMPI_DECLSPEC int MPI_Send_init(void *buf, int count, MPI_Datatype datatype,
01204 int dest, int tag, MPI_Comm comm,
01205 MPI_Request *request);
01206 OMPI_DECLSPEC int MPI_Send(void *buf, int count, MPI_Datatype datatype, int dest,
01207 int tag, MPI_Comm comm);
01208 OMPI_DECLSPEC int MPI_Sendrecv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
01209 int dest, int sendtag, void *recvbuf, int recvcount,
01210 MPI_Datatype recvtype, int source, int recvtag,
01211 MPI_Comm comm, MPI_Status *status);
01212 OMPI_DECLSPEC int MPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype,
01213 int dest, int sendtag, int source, int recvtag,
01214 MPI_Comm comm, MPI_Status *status);
01215 OMPI_DECLSPEC int MPI_Ssend_init(void *buf, int count, MPI_Datatype datatype,
01216 int dest, int tag, MPI_Comm comm,
01217 MPI_Request *request);
01218 OMPI_DECLSPEC int MPI_Ssend(void *buf, int count, MPI_Datatype datatype, int dest,
01219 int tag, MPI_Comm comm);
01220 OMPI_DECLSPEC int MPI_Start(MPI_Request *request);
01221 OMPI_DECLSPEC int MPI_Startall(int count, MPI_Request *array_of_requests);
01222 OMPI_DECLSPEC int MPI_Status_c2f(MPI_Status *c_status, MPI_Fint *f_status);
01223 OMPI_DECLSPEC int MPI_Status_f2c(MPI_Fint *f_status, MPI_Status *c_status);
01224 OMPI_DECLSPEC int MPI_Status_set_cancelled(MPI_Status *status, int flag);
01225 OMPI_DECLSPEC int MPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype,
01226 int count);
01227 OMPI_DECLSPEC int MPI_Testall(int count, MPI_Request array_of_requests[], int *flag,
01228 MPI_Status array_of_statuses[]);
01229 OMPI_DECLSPEC int MPI_Testany(int count, MPI_Request array_of_requests[], int *index,
01230 int *flag, MPI_Status *status);
01231 OMPI_DECLSPEC int MPI_Test(MPI_Request *request, int *flag, MPI_Status *status);
01232 OMPI_DECLSPEC int MPI_Test_cancelled(MPI_Status *status, int *flag);
01233 OMPI_DECLSPEC int MPI_Testsome(int incount, MPI_Request array_of_requests[],
01234 int *outcount, int array_of_indices[],
01235 MPI_Status array_of_statuses[]);
01236 OMPI_DECLSPEC int MPI_Topo_test(MPI_Comm comm, int *status);
01237 OMPI_DECLSPEC MPI_Fint MPI_Type_c2f(MPI_Datatype datatype);
01238 OMPI_DECLSPEC int MPI_Type_commit(MPI_Datatype *type);
01239 OMPI_DECLSPEC int MPI_Type_contiguous(int count, MPI_Datatype oldtype,
01240 MPI_Datatype *newtype);
01241 OMPI_DECLSPEC int MPI_Type_create_darray(int size, int rank, int ndims,
01242 int gsize_array[], int distrib_array[],
01243 int darg_array[], int psize_array[],
01244 int order, MPI_Datatype oldtype,
01245 MPI_Datatype *newtype);
01246 OMPI_DECLSPEC int MPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype);
01247 OMPI_DECLSPEC int MPI_Type_create_f90_integer(int r, MPI_Datatype *newtype);
01248 OMPI_DECLSPEC int MPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype);
01249 OMPI_DECLSPEC int MPI_Type_create_hindexed(int count, int array_of_blocklengths[],
01250 MPI_Aint array_of_displacements[],
01251 MPI_Datatype oldtype,
01252 MPI_Datatype *newtype);
01253 OMPI_DECLSPEC int MPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride,
01254 MPI_Datatype oldtype,
01255 MPI_Datatype *newtype);
01256 OMPI_DECLSPEC int MPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn,
01257 MPI_Type_delete_attr_function *type_delete_attr_fn,
01258 int *type_keyval, void *extra_state);
01259 OMPI_DECLSPEC int MPI_Type_create_indexed_block(int count, int blocklength,
01260 int array_of_displacements[],
01261 MPI_Datatype oldtype,
01262 MPI_Datatype *newtype);
01263 OMPI_DECLSPEC int MPI_Type_create_struct(int count, int array_of_block_lengths[],
01264 MPI_Aint array_of_displacements[],
01265 MPI_Datatype array_of_types[],
01266 MPI_Datatype *newtype);
01267 OMPI_DECLSPEC int MPI_Type_create_subarray(int ndims, int size_array[], int subsize_array[],
01268 int start_array[], int order,
01269 MPI_Datatype oldtype, MPI_Datatype *newtype);
01270 OMPI_DECLSPEC int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb,
01271 MPI_Aint extent, MPI_Datatype *newtype);
01272 OMPI_DECLSPEC int MPI_Type_delete_attr(MPI_Datatype type, int type_keyval);
01273 OMPI_DECLSPEC int MPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype);
01274 OMPI_DECLSPEC int MPI_Type_extent(MPI_Datatype type, MPI_Aint *extent);
01275 OMPI_DECLSPEC int MPI_Type_free(MPI_Datatype *type);
01276 OMPI_DECLSPEC int MPI_Type_free_keyval(int *type_keyval);
01277 OMPI_DECLSPEC MPI_Datatype MPI_Type_f2c(MPI_Fint datatype);
01278 OMPI_DECLSPEC int MPI_Type_get_attr(MPI_Datatype type, int type_keyval,
01279 void *attribute_val, int *flag);
01280 OMPI_DECLSPEC int MPI_Type_get_contents(MPI_Datatype mtype, int max_integers,
01281 int max_addresses, int max_datatypes,
01282 int array_of_integers[],
01283 MPI_Aint array_of_addresses[],
01284 MPI_Datatype array_of_datatypes[]);
01285 OMPI_DECLSPEC int MPI_Type_get_envelope(MPI_Datatype type, int *num_integers,
01286 int *num_addresses, int *num_datatypes,
01287 int *combiner);
01288 OMPI_DECLSPEC int MPI_Type_get_extent(MPI_Datatype type, MPI_Aint *lb,
01289 MPI_Aint *extent);
01290 OMPI_DECLSPEC int MPI_Type_get_name(MPI_Datatype type, char *type_name,
01291 int *resultlen);
01292 OMPI_DECLSPEC int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb,
01293 MPI_Aint *true_extent);
01294 OMPI_DECLSPEC int MPI_Type_hindexed(int count, int array_of_blocklengths[],
01295 MPI_Aint array_of_displacements[],
01296 MPI_Datatype oldtype, MPI_Datatype *newtype);
01297 OMPI_DECLSPEC int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride,
01298 MPI_Datatype oldtype, MPI_Datatype *newtype);
01299 OMPI_DECLSPEC int MPI_Type_indexed(int count, int array_of_blocklengths[],
01300 int array_of_displacements[],
01301 MPI_Datatype oldtype, MPI_Datatype *newtype);
01302 OMPI_DECLSPEC int MPI_Type_lb(MPI_Datatype type, MPI_Aint *lb);
01303 OMPI_DECLSPEC int MPI_Type_match_size(int typeclass, int size, MPI_Datatype *type);
01304 OMPI_DECLSPEC int MPI_Type_set_attr(MPI_Datatype type, int type_keyval,
01305 void *attr_val);
01306 OMPI_DECLSPEC int MPI_Type_set_name(MPI_Datatype type, char *type_name);
01307 OMPI_DECLSPEC int MPI_Type_size(MPI_Datatype type, int *size);
01308 OMPI_DECLSPEC int MPI_Type_struct(int count, int array_of_blocklengths[],
01309 MPI_Aint array_of_displacements[],
01310 MPI_Datatype array_of_types[],
01311 MPI_Datatype *newtype);
01312 OMPI_DECLSPEC int MPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub);
01313 OMPI_DECLSPEC int MPI_Type_vector(int count, int blocklength, int stride,
01314 MPI_Datatype oldtype, MPI_Datatype *newtype);
01315 OMPI_DECLSPEC int MPI_Unpack(void *inbuf, int insize, int *position,
01316 void *outbuf, int outcount, MPI_Datatype datatype,
01317 MPI_Comm comm);
01318 OMPI_DECLSPEC int MPI_Unpublish_name(char *service_name, MPI_Info info, char *port_name);
01319 OMPI_DECLSPEC int MPI_Unpack_external (char *datarep, void *inbuf, MPI_Aint insize,
01320 MPI_Aint *position, void *outbuf, int outcount,
01321 MPI_Datatype datatype);
01322 OMPI_DECLSPEC int MPI_Waitall(int count, MPI_Request *array_of_requests,
01323 MPI_Status *array_of_statuses);
01324 OMPI_DECLSPEC int MPI_Waitany(int count, MPI_Request *array_of_requests,
01325 int *index, MPI_Status *status);
01326 OMPI_DECLSPEC int MPI_Wait(MPI_Request *request, MPI_Status *status);
01327 OMPI_DECLSPEC int MPI_Waitsome(int incount, MPI_Request *array_of_requests,
01328 int *outcount, int *array_of_indices,
01329 MPI_Status *array_of_statuses);
01330 OMPI_DECLSPEC MPI_Fint MPI_Win_c2f(MPI_Win win);
01331 OMPI_DECLSPEC int MPI_Win_call_errhandler(MPI_Win win, int errorcode);
01332 OMPI_DECLSPEC int MPI_Win_complete(MPI_Win win);
01333 OMPI_DECLSPEC int MPI_Win_create(void *base, MPI_Aint size, int disp_unit,
01334 MPI_Info info, MPI_Comm comm, MPI_Win *win);
01335 OMPI_DECLSPEC int MPI_Win_create_errhandler(MPI_Win_errhandler_fn *function,
01336 MPI_Errhandler *errhandler);
01337 OMPI_DECLSPEC int MPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn,
01338 MPI_Win_delete_attr_function *win_delete_attr_fn,
01339 int *win_keyval, void *extra_state);
01340 OMPI_DECLSPEC int MPI_Win_delete_attr(MPI_Win win, int win_keyval);
01341 OMPI_DECLSPEC MPI_Win MPI_Win_f2c(MPI_Fint win);
01342 OMPI_DECLSPEC int MPI_Win_fence(int assert, MPI_Win win);
01343 OMPI_DECLSPEC int MPI_Win_free(MPI_Win *win);
01344 OMPI_DECLSPEC int MPI_Win_free_keyval(int *win_keyval);
01345 OMPI_DECLSPEC int MPI_Win_get_attr(MPI_Win win, int win_keyval,
01346 void *attribute_val, int *flag);
01347 OMPI_DECLSPEC int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler);
01348 OMPI_DECLSPEC int MPI_Win_get_group(MPI_Win win, MPI_Group *group);
01349 OMPI_DECLSPEC int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen);
01350 OMPI_DECLSPEC int MPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win);
01351 OMPI_DECLSPEC int MPI_Win_post(MPI_Group group, int assert, MPI_Win win);
01352 OMPI_DECLSPEC int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val);
01353 OMPI_DECLSPEC int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler);
01354 OMPI_DECLSPEC int MPI_Win_set_name(MPI_Win win, char *win_name);
01355 OMPI_DECLSPEC int MPI_Win_start(MPI_Group group, int assert, MPI_Win win);
01356 OMPI_DECLSPEC int MPI_Win_test(MPI_Win win, int *flag);
01357 OMPI_DECLSPEC int MPI_Win_unlock(int rank, MPI_Win win);
01358 OMPI_DECLSPEC int MPI_Win_wait(MPI_Win win);
01359 OMPI_DECLSPEC double MPI_Wtick(void);
01360 OMPI_DECLSPEC double MPI_Wtime(void);
01361
01362
01363
01364
01365
01366 OMPI_DECLSPEC int PMPI_Abort(MPI_Comm comm, int errorcode);
01367 OMPI_DECLSPEC int PMPI_Accumulate(void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
01368 int target_rank, MPI_Aint target_disp, int target_count,
01369 MPI_Datatype target_datatype, MPI_Op op, MPI_Win win);
01370 OMPI_DECLSPEC int PMPI_Add_error_class(int *errorclass);
01371 OMPI_DECLSPEC int PMPI_Add_error_code(int errorclass, int *errorcode);
01372 OMPI_DECLSPEC int PMPI_Add_error_string(int errorcode, char *string);
01373 OMPI_DECLSPEC int PMPI_Address(void *location, MPI_Aint *address);
01374 OMPI_DECLSPEC int PMPI_Allgather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
01375 void *recvbuf, int recvcount,
01376 MPI_Datatype recvtype, MPI_Comm comm);
01377 OMPI_DECLSPEC int PMPI_Allgatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
01378 void *recvbuf, int *recvcounts,
01379 int *displs, MPI_Datatype recvtype, MPI_Comm comm);
01380 OMPI_DECLSPEC int PMPI_Alloc_mem(MPI_Aint size, MPI_Info info,
01381 void *baseptr);
01382 OMPI_DECLSPEC int PMPI_Allreduce(void *sendbuf, void *recvbuf, int count,
01383 MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
01384 OMPI_DECLSPEC int PMPI_Alltoall(void *sendbuf, int sendcount, MPI_Datatype sendtype,
01385 void *recvbuf, int recvcount,
01386 MPI_Datatype recvtype, MPI_Comm comm);
01387 OMPI_DECLSPEC int PMPI_Alltoallv(void *sendbuf, int *sendcounts, int *sdispls,
01388 MPI_Datatype sendtype, void *recvbuf, int *recvcounts,
01389 int *rdispls, MPI_Datatype recvtype, MPI_Comm comm);
01390 OMPI_DECLSPEC int PMPI_Alltoallw(void *sendbuf, int *sendcounts, int *sdispls, MPI_Datatype *sendtypes,
01391 void *recvbuf, int *recvcounts, int *rdispls, MPI_Datatype *recvtypes,
01392 MPI_Comm comm);
01393 OMPI_DECLSPEC int PMPI_Attr_delete(MPI_Comm comm, int keyval);
01394 OMPI_DECLSPEC int PMPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag);
01395 OMPI_DECLSPEC int PMPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val);
01396 OMPI_DECLSPEC int PMPI_Barrier(MPI_Comm comm);
01397 OMPI_DECLSPEC int PMPI_Bcast(void *buffer, int count, MPI_Datatype datatype,
01398 int root, MPI_Comm comm);
01399 OMPI_DECLSPEC int PMPI_Bsend(void *buf, int count, MPI_Datatype datatype,
01400 int dest, int tag, MPI_Comm comm);
01401 OMPI_DECLSPEC int PMPI_Bsend_init(void *buf, int count, MPI_Datatype datatype,
01402 int dest, int tag, MPI_Comm comm, MPI_Request *request);
01403 OMPI_DECLSPEC int PMPI_Buffer_attach(void *buffer, int size);
01404 OMPI_DECLSPEC int PMPI_Buffer_detach(void *buffer, int *size);
01405 OMPI_DECLSPEC int PMPI_Cancel(MPI_Request *request);
01406 OMPI_DECLSPEC int PMPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int *coords);
01407 OMPI_DECLSPEC int PMPI_Cart_create(MPI_Comm old_comm, int ndims, int *dims,
01408 int *periods, int reorder, MPI_Comm *comm_cart);
01409 OMPI_DECLSPEC int PMPI_Cart_get(MPI_Comm comm, int maxdims, int *dims,
01410 int *periods, int *coords);
01411 OMPI_DECLSPEC int PMPI_Cart_map(MPI_Comm comm, int ndims, int *dims,
01412 int *periods, int *newrank);
01413 OMPI_DECLSPEC int PMPI_Cart_rank(MPI_Comm comm, int *coords, int *rank);
01414 OMPI_DECLSPEC int PMPI_Cart_shift(MPI_Comm comm, int direction, int disp,
01415 int *rank_source, int *rank_dest);
01416 OMPI_DECLSPEC int PMPI_Cart_sub(MPI_Comm comm, int *remain_dims, MPI_Comm *new_comm);
01417 OMPI_DECLSPEC int PMPI_Cartdim_get(MPI_Comm comm, int *ndims);
01418 OMPI_DECLSPEC int PMPI_Close_port(char *port_name);
01419 OMPI_DECLSPEC int PMPI_Comm_accept(char *port_name, MPI_Info info, int root,
01420 MPI_Comm comm, MPI_Comm *newcomm);
01421 OMPI_DECLSPEC MPI_Fint PMPI_Comm_c2f(MPI_Comm comm);
01422 OMPI_DECLSPEC int PMPI_Comm_call_errhandler(MPI_Comm comm, int errorcode);
01423 OMPI_DECLSPEC int PMPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result);
01424 OMPI_DECLSPEC int PMPI_Comm_connect(char *port_name, MPI_Info info, int root,
01425 MPI_Comm comm, MPI_Comm *newcomm);
01426 OMPI_DECLSPEC int PMPI_Comm_create_errhandler(MPI_Comm_errhandler_fn *function,
01427 MPI_Errhandler *errhandler);
01428 OMPI_DECLSPEC int PMPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn,
01429 MPI_Comm_delete_attr_function *comm_delete_attr_fn,
01430 int *comm_keyval, void *extra_state);
01431 OMPI_DECLSPEC int PMPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm);
01432 OMPI_DECLSPEC int PMPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval);
01433 OMPI_DECLSPEC int PMPI_Comm_disconnect(MPI_Comm *comm);
01434 OMPI_DECLSPEC int PMPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm);
01435 OMPI_DECLSPEC MPI_Comm PMPI_Comm_f2c(MPI_Fint comm);
01436 OMPI_DECLSPEC int PMPI_Comm_free_keyval(int *comm_keyval);
01437 OMPI_DECLSPEC int PMPI_Comm_free(MPI_Comm *comm);
01438 OMPI_DECLSPEC int PMPI_Comm_get_attr(MPI_Comm comm, int comm_keyval,
01439 void *attribute_val, int *flag);
01440 OMPI_DECLSPEC int PMPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *erhandler);
01441 OMPI_DECLSPEC int PMPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen);
01442 OMPI_DECLSPEC int PMPI_Comm_get_parent(MPI_Comm *parent);
01443 OMPI_DECLSPEC int PMPI_Comm_group(MPI_Comm comm, MPI_Group *group);
01444 OMPI_DECLSPEC int PMPI_Comm_join(int fd, MPI_Comm *intercomm);
01445 OMPI_DECLSPEC int PMPI_Comm_rank(MPI_Comm comm, int *rank);
01446 OMPI_DECLSPEC int PMPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group);
01447 OMPI_DECLSPEC int PMPI_Comm_remote_size(MPI_Comm comm, int *size);
01448 OMPI_DECLSPEC int PMPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val);
01449 OMPI_DECLSPEC int PMPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler);
01450 OMPI_DECLSPEC int PMPI_Comm_set_name(MPI_Comm comm, char *comm_name);
01451 OMPI_DECLSPEC int PMPI_Comm_size(MPI_Comm comm, int *size);
01452 OMPI_DECLSPEC int PMPI_Comm_spawn(char *command, char **argv, int maxprocs, MPI_Info info,
01453 int root, MPI_Comm comm, MPI_Comm *intercomm,
01454 int *array_of_errcodes);
01455 OMPI_DECLSPEC int PMPI_Comm_spawn_multiple(int count, char **array_of_commands, char ***array_of_argv,
01456 int *array_of_maxprocs, MPI_Info *array_of_info,
01457 int root, MPI_Comm comm, MPI_Comm *intercomm,
01458 int *array_of_errcodes);
01459 OMPI_DECLSPEC int PMPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm);
01460 OMPI_DECLSPEC int PMPI_Comm_test_inter(MPI_Comm comm, int *flag);
01461 OMPI_DECLSPEC int PMPI_Dims_create(int nnodes, int ndims, int *dims);
01462 OMPI_DECLSPEC MPI_Fint PMPI_Errhandler_c2f(MPI_Errhandler errhandler);
01463 OMPI_DECLSPEC int PMPI_Errhandler_create(MPI_Handler_function *function,
01464 MPI_Errhandler *errhandler);
01465 OMPI_DECLSPEC MPI_Errhandler PMPI_Errhandler_f2c(MPI_Fint errhandler);
01466 OMPI_DECLSPEC int PMPI_Errhandler_free(MPI_Errhandler *errhandler);
01467 OMPI_DECLSPEC int PMPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler);
01468 OMPI_DECLSPEC int PMPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler);
01469 OMPI_DECLSPEC int PMPI_Error_class(int errorcode, int *errorclass);
01470 OMPI_DECLSPEC int PMPI_Error_string(int errorcode, char *string, int *resultlen);
01471 OMPI_DECLSPEC int PMPI_Exscan(void *sendbuf, void *recvbuf, int count,
01472 MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
01473 #if OMPI_PROVIDE_MPI_FILE_INTERFACE
01474 OMPI_DECLSPEC MPI_Fint PMPI_File_c2f(MPI_File file);
01475 OMPI_DECLSPEC MPI_File PMPI_File_f2c(MPI_Fint file);
01476 OMPI_DECLSPEC int PMPI_File_call_errhandler(MPI_File fh, int errorcode);
01477 OMPI_DECLSPEC int PMPI_File_create_errhandler(MPI_File_errhandler_fn *function,
01478 MPI_Errhandler *errhandler);
01479 OMPI_DECLSPEC int PMPI_File_set_errhandler( MPI_File file, MPI_Errhandler errhandler);
01480 OMPI_DECLSPEC int PMPI_File_get_errhandler( MPI_File file, MPI_Errhandler *errhandler);
01481 OMPI_DECLSPEC int PMPI_File_open(MPI_Comm comm, char *filename, int amode,
01482 MPI_Info info, MPI_File *fh);
01483 OMPI_DECLSPEC int PMPI_File_close(MPI_File *fh);
01484 OMPI_DECLSPEC int PMPI_File_delete(char *filename, MPI_Info info);
01485 OMPI_DECLSPEC int PMPI_File_set_size(MPI_File fh, MPI_Offset size);
01486 OMPI_DECLSPEC int PMPI_File_preallocate(MPI_File fh, MPI_Offset size);
01487 OMPI_DECLSPEC int PMPI_File_get_size(MPI_File fh, MPI_Offset *size);
01488 OMPI_DECLSPEC int PMPI_File_get_group(MPI_File fh, MPI_Group *group);
01489 OMPI_DECLSPEC int PMPI_File_get_amode(MPI_File fh, int *amode);
01490 OMPI_DECLSPEC int PMPI_File_set_info(MPI_File fh, MPI_Info info);
01491 OMPI_DECLSPEC int PMPI_File_get_info(MPI_File fh, MPI_Info *info_used);
01492 OMPI_DECLSPEC int PMPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
01493 MPI_Datatype filetype, char *datarep, MPI_Info info);
01494 OMPI_DECLSPEC int PMPI_File_get_view(MPI_File fh, MPI_Offset *disp,
01495 MPI_Datatype *etype,
01496 MPI_Datatype *filetype, char *datarep);
01497 OMPI_DECLSPEC int PMPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf,
01498 int count, MPI_Datatype datatype, MPI_Status *status);
01499 OMPI_DECLSPEC int PMPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf,
01500 int count, MPI_Datatype datatype, MPI_Status *status);
01501 OMPI_DECLSPEC int PMPI_File_write_at(MPI_File fh, MPI_Offset offset, void *buf,
01502 int count, MPI_Datatype datatype, MPI_Status *status);
01503 OMPI_DECLSPEC int PMPI_File_write_at_all(MPI_File fh, MPI_Offset offset, void *buf,
01504 int count, MPI_Datatype datatype, MPI_Status *status);
01505 OMPI_DECLSPEC int PMPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf,
01506 int count, MPI_Datatype datatype, MPI_Request *request);
01507 OMPI_DECLSPEC int PMPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, void *buf,
01508 int count, MPI_Datatype datatype, MPI_Request *request);
01509 OMPI_DECLSPEC int PMPI_File_read(MPI_File fh, void *buf, int count,
01510 MPI_Datatype datatype, MPI_Status *status);
01511 OMPI_DECLSPEC int PMPI_File_read_all(MPI_File fh, void *buf, int count,
01512 MPI_Datatype datatype, MPI_Status *status);
01513 OMPI_DECLSPEC int PMPI_File_write(MPI_File fh, void *buf, int count,
01514 MPI_Datatype datatype, MPI_Status *status);
01515 OMPI_DECLSPEC int PMPI_File_write_all(MPI_File fh, void *buf, int count,
01516 MPI_Datatype datatype, MPI_Status *status);
01517 OMPI_DECLSPEC int PMPI_File_iread(MPI_File fh, void *buf, int count,
01518 MPI_Datatype datatype, MPI_Request *request);
01519 OMPI_DECLSPEC int PMPI_File_iwrite(MPI_File fh, void *buf, int count,
01520 MPI_Datatype datatype, MPI_Request *request);
01521 OMPI_DECLSPEC int PMPI_File_seek(MPI_File fh, MPI_Offset offset, int whence);
01522 OMPI_DECLSPEC int PMPI_File_get_position(MPI_File fh, MPI_Offset *offset);
01523 OMPI_DECLSPEC int PMPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset,
01524 MPI_Offset *disp);
01525 OMPI_DECLSPEC int PMPI_File_read_shared(MPI_File fh, void *buf, int count,
01526 MPI_Datatype datatype, MPI_Status *status);
01527 OMPI_DECLSPEC int PMPI_File_write_shared(MPI_File fh, void *buf, int count,
01528 MPI_Datatype datatype, MPI_Status *status);
01529 OMPI_DECLSPEC int PMPI_File_iread_shared(MPI_File fh, void *buf, int count,
01530 MPI_Datatype datatype, MPI_Request *request);
01531 OMPI_DECLSPEC int PMPI_File_iwrite_shared(MPI_File fh, void *buf, int count,
01532 MPI_Datatype datatype, MPI_Request *request);
01533 OMPI_DECLSPEC int PMPI_File_read_ordered(MPI_File fh, void *buf, int count,
01534 MPI_Datatype datatype, MPI_Status *status);
01535 OMPI_DECLSPEC int PMPI_File_write_ordered(MPI_File fh, void *buf, int count,
01536 MPI_Datatype datatype, MPI_Status *status);
01537 OMPI_DECLSPEC int PMPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence);
01538 OMPI_DECLSPEC int PMPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset);
01539 OMPI_DECLSPEC int PMPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf,
01540 int count, MPI_Datatype datatype);
01541 OMPI_DECLSPEC int PMPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status);
01542 OMPI_DECLSPEC int PMPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf,
01543 int count, MPI_Datatype datatype);
01544 OMPI_DECLSPEC int PMPI_File_write_at_all_end(MPI_File fh, void *buf, MPI_Status *status);
01545 OMPI_DECLSPEC int PMPI_File_read_all_begin(MPI_File fh, void *buf, int count,
01546 MPI_Datatype datatype);
01547 OMPI_DECLSPEC int PMPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status);
01548 OMPI_DECLSPEC int PMPI_File_write_all_begin(MPI_File fh, void *buf, int count,
01549 MPI_Datatype datatype);
01550 OMPI_DECLSPEC int PMPI_File_write_all_end(MPI_File fh, void *buf, MPI_Status *status);
01551 OMPI_DECLSPEC int PMPI_File_read_ordered_begin(MPI_File fh, void *buf, int count,
01552 MPI_Datatype datatype);
01553 OMPI_DECLSPEC int PMPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status);
01554 OMPI_DECLSPEC int PMPI_File_write_ordered_begin(MPI_File fh, void *buf, int count,
01555 MPI_Datatype datatype);
01556 OMPI_DECLSPEC int PMPI_File_write_ordered_end(MPI_File fh, void *buf, MPI_Status *status);
01557 OMPI_DECLSPEC int PMPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype,
01558 MPI_Aint *extent);
01559 OMPI_DECLSPEC int PMPI_File_set_atomicity(MPI_File fh, int flag);
01560 OMPI_DECLSPEC int PMPI_File_get_atomicity(MPI_File fh, int *flag);
01561 OMPI_DECLSPEC int PMPI_File_sync(MPI_File fh);
01562 #endif
01563 OMPI_DECLSPEC int PMPI_Finalize(void);
01564 OMPI_DECLSPEC int PMPI_Finalized(int *flag);
01565 OMPI_DECLSPEC int PMPI_Free_mem(void *base);
01566 OMPI_DECLSPEC int PMPI_Gather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
01567 void *recvbuf, int recvcount, MPI_Datatype recvtype,
01568 int root, MPI_Comm comm);
01569 OMPI_DECLSPEC int PMPI_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
01570 void *recvbuf, int *recvcounts, int *displs,
01571 MPI_Datatype recvtype, int root, MPI_Comm comm);
01572 OMPI_DECLSPEC int PMPI_Get_address(void *location, MPI_Aint *address);
01573 OMPI_DECLSPEC int PMPI_Get_count(MPI_Status *status, MPI_Datatype datatype, int *count);
01574 OMPI_DECLSPEC int PMPI_Get_elements(MPI_Status *status, MPI_Datatype datatype,
01575 int *count);
01576 OMPI_DECLSPEC int PMPI_Get(void *origin_addr, int origin_count,
01577 MPI_Datatype origin_datatype, int target_rank,
01578 MPI_Aint target_disp, int target_count,
01579 MPI_Datatype target_datatype, MPI_Win win);
01580 OMPI_DECLSPEC int PMPI_Get_processor_name(char *name, int *resultlen);
01581 OMPI_DECLSPEC int PMPI_Get_version(int *version, int *subversion);
01582 OMPI_DECLSPEC int PMPI_Graph_create(MPI_Comm comm_old, int nnodes, int *index,
01583 int *edges, int reorder, MPI_Comm *comm_graph);
01584 OMPI_DECLSPEC int PMPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges,
01585 int *index, int *edges);
01586 OMPI_DECLSPEC int PMPI_Graph_map(MPI_Comm comm, int nnodes, int *index, int *edges,
01587 int *newrank);
01588 OMPI_DECLSPEC int PMPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors);
01589 OMPI_DECLSPEC int PMPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors,
01590 int *neighbors);
01591 OMPI_DECLSPEC int PMPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges);
01592 OMPI_DECLSPEC int PMPI_Grequest_complete(MPI_Request request);
01593 OMPI_DECLSPEC int PMPI_Grequest_start(MPI_Grequest_query_function *query_fn,
01594 MPI_Grequest_free_function *free_fn,
01595 MPI_Grequest_cancel_function *cancel_fn,
01596 void *extra_state, MPI_Request *request);
01597 OMPI_DECLSPEC MPI_Fint PMPI_Group_c2f(MPI_Group group);
01598 OMPI_DECLSPEC int PMPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result);
01599 OMPI_DECLSPEC int PMPI_Group_difference(MPI_Group group1, MPI_Group group2,
01600 MPI_Group *newgroup);
01601 OMPI_DECLSPEC int PMPI_Group_excl(MPI_Group group, int n, int *ranks,
01602 MPI_Group *newgroup);
01603 OMPI_DECLSPEC MPI_Group PMPI_Group_f2c(MPI_Fint group);
01604 OMPI_DECLSPEC int PMPI_Group_free(MPI_Group *group);
01605 OMPI_DECLSPEC int PMPI_Group_incl(MPI_Group group, int n, int *ranks,
01606 MPI_Group *newgroup);
01607 OMPI_DECLSPEC int PMPI_Group_intersection(MPI_Group group1, MPI_Group group2,
01608 MPI_Group *newgroup);
01609 OMPI_DECLSPEC int PMPI_Group_range_excl(MPI_Group group, int n, int ranges[][3],
01610 MPI_Group *newgroup);
01611 OMPI_DECLSPEC int PMPI_Group_range_incl(MPI_Group group, int n, int ranges[][3],
01612 MPI_Group *newgroup);
01613 OMPI_DECLSPEC int PMPI_Group_rank(MPI_Group group, int *rank);
01614 OMPI_DECLSPEC int PMPI_Group_size(MPI_Group group, int *size);
01615 OMPI_DECLSPEC int PMPI_Group_translate_ranks(MPI_Group group1, int n, int *ranks1,
01616 MPI_Group group2, int *ranks2);
01617 OMPI_DECLSPEC int PMPI_Group_union(MPI_Group group1, MPI_Group group2,
01618 MPI_Group *newgroup);
01619 OMPI_DECLSPEC int PMPI_Ibsend(void *buf, int count, MPI_Datatype datatype, int dest,
01620 int tag, MPI_Comm comm, MPI_Request *request);
01621 OMPI_DECLSPEC MPI_Fint PMPI_Info_c2f(MPI_Info info);
01622 OMPI_DECLSPEC int PMPI_Info_create(MPI_Info *info);
01623 OMPI_DECLSPEC int PMPI_Info_delete(MPI_Info info, char *key);
01624 OMPI_DECLSPEC int PMPI_Info_dup(MPI_Info info, MPI_Info *newinfo);
01625 OMPI_DECLSPEC MPI_Info PMPI_Info_f2c(MPI_Fint info);
01626 OMPI_DECLSPEC int PMPI_Info_free(MPI_Info *info);
01627 OMPI_DECLSPEC int PMPI_Info_get(MPI_Info info, char *key, int valuelen,
01628 char *value, int *flag);
01629 OMPI_DECLSPEC int PMPI_Info_get_nkeys(MPI_Info info, int *nkeys);
01630 OMPI_DECLSPEC int PMPI_Info_get_nthkey(MPI_Info info, int n, char *key);
01631 OMPI_DECLSPEC int PMPI_Info_get_valuelen(MPI_Info info, char *key, int *valuelen,
01632 int *flag);
01633 OMPI_DECLSPEC int PMPI_Info_set(MPI_Info info, char *key, char *value);
01634 OMPI_DECLSPEC int PMPI_Init(int *argc, char ***argv);
01635 OMPI_DECLSPEC int PMPI_Initialized(int *flag);
01636 OMPI_DECLSPEC int PMPI_Init_thread(int *argc, char ***argv, int required,
01637 int *provided);
01638 OMPI_DECLSPEC int PMPI_Intercomm_create(MPI_Comm local_comm, int local_leader,
01639 MPI_Comm bridge_comm, int remote_leader,
01640 int tag, MPI_Comm *newintercomm);
01641 OMPI_DECLSPEC int PMPI_Intercomm_merge(MPI_Comm intercomm, int high,
01642 MPI_Comm *newintercomm);
01643 OMPI_DECLSPEC int PMPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag,
01644 MPI_Status *status);
01645 OMPI_DECLSPEC int PMPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source,
01646 int tag, MPI_Comm comm, MPI_Request *request);
01647 OMPI_DECLSPEC int PMPI_Irsend(void *buf, int count, MPI_Datatype datatype, int dest,
01648 int tag, MPI_Comm comm, MPI_Request *request);
01649 OMPI_DECLSPEC int PMPI_Isend(void *buf, int count, MPI_Datatype datatype, int dest,
01650 int tag, MPI_Comm comm, MPI_Request *request);
01651 OMPI_DECLSPEC int PMPI_Issend(void *buf, int count, MPI_Datatype datatype, int dest,
01652 int tag, MPI_Comm comm, MPI_Request *request);
01653 OMPI_DECLSPEC int PMPI_Is_thread_main(int *flag);
01654 OMPI_DECLSPEC int PMPI_Keyval_create(MPI_Copy_function *copy_fn,
01655 MPI_Delete_function *delete_fn,
01656 int *keyval, void *extra_state);
01657 OMPI_DECLSPEC int PMPI_Keyval_free(int *keyval);
01658 OMPI_DECLSPEC int PMPI_Lookup_name(char *service_name, MPI_Info info, char *port_name);
01659 OMPI_DECLSPEC MPI_Fint PMPI_Op_c2f(MPI_Op op);
01660 OMPI_DECLSPEC int PMPI_Op_create(MPI_User_function *function, int commute,
01661 MPI_Op *op);
01662 OMPI_DECLSPEC int PMPI_Open_port(MPI_Info info, char *port_name);
01663 OMPI_DECLSPEC MPI_Op PMPI_Op_f2c(MPI_Fint op);
01664 OMPI_DECLSPEC int PMPI_Op_free(MPI_Op *op);
01665 OMPI_DECLSPEC int PMPI_Pack_external(char *datarep, void *inbuf, int incount,
01666 MPI_Datatype datatype, void *outbuf,
01667 MPI_Aint outsize, MPI_Aint *position);
01668 OMPI_DECLSPEC int PMPI_Pack_external_size(char *datarep, int incount,
01669 MPI_Datatype datatype, MPI_Aint *size);
01670 OMPI_DECLSPEC int PMPI_Pack(void *inbuf, int incount, MPI_Datatype datatype,
01671 void *outbuf, int outsize, int *position, MPI_Comm comm);
01672 OMPI_DECLSPEC int PMPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm,
01673 int *size);
01674 OMPI_DECLSPEC int PMPI_Pcontrol(const int level, ...);
01675 OMPI_DECLSPEC int PMPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status);
01676 OMPI_DECLSPEC int PMPI_Publish_name(char *service_name, MPI_Info info,
01677 char *port_name);
01678 OMPI_DECLSPEC int PMPI_Put(void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
01679 int target_rank, MPI_Aint target_disp, int target_count,
01680 MPI_Datatype target_datatype, MPI_Win win);
01681 OMPI_DECLSPEC int PMPI_Query_thread(int *provided);
01682 OMPI_DECLSPEC int PMPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source,
01683 int tag, MPI_Comm comm, MPI_Request *request);
01684 OMPI_DECLSPEC int PMPI_Recv(void *buf, int count, MPI_Datatype datatype, int source,
01685 int tag, MPI_Comm comm, MPI_Status *status);
01686 OMPI_DECLSPEC int PMPI_Reduce(void *sendbuf, void *recvbuf, int count,
01687 MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm);
01688 OMPI_DECLSPEC int PMPI_Reduce_scatter(void *sendbuf, void *recvbuf, int *recvcounts,
01689 MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
01690 OMPI_DECLSPEC int PMPI_Register_datarep(char *datarep,
01691 MPI_Datarep_conversion_function *read_conversion_fn,
01692 MPI_Datarep_conversion_function *write_conversion_fn,
01693 MPI_Datarep_extent_function *dtype_file_extent_fn,
01694 void *extra_state);
01695 OMPI_DECLSPEC MPI_Fint PMPI_Request_c2f(MPI_Request request);
01696 OMPI_DECLSPEC MPI_Request PMPI_Request_f2c(MPI_Fint request);
01697 OMPI_DECLSPEC int PMPI_Request_free(MPI_Request *request);
01698 OMPI_DECLSPEC int PMPI_Request_get_status(MPI_Request request, int *flag,
01699 MPI_Status *status);
01700 OMPI_DECLSPEC int PMPI_Rsend(void *ibuf, int count, MPI_Datatype datatype, int dest,
01701 int tag, MPI_Comm comm);
01702 OMPI_DECLSPEC int PMPI_Rsend_init(void *buf, int count, MPI_Datatype datatype,
01703 int dest, int tag, MPI_Comm comm,
01704 MPI_Request *request);
01705 OMPI_DECLSPEC int PMPI_Scan(void *sendbuf, void *recvbuf, int count,
01706 MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
01707 OMPI_DECLSPEC int PMPI_Scatter(void *sendbuf, int sendcount, MPI_Datatype sendtype,
01708 void *recvbuf, int recvcount, MPI_Datatype recvtype,
01709 int root, MPI_Comm comm);
01710 OMPI_DECLSPEC int PMPI_Scatterv(void *sendbuf, int *sendcounts, int *displs,
01711 MPI_Datatype sendtype, void *recvbuf, int recvcount,
01712 MPI_Datatype recvtype, int root, MPI_Comm comm);
01713 OMPI_DECLSPEC int PMPI_Send_init(void *buf, int count, MPI_Datatype datatype,
01714 int dest, int tag, MPI_Comm comm,
01715 MPI_Request *request);
01716 OMPI_DECLSPEC int PMPI_Send(void *buf, int count, MPI_Datatype datatype, int dest,
01717 int tag, MPI_Comm comm);
01718 OMPI_DECLSPEC int PMPI_Sendrecv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
01719 int dest, int sendtag, void *recvbuf, int recvcount,
01720 MPI_Datatype recvtype, int source, int recvtag,
01721 MPI_Comm comm, MPI_Status *status);
01722 OMPI_DECLSPEC int PMPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype,
01723 int dest, int sendtag, int source, int recvtag,
01724 MPI_Comm comm, MPI_Status *status);
01725 OMPI_DECLSPEC int PMPI_Ssend_init(void *buf, int count, MPI_Datatype datatype,
01726 int dest, int tag, MPI_Comm comm,
01727 MPI_Request *request);
01728 OMPI_DECLSPEC int PMPI_Ssend(void *buf, int count, MPI_Datatype datatype, int dest,
01729 int tag, MPI_Comm comm);
01730 OMPI_DECLSPEC int PMPI_Start(MPI_Request *request);
01731 OMPI_DECLSPEC int PMPI_Startall(int count, MPI_Request *array_of_requests);
01732 OMPI_DECLSPEC int PMPI_Status_c2f(MPI_Status *c_status, MPI_Fint *f_status);
01733 OMPI_DECLSPEC int PMPI_Status_f2c(MPI_Fint *f_status, MPI_Status *c_status);
01734 OMPI_DECLSPEC int PMPI_Status_set_cancelled(MPI_Status *status, int flag);
01735 OMPI_DECLSPEC int PMPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype,
01736 int count);
01737 OMPI_DECLSPEC int PMPI_Testall(int count, MPI_Request array_of_requests[], int *flag,
01738 MPI_Status array_of_statuses[]);
01739 OMPI_DECLSPEC int PMPI_Testany(int count, MPI_Request array_of_requests[], int *index, int *flag, MPI_Status *status);
01740 OMPI_DECLSPEC int PMPI_Test(MPI_Request *request, int *flag, MPI_Status *status);
01741 OMPI_DECLSPEC int PMPI_Test_cancelled(MPI_Status *status, int *flag);
01742 OMPI_DECLSPEC int PMPI_Testsome(int incount, MPI_Request array_of_requests[],
01743 int *outcount, int array_of_indices[],
01744 MPI_Status array_of_statuses[]);
01745 OMPI_DECLSPEC int PMPI_Topo_test(MPI_Comm comm, int *status);
01746 OMPI_DECLSPEC MPI_Fint PMPI_Type_c2f(MPI_Datatype datatype);
01747 OMPI_DECLSPEC int PMPI_Type_commit(MPI_Datatype *type);
01748 OMPI_DECLSPEC int PMPI_Type_contiguous(int count, MPI_Datatype oldtype,
01749 MPI_Datatype *newtype);
01750 OMPI_DECLSPEC int PMPI_Type_create_darray(int size, int rank, int ndims,
01751 int gsize_array[], int distrib_array[],
01752 int darg_array[], int psize_array[],
01753 int order, MPI_Datatype oldtype,
01754 MPI_Datatype *newtype);
01755 OMPI_DECLSPEC int PMPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype);
01756 OMPI_DECLSPEC int PMPI_Type_create_f90_integer(int r, MPI_Datatype *newtype);
01757 OMPI_DECLSPEC int PMPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype);
01758 OMPI_DECLSPEC int PMPI_Type_create_hindexed(int count, int array_of_blocklengths[],
01759 MPI_Aint array_of_displacements[],
01760 MPI_Datatype oldtype,
01761 MPI_Datatype *newtype);
01762 OMPI_DECLSPEC int PMPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride,
01763 MPI_Datatype oldtype,
01764 MPI_Datatype *newtype);
01765 OMPI_DECLSPEC int PMPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn,
01766 MPI_Type_delete_attr_function *type_delete_attr_fn,
01767 int *type_keyval, void *extra_state);
01768 OMPI_DECLSPEC int PMPI_Type_create_indexed_block(int count, int blocklength,
01769 int array_of_displacements[],
01770 MPI_Datatype oldtype,
01771 MPI_Datatype *newtype);
01772 OMPI_DECLSPEC int PMPI_Type_create_struct(int count, int array_of_block_lengths[],
01773 MPI_Aint array_of_displacements[],
01774 MPI_Datatype array_of_types[],
01775 MPI_Datatype *newtype);
01776 OMPI_DECLSPEC int PMPI_Type_create_subarray(int ndims, int size_array[], int subsize_array[],
01777 int start_array[], int order,
01778 MPI_Datatype oldtype, MPI_Datatype *newtype);
01779 OMPI_DECLSPEC int PMPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb,
01780 MPI_Aint extent, MPI_Datatype *newtype);
01781 OMPI_DECLSPEC int PMPI_Type_delete_attr(MPI_Datatype type, int type_keyval);
01782 OMPI_DECLSPEC int PMPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype);
01783 OMPI_DECLSPEC int PMPI_Type_extent(MPI_Datatype type, MPI_Aint *extent);
01784 OMPI_DECLSPEC int PMPI_Type_free(MPI_Datatype *type);
01785 OMPI_DECLSPEC int PMPI_Type_free_keyval(int *type_keyval);
01786 OMPI_DECLSPEC MPI_Datatype PMPI_Type_f2c(MPI_Fint datatype);
01787 OMPI_DECLSPEC int PMPI_Type_get_attr(MPI_Datatype type, int type_keyval,
01788 void *attribute_val, int *flag);
01789 OMPI_DECLSPEC int PMPI_Type_get_contents(MPI_Datatype mtype, int max_integers,
01790 int max_addresses, int max_datatypes,
01791 int array_of_integers[],
01792 MPI_Aint array_of_addresses[],
01793 MPI_Datatype array_of_datatypes[]);
01794 OMPI_DECLSPEC int PMPI_Type_get_envelope(MPI_Datatype type, int *num_integers,
01795 int *num_addresses, int *num_datatypes,
01796 int *combiner);
01797 OMPI_DECLSPEC int PMPI_Type_get_extent(MPI_Datatype type, MPI_Aint *lb,
01798 MPI_Aint *extent);
01799 OMPI_DECLSPEC int PMPI_Type_get_name(MPI_Datatype type, char *type_name,
01800 int *resultlen);
01801 OMPI_DECLSPEC int PMPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb,
01802 MPI_Aint *true_extent);
01803 OMPI_DECLSPEC int PMPI_Type_hindexed(int count, int array_of_blocklengths[],
01804 MPI_Aint array_of_displacements[],
01805 MPI_Datatype oldtype, MPI_Datatype *newtype);
01806 OMPI_DECLSPEC int PMPI_Type_hvector(int count, int blocklength, MPI_Aint stride,
01807 MPI_Datatype oldtype, MPI_Datatype *newtype);
01808 OMPI_DECLSPEC int PMPI_Type_indexed(int count, int array_of_blocklengths[],
01809 int array_of_displacements[],
01810 MPI_Datatype oldtype, MPI_Datatype *newtype);
01811 OMPI_DECLSPEC int PMPI_Type_lb(MPI_Datatype type, MPI_Aint *lb);
01812 OMPI_DECLSPEC int PMPI_Type_match_size(int typeclass, int size, MPI_Datatype *type);
01813 OMPI_DECLSPEC int PMPI_Type_set_attr(MPI_Datatype type, int type_keyval,
01814 void *attr_val);
01815 OMPI_DECLSPEC int PMPI_Type_set_name(MPI_Datatype type, char *type_name);
01816 OMPI_DECLSPEC int PMPI_Type_size(MPI_Datatype type, int *size);
01817 OMPI_DECLSPEC int PMPI_Type_struct(int count, int array_of_blocklengths[],
01818 MPI_Aint array_of_displacements[],
01819 MPI_Datatype array_of_types[],
01820 MPI_Datatype *newtype);
01821 OMPI_DECLSPEC int PMPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub);
01822 OMPI_DECLSPEC int PMPI_Type_vector(int count, int blocklength, int stride,
01823 MPI_Datatype oldtype, MPI_Datatype *newtype);
01824 OMPI_DECLSPEC int PMPI_Unpack(void *inbuf, int insize, int *position,
01825 void *outbuf, int outcount, MPI_Datatype datatype,
01826 MPI_Comm comm);
01827 OMPI_DECLSPEC int PMPI_Unpublish_name(char *service_name, MPI_Info info,
01828 char *port_name);
01829 OMPI_DECLSPEC int PMPI_Unpack_external (char *datarep, void *inbuf, MPI_Aint insize,
01830 MPI_Aint *position, void *outbuf, int outcount,
01831 MPI_Datatype datatype);
01832 OMPI_DECLSPEC int PMPI_Waitall(int count, MPI_Request *array_of_requests,
01833 MPI_Status *array_of_statuses);
01834 OMPI_DECLSPEC int PMPI_Waitany(int count, MPI_Request *array_of_requests,
01835 int *index, MPI_Status *status);
01836 OMPI_DECLSPEC int PMPI_Wait(MPI_Request *request, MPI_Status *status);
01837 OMPI_DECLSPEC int PMPI_Waitsome(int incount, MPI_Request *array_of_requests,
01838 int *outcount, int *array_of_indices,
01839 MPI_Status *array_of_statuses);
01840 OMPI_DECLSPEC MPI_Fint PMPI_Win_c2f(MPI_Win win);
01841 OMPI_DECLSPEC int PMPI_Win_call_errhandler(MPI_Win win, int errorcode);
01842 OMPI_DECLSPEC int PMPI_Win_complete(MPI_Win win);
01843 OMPI_DECLSPEC int PMPI_Win_create(void *base, MPI_Aint size, int disp_unit,
01844 MPI_Info info, MPI_Comm comm, MPI_Win *win);
01845 OMPI_DECLSPEC int PMPI_Win_create_errhandler(MPI_Win_errhandler_fn *function,
01846 MPI_Errhandler *errhandler);
01847 OMPI_DECLSPEC int PMPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn,
01848 MPI_Win_delete_attr_function *win_delete_attr_fn,
01849 int *win_keyval, void *extra_state);
01850 OMPI_DECLSPEC int PMPI_Win_delete_attr(MPI_Win win, int win_keyval);
01851 OMPI_DECLSPEC MPI_Win PMPI_Win_f2c(MPI_Fint win);
01852 OMPI_DECLSPEC int PMPI_Win_fence(int assert, MPI_Win win);
01853 OMPI_DECLSPEC int PMPI_Win_free(MPI_Win *win);
01854 OMPI_DECLSPEC int PMPI_Win_free_keyval(int *win_keyval);
01855 OMPI_DECLSPEC int PMPI_Win_get_attr(MPI_Win win, int win_keyval,
01856 void *attribute_val, int *flag);
01857 OMPI_DECLSPEC int PMPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler);
01858 OMPI_DECLSPEC int PMPI_Win_get_group(MPI_Win win, MPI_Group *group);
01859 OMPI_DECLSPEC int PMPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen);
01860 OMPI_DECLSPEC int PMPI_Win_lock(int lock_type, int rank, int assert, MPI_Win win);
01861 OMPI_DECLSPEC int PMPI_Win_post(MPI_Group group, int assert, MPI_Win win);
01862 OMPI_DECLSPEC int PMPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val);
01863 OMPI_DECLSPEC int PMPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler);
01864 OMPI_DECLSPEC int PMPI_Win_set_name(MPI_Win win, char *win_name);
01865 OMPI_DECLSPEC int PMPI_Win_start(MPI_Group group, int assert, MPI_Win win);
01866 OMPI_DECLSPEC int PMPI_Win_test(MPI_Win win, int *flag);
01867 OMPI_DECLSPEC int PMPI_Win_unlock(int rank, MPI_Win win);
01868 OMPI_DECLSPEC int PMPI_Win_wait(MPI_Win win);
01869 OMPI_DECLSPEC double PMPI_Wtick(void);
01870 OMPI_DECLSPEC double PMPI_Wtime(void);
01871
01872 #if defined(c_plusplus) || defined(__cplusplus)
01873 }
01874 #endif
01875
01876
01877
01878
01879
01880
01881
01882
01883
01884 #if !defined(OMPI_SKIP_MPICXX) && OMPI_WANT_CXX_BINDINGS && !OMPI_BUILDING
01885 #if defined(__cplusplus) || defined(c_plusplus)
01886 #include "openmpi/ompi/mpi/cxx/mpicxx.h"
01887 #endif
01888 #endif
01889
01890 #if !OMPI_PROVIDE_MPI_FILE_INTERFACE && !OMPI_BUILDING
01891
01892
01893
01894 #define HAVE_MPI_OFFSET 1
01895 #endif
01896
01897 #endif