File indexing completed on 2025-12-16 10:35:53
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036
0037
0038
0039 #ifndef OMPI_MPI_H
0040 #define OMPI_MPI_H
0041
0042
0043
0044
0045
0046
0047 #ifndef OMPI_CONFIG_H
0048
0049
0050
0051
0052
0053
0054
0055
0056 #define OPAL_BUILD_PLATFORM_COMPILER_FAMILYID 1
0057
0058
0059 #define OPAL_BUILD_PLATFORM_COMPILER_VERSION 918016
0060
0061
0062 #define OPAL_STDC_HEADERS 1
0063
0064
0065 #define OPAL_HAVE_ATTRIBUTE_DEPRECATED 1
0066
0067
0068 #define OPAL_HAVE_ATTRIBUTE_DEPRECATED_ARGUMENT 1
0069
0070
0071 #define OPAL_HAVE_ATTRIBUTE_ERROR 1
0072
0073
0074 #define OPAL_HAVE_SYS_TIME_H 1
0075
0076
0077
0078
0079
0080 #define OPAL_HAVE_LONG_LONG 1
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092 #define OPAL_MAX_DATAREP_STRING 128
0093
0094
0095 #define OPAL_MAX_ERROR_STRING 256
0096
0097
0098 #define OPAL_MAX_INFO_KEY 36
0099
0100
0101 #define OPAL_MAX_INFO_VAL 256
0102
0103
0104 #define OPAL_MAX_OBJECT_NAME 64
0105
0106
0107 #define OPAL_MAX_PORT_NAME 1024
0108
0109
0110 #define OPAL_MAX_PROCESSOR_NAME 256
0111
0112
0113 #define OPAL_MAX_PSET_NAME_LEN 512
0114
0115
0116 #define OPAL_MAX_STRINGTAG_LEN 1024
0117
0118
0119 #define OMPI_FORTRAN_STATUS_SIZE 6
0120
0121
0122 #define OMPI_HAVE_FORTRAN_LOGICAL1 1
0123
0124
0125 #define OMPI_HAVE_FORTRAN_LOGICAL2 1
0126
0127
0128 #define OMPI_HAVE_FORTRAN_LOGICAL4 1
0129
0130
0131 #define OMPI_HAVE_FORTRAN_LOGICAL8 1
0132
0133
0134 #define OMPI_HAVE_FORTRAN_INTEGER1 1
0135
0136
0137 #define OMPI_HAVE_FORTRAN_INTEGER16 0
0138
0139
0140 #define OMPI_HAVE_FORTRAN_INTEGER2 1
0141
0142
0143 #define OMPI_HAVE_FORTRAN_INTEGER4 1
0144
0145
0146 #define OMPI_HAVE_FORTRAN_INTEGER8 1
0147
0148
0149 #define OMPI_HAVE_FORTRAN_REAL16 1
0150
0151
0152 #define OMPI_HAVE_FORTRAN_REAL2 0
0153
0154
0155 #define OMPI_HAVE_FORTRAN_REAL4 1
0156
0157
0158 #define OMPI_HAVE_FORTRAN_REAL8 1
0159
0160
0161 #define OMPI_ENABLE_MPI1_COMPAT 1
0162
0163
0164 #define HAVE_FLOAT__COMPLEX 1
0165
0166
0167 #define HAVE_DOUBLE__COMPLEX 1
0168
0169
0170 #define HAVE_LONG_DOUBLE__COMPLEX 1
0171
0172
0173 #define OMPI_MPI_AINT_TYPE ptrdiff_t
0174
0175
0176 #define OMPI_MPI_OFFSET_TYPE long long
0177
0178
0179 #define OMPI_OFFSET_DATATYPE MPI_LONG_LONG
0180
0181
0182 #define OMPI_MPI_OFFSET_SIZE 8
0183
0184
0185 #define OMPI_MPI_COUNT_TYPE long long
0186
0187
0188
0189
0190
0191 #define OMPI_PARAM_CHECK 1
0192
0193
0194 #ifndef OMPI_WANT_MPI_INTERFACE_WARNING
0195 #define OMPI_WANT_MPI_INTERFACE_WARNING 1
0196 #endif
0197
0198
0199 #define OMPI_MAJOR_VERSION 5
0200 #define OMPI_MINOR_VERSION 0
0201 #define OMPI_RELEASE_VERSION 8
0202
0203
0204
0205
0206 #define MPI_VERSION 3
0207 #define MPI_SUBVERSION 1
0208
0209
0210
0211 #define ompi_fortran_bogus_type_t int
0212
0213
0214 #define ompi_fortran_integer_t int
0215
0216
0217 #define OPAL_C_HAVE_VISIBILITY 1
0218
0219 #ifndef OMPI_DECLSPEC
0220 # if defined(WIN32) || defined(_WIN32)
0221 # if defined(OMPI_IMPORTS)
0222 # define OMPI_DECLSPEC __declspec(dllimport)
0223 # else
0224 # define OMPI_DECLSPEC
0225 # endif
0226 # else
0227 # if OPAL_C_HAVE_VISIBILITY == 1
0228 # define OMPI_DECLSPEC __attribute__((visibility("default")))
0229 # else
0230 # define OMPI_DECLSPEC
0231 # endif
0232 # endif
0233 #endif
0234
0235 #ifndef MPI_Fint
0236
0237 #define MPI_Fint ompi_fortran_integer_t
0238 #endif
0239
0240 #endif
0241
0242
0243
0244
0245 #ifdef OPAL_STDC_HEADERS
0246 #include <stddef.h>
0247 #endif
0248
0249 #ifndef OMPI_BUILDING
0250 #define OMPI_BUILDING 0
0251 #endif
0252
0253
0254
0255
0256
0257 #define OPEN_MPI 1
0258
0259
0260
0261
0262
0263
0264
0265 #if !OMPI_BUILDING
0266
0267
0268
0269
0270
0271 # ifndef SIZEOF_VOID_P
0272 # define OMPI_CLEANUP_SIZEOF_VOID_P 1
0273 # define SIZEOF_VOID_P 8
0274 # else
0275 # define OMPI_CLEANUP_SIZEOF_VOID_P 0
0276 # endif
0277
0278 # include "mpi_portable_platform.h"
0279
0280 #if OMPI_CLEANUP_SIZEOF_VOID_P
0281 #define SIZEOF_VOID_P 8
0282 #endif
0283
0284
0285
0286
0287
0288
0289 # if (OPAL_BUILD_PLATFORM_COMPILER_FAMILYID == PLATFORM_COMPILER_FAMILYID) && \
0290 (OPAL_BUILD_PLATFORM_COMPILER_VERSION == PLATFORM_COMPILER_VERSION)
0291
0292 # if OMPI_WANT_MPI_INTERFACE_WARNING
0293 # if OPAL_HAVE_ATTRIBUTE_DEPRECATED
0294 # if OPAL_HAVE_ATTRIBUTE_DEPRECATED_ARGUMENT
0295 # define __mpi_interface_deprecated__(msg) __attribute__((__deprecated__(msg)))
0296 # else
0297 # define __mpi_interface_deprecated__(msg) __attribute__((__deprecated__))
0298 # endif
0299 # endif
0300 # endif
0301
0302
0303
0304
0305
0306
0307
0308
0309
0310
0311
0312
0313
0314
0315
0316
0317
0318
0319
0320
0321
0322
0323
0324
0325
0326
0327 # if defined(OMPI_OMIT_MPI1_COMPAT_DECLS)
0328
0329 # elif OMPI_ENABLE_MPI1_COMPAT
0330 # define OMPI_OMIT_MPI1_COMPAT_DECLS 0
0331 # define OMPI_REMOVED_USE_STATIC_ASSERT 0
0332 # define __mpi_interface_removed__(func, newfunc) __mpi_interface_deprecated__(#func " was removed in MPI-3.0. Use " #newfunc " instead. continuing...")
0333 # elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L)
0334
0335
0336 # define OMPI_OMIT_MPI1_COMPAT_DECLS 1
0337 # define OMPI_REMOVED_USE_STATIC_ASSERT 1
0338
0339
0340
0341
0342 #define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(symbol, new_symbol) 0; _Static_assert(0, #symbol " was removed in MPI-3.0. Use " #new_symbol " instead.")
0343 #define THIS_FUNCTION_WAS_REMOVED_IN_MPI30(func, newfunc) _Static_assert(0, #func " was removed in MPI-3.0. Use " #newfunc " instead.")
0344 # elif defined(__cplusplus) && (__cplusplus >= 201103L)
0345
0346
0347 # define OMPI_OMIT_MPI1_COMPAT_DECLS 1
0348 # define OMPI_REMOVED_USE_STATIC_ASSERT 1
0349
0350
0351
0352
0353 #define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(symbol, new_symbol) 0; static_assert(0, #symbol " was removed in MPI-3.0. Use " #new_symbol " instead.")
0354 #define THIS_FUNCTION_WAS_REMOVED_IN_MPI30(func, newfunc) static_assert(0, #func " was removed in MPI-3.0. Use " #newfunc " instead.")
0355 # elif OPAL_HAVE_ATTRIBUTE_ERROR
0356 # define OMPI_OMIT_MPI1_COMPAT_DECLS 0
0357 # define OMPI_REMOVED_USE_STATIC_ASSERT 0
0358 # define __mpi_interface_removed__(func, newfunc) __attribute__((__error__(#func " was removed in MPI-3.0. Use " #newfunc " instead.")))
0359 # else
0360 # define OMPI_OMIT_MPI1_COMPAT_DECLS 1
0361 # define OMPI_REMOVED_USE_STATIC_ASSERT 0
0362 # endif
0363 # endif
0364 #endif
0365
0366
0367
0368
0369
0370
0371 #if !defined(__mpi_interface_deprecated__)
0372 # define __mpi_interface_deprecated__(msg)
0373 #endif
0374
0375 #if !defined(__mpi_interface_removed__)
0376 # define __mpi_interface_removed__(A,B)
0377 #endif
0378
0379 #if !defined(THIS_SYMBOL_WAS_REMOVED_IN_MPI30)
0380 # define THIS_SYMBOL_WAS_REMOVED_IN_MPI30(symbol, newsymbol)
0381 #endif
0382 #if !defined(THIS_FUNCTION_WAS_REMOVED_IN_MPI30)
0383 # define THIS_FUNCTION_WAS_REMOVED_IN_MPI30(func, newfunc)
0384 #endif
0385
0386 #if !defined(OMPI_REMOVED_USE_STATIC_ASSERT)
0387 # define OMPI_REMOVED_USE_STATIC_ASSERT 0
0388 #endif
0389
0390 #if !defined(OMPI_OMIT_MPI1_COMPAT_DECLS)
0391 # define OMPI_OMIT_MPI1_COMPAT_DECLS (!(OMPI_ENABLE_MPI1_COMPAT || OMPI_BUILDING))
0392 #endif
0393
0394
0395
0396
0397
0398 #if !OMPI_BUILDING
0399 #define MPIO_Request MPI_Request
0400 #define MPIO_Test MPI_Test
0401 #define MPIO_Wait MPI_Wait
0402 #endif
0403
0404
0405
0406
0407
0408
0409
0410
0411
0412
0413
0414 #if !OMPI_BUILDING
0415 #if defined(c_plusplus) || defined(__cplusplus)
0416 #define OMPI_PREDEFINED_GLOBAL(type, global) (static_cast<type> (static_cast<void *> (&(global))))
0417 #else
0418 #define OMPI_PREDEFINED_GLOBAL(type, global) ((type) ((void *) &(global)))
0419 #endif
0420 #else
0421 #define OMPI_PREDEFINED_GLOBAL(type, global) ((type) &(global))
0422 #endif
0423
0424 #if defined(c_plusplus) || defined(__cplusplus)
0425 extern "C" {
0426 #endif
0427
0428
0429
0430
0431
0432 typedef OMPI_MPI_AINT_TYPE MPI_Aint;
0433 typedef OMPI_MPI_OFFSET_TYPE MPI_Offset;
0434 typedef OMPI_MPI_COUNT_TYPE MPI_Count;
0435 typedef struct ompi_communicator_t *MPI_Comm;
0436 typedef struct ompi_datatype_t *MPI_Datatype;
0437 typedef struct ompi_errhandler_t *MPI_Errhandler;
0438 typedef struct ompi_file_t *MPI_File;
0439 typedef struct ompi_group_t *MPI_Group;
0440 typedef struct ompi_info_t *MPI_Info;
0441 typedef struct ompi_op_t *MPI_Op;
0442 typedef struct ompi_request_t *MPI_Request;
0443 typedef struct ompi_message_t *MPI_Message;
0444 typedef struct ompi_status_public_t MPI_Status;
0445 typedef struct ompi_f08_status_public_t MPI_F08_status;
0446 typedef struct ompi_win_t *MPI_Win;
0447 typedef struct mca_base_var_enum_t *MPI_T_enum;
0448 typedef struct ompi_mpit_cvar_handle_t *MPI_T_cvar_handle;
0449 typedef struct mca_base_pvar_handle_t *MPI_T_pvar_handle;
0450 typedef struct mca_base_pvar_session_t *MPI_T_pvar_session;
0451 typedef struct ompi_instance_t *MPI_Session;
0452
0453
0454
0455
0456 struct ompi_status_public_t {
0457
0458
0459 int MPI_SOURCE;
0460 int MPI_TAG;
0461 int MPI_ERROR;
0462
0463
0464
0465
0466 int _cancelled;
0467 size_t _ucount;
0468 };
0469 typedef struct ompi_status_public_t ompi_status_public_t;
0470
0471
0472
0473
0474 struct ompi_f08_status_public_t {
0475
0476
0477 MPI_Fint MPI_SOURCE;
0478 MPI_Fint MPI_TAG;
0479 MPI_Fint MPI_ERROR;
0480 MPI_Fint internal[OMPI_FORTRAN_STATUS_SIZE - 3];
0481 };
0482 typedef struct ompi_f08_status_public_t ompi_f08_status_public_t;
0483
0484
0485
0486
0487 typedef int (MPI_Datarep_extent_function)(MPI_Datatype, MPI_Aint *, void *);
0488 typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype,
0489 int, void *, MPI_Offset, void *);
0490 typedef void (MPI_Comm_errhandler_function)(MPI_Comm *, int *, ...);
0491 typedef void (MPI_Session_errhandler_function) (MPI_Session *, int *, ...);
0492
0493
0494
0495
0496
0497 typedef void (ompi_file_errhandler_function)(MPI_File *, int *, ...);
0498 typedef void (MPI_Win_errhandler_function)(MPI_Win *, int *, ...);
0499 typedef void (MPI_User_function)(void *, void *, int *, MPI_Datatype *);
0500 typedef int (MPI_Comm_copy_attr_function)(MPI_Comm, int, void *,
0501 void *, void *, int *);
0502 typedef int (MPI_Comm_delete_attr_function)(MPI_Comm, int, void *, void *);
0503 typedef int (MPI_Type_copy_attr_function)(MPI_Datatype, int, void *,
0504 void *, void *, int *);
0505 typedef int (MPI_Type_delete_attr_function)(MPI_Datatype, int,
0506 void *, void *);
0507 typedef int (MPI_Win_copy_attr_function)(MPI_Win, int, void *,
0508 void *, void *, int *);
0509 typedef int (MPI_Win_delete_attr_function)(MPI_Win, int, void *, void *);
0510 typedef int (MPI_Grequest_query_function)(void *, MPI_Status *);
0511 typedef int (MPI_Grequest_free_function)(void *);
0512 typedef int (MPI_Grequest_cancel_function)(void *, int);
0513
0514
0515
0516
0517
0518 typedef MPI_Comm_errhandler_function MPI_Comm_errhandler_fn
0519 __mpi_interface_deprecated__("MPI_Comm_errhandler_fn was deprecated in MPI-2.2; use MPI_Comm_errhandler_function instead");
0520 typedef ompi_file_errhandler_function MPI_File_errhandler_fn
0521 __mpi_interface_deprecated__("MPI_File_errhandler_fn was deprecated in MPI-2.2; use MPI_File_errhandler_function instead");
0522 typedef ompi_file_errhandler_function MPI_File_errhandler_function;
0523 typedef MPI_Win_errhandler_function MPI_Win_errhandler_fn
0524 __mpi_interface_deprecated__("MPI_Win_errhandler_fn was deprecated in MPI-2.2; use MPI_Win_errhandler_function instead");
0525
0526
0527
0528
0529
0530
0531
0532
0533
0534
0535 #define MPI_ANY_SOURCE -1
0536 #define MPI_PROC_NULL -2
0537 #define MPI_ROOT -4
0538 #define MPI_ANY_TAG -1
0539 #define MPI_MAX_PROCESSOR_NAME OPAL_MAX_PROCESSOR_NAME
0540 #define MPI_MAX_ERROR_STRING OPAL_MAX_ERROR_STRING
0541 #define MPI_MAX_OBJECT_NAME OPAL_MAX_OBJECT_NAME
0542 #define MPI_MAX_LIBRARY_VERSION_STRING 256
0543 #define MPI_UNDEFINED -32766
0544 #define MPI_DIST_GRAPH 3
0545 #define MPI_CART 1
0546 #define MPI_GRAPH 2
0547 #define MPI_KEYVAL_INVALID -1
0548
0549
0550
0551
0552 #define MPI_UNWEIGHTED ((int *) 2)
0553 #define MPI_WEIGHTS_EMPTY ((int *) 3)
0554 #define MPI_BOTTOM ((void *) 0)
0555 #define MPI_IN_PLACE ((void *) 1)
0556 #define MPI_BSEND_OVERHEAD 128
0557 #define MPI_MAX_INFO_KEY OPAL_MAX_INFO_KEY
0558 #define MPI_MAX_INFO_VAL OPAL_MAX_INFO_VAL
0559 #define MPI_ARGV_NULL ((char **) 0)
0560 #define MPI_ARGVS_NULL ((char ***) 0)
0561 #define MPI_ERRCODES_IGNORE ((int *) 0)
0562 #define MPI_MAX_PORT_NAME OPAL_MAX_PORT_NAME
0563 #define MPI_ORDER_C 0
0564 #define MPI_ORDER_FORTRAN 1
0565 #define MPI_DISTRIBUTE_BLOCK 0
0566 #define MPI_DISTRIBUTE_CYCLIC 1
0567 #define MPI_DISTRIBUTE_NONE 2
0568 #define MPI_DISTRIBUTE_DFLT_DARG (-1)
0569 #define MPI_MAX_PSET_NAME_LEN OPAL_MAX_PSET_NAME_LEN
0570 #define MPI_MAX_STRINGTAG_LEN OPAL_MAX_STRINGTAG_LEN
0571
0572
0573
0574
0575
0576
0577
0578
0579 #define MPI_F_STATUS_SIZE OMPI_FORTRAN_STATUS_SIZE
0580 #define MPI_F_SOURCE 0
0581 #define MPI_F_TAG 1
0582 #define MPI_F_ERROR 2
0583
0584
0585
0586
0587
0588
0589 #define MPI_MODE_CREATE 1
0590 #define MPI_MODE_RDONLY 2
0591 #define MPI_MODE_WRONLY 4
0592 #define MPI_MODE_RDWR 8
0593 #define MPI_MODE_DELETE_ON_CLOSE 16
0594 #define MPI_MODE_UNIQUE_OPEN 32
0595 #define MPI_MODE_EXCL 64
0596 #define MPI_MODE_APPEND 128
0597 #define MPI_MODE_SEQUENTIAL 256
0598
0599 #define MPI_DISPLACEMENT_CURRENT -54278278
0600
0601 #define MPI_SEEK_SET 600
0602 #define MPI_SEEK_CUR 602
0603 #define MPI_SEEK_END 604
0604
0605
0606 #define MPI_MAX_DATAREP_STRING OPAL_MAX_DATAREP_STRING
0607
0608
0609
0610
0611 #define MPI_MODE_NOCHECK 1
0612 #define MPI_MODE_NOPRECEDE 2
0613 #define MPI_MODE_NOPUT 4
0614 #define MPI_MODE_NOSTORE 8
0615 #define MPI_MODE_NOSUCCEED 16
0616
0617 #define MPI_LOCK_EXCLUSIVE 1
0618 #define MPI_LOCK_SHARED 2
0619
0620 #define MPI_WIN_FLAVOR_CREATE 1
0621 #define MPI_WIN_FLAVOR_ALLOCATE 2
0622 #define MPI_WIN_FLAVOR_DYNAMIC 3
0623 #define MPI_WIN_FLAVOR_SHARED 4
0624
0625 #define MPI_WIN_UNIFIED 0
0626 #define MPI_WIN_SEPARATE 1
0627
0628
0629
0630
0631
0632
0633
0634
0635 enum {
0636
0637 MPI_TAG_UB,
0638 MPI_HOST,
0639 MPI_IO,
0640 MPI_WTIME_IS_GLOBAL,
0641
0642
0643 MPI_APPNUM,
0644 MPI_LASTUSEDCODE,
0645 MPI_UNIVERSE_SIZE,
0646 MPI_WIN_BASE,
0647 MPI_WIN_SIZE,
0648 MPI_WIN_DISP_UNIT,
0649 MPI_WIN_CREATE_FLAVOR,
0650 MPI_WIN_MODEL,
0651
0652
0653 MPI_FT,
0654 MPI_ATTR_PREDEFINED_KEY_MAX,
0655 };
0656
0657
0658
0659
0660
0661 #define MPI_SUCCESS 0
0662 #define MPI_ERR_BUFFER 1
0663 #define MPI_ERR_COUNT 2
0664 #define MPI_ERR_TYPE 3
0665 #define MPI_ERR_TAG 4
0666 #define MPI_ERR_COMM 5
0667 #define MPI_ERR_RANK 6
0668 #define MPI_ERR_REQUEST 7
0669 #define MPI_ERR_ROOT 8
0670 #define MPI_ERR_GROUP 9
0671 #define MPI_ERR_OP 10
0672 #define MPI_ERR_TOPOLOGY 11
0673 #define MPI_ERR_DIMS 12
0674 #define MPI_ERR_ARG 13
0675 #define MPI_ERR_UNKNOWN 14
0676 #define MPI_ERR_TRUNCATE 15
0677 #define MPI_ERR_OTHER 16
0678 #define MPI_ERR_INTERN 17
0679 #define MPI_ERR_IN_STATUS 18
0680 #define MPI_ERR_PENDING 19
0681 #define MPI_ERR_ACCESS 20
0682 #define MPI_ERR_AMODE 21
0683 #define MPI_ERR_ASSERT 22
0684 #define MPI_ERR_BAD_FILE 23
0685 #define MPI_ERR_BASE 24
0686 #define MPI_ERR_CONVERSION 25
0687 #define MPI_ERR_DISP 26
0688 #define MPI_ERR_DUP_DATAREP 27
0689 #define MPI_ERR_FILE_EXISTS 28
0690 #define MPI_ERR_FILE_IN_USE 29
0691 #define MPI_ERR_FILE 30
0692 #define MPI_ERR_INFO_KEY 31
0693 #define MPI_ERR_INFO_NOKEY 32
0694 #define MPI_ERR_INFO_VALUE 33
0695 #define MPI_ERR_INFO 34
0696 #define MPI_ERR_IO 35
0697 #define MPI_ERR_KEYVAL 36
0698 #define MPI_ERR_LOCKTYPE 37
0699 #define MPI_ERR_NAME 38
0700 #define MPI_ERR_NO_MEM 39
0701 #define MPI_ERR_NOT_SAME 40
0702 #define MPI_ERR_NO_SPACE 41
0703 #define MPI_ERR_NO_SUCH_FILE 42
0704 #define MPI_ERR_PORT 43
0705 #define MPI_ERR_QUOTA 44
0706 #define MPI_ERR_READ_ONLY 45
0707 #define MPI_ERR_RMA_CONFLICT 46
0708 #define MPI_ERR_RMA_SYNC 47
0709 #define MPI_ERR_SERVICE 48
0710 #define MPI_ERR_SIZE 49
0711 #define MPI_ERR_SPAWN 50
0712 #define MPI_ERR_UNSUPPORTED_DATAREP 51
0713 #define MPI_ERR_UNSUPPORTED_OPERATION 52
0714 #define MPI_ERR_WIN 53
0715
0716 #define MPI_T_ERR_MEMORY 54
0717 #define MPI_T_ERR_NOT_INITIALIZED 55
0718 #define MPI_T_ERR_CANNOT_INIT 56
0719 #define MPI_T_ERR_INVALID_INDEX 57
0720 #define MPI_T_ERR_INVALID_ITEM 58
0721 #define MPI_T_ERR_INVALID_HANDLE 59
0722 #define MPI_T_ERR_OUT_OF_HANDLES 60
0723 #define MPI_T_ERR_OUT_OF_SESSIONS 61
0724 #define MPI_T_ERR_INVALID_SESSION 62
0725 #define MPI_T_ERR_CVAR_SET_NOT_NOW 63
0726 #define MPI_T_ERR_CVAR_SET_NEVER 64
0727 #define MPI_T_ERR_PVAR_NO_STARTSTOP 65
0728 #define MPI_T_ERR_PVAR_NO_WRITE 66
0729 #define MPI_T_ERR_PVAR_NO_ATOMIC 67
0730 #define MPI_ERR_RMA_RANGE 68
0731 #define MPI_ERR_RMA_ATTACH 69
0732 #define MPI_ERR_RMA_FLAVOR 70
0733 #define MPI_ERR_RMA_SHARED 71
0734 #define MPI_T_ERR_INVALID 72
0735 #define MPI_T_ERR_INVALID_NAME 73
0736 #define MPI_ERR_PROC_ABORTED 74
0737
0738
0739 #define MPI_ERR_PROC_FAILED 75
0740 #define MPI_ERR_PROC_FAILED_PENDING 76
0741 #define MPI_ERR_REVOKED 77
0742 #define MPI_ERR_SESSION 78
0743 #define MPI_ERR_VALUE_TOO_LARGE 79
0744
0745
0746
0747
0748 #define MPI_ERR_LASTCODE 92
0749
0750
0751
0752
0753
0754
0755
0756 enum {
0757 MPI_IDENT,
0758 MPI_CONGRUENT,
0759 MPI_SIMILAR,
0760 MPI_UNEQUAL
0761 };
0762
0763
0764
0765
0766
0767
0768 enum {
0769 MPI_THREAD_SINGLE,
0770 MPI_THREAD_FUNNELED,
0771 MPI_THREAD_SERIALIZED,
0772 MPI_THREAD_MULTIPLE
0773 };
0774
0775
0776
0777
0778
0779
0780 enum {
0781 MPI_COMBINER_NAMED,
0782 MPI_COMBINER_DUP,
0783 MPI_COMBINER_CONTIGUOUS,
0784 MPI_COMBINER_VECTOR,
0785 #if (!OMPI_OMIT_MPI1_COMPAT_DECLS)
0786 MPI_COMBINER_HVECTOR_INTEGER,
0787 #else
0788 OMPI_WAS_MPI_COMBINER_HVECTOR_INTEGER,
0789 #endif
0790 MPI_COMBINER_HVECTOR,
0791 MPI_COMBINER_INDEXED,
0792 #if (!OMPI_OMIT_MPI1_COMPAT_DECLS)
0793 MPI_COMBINER_HINDEXED_INTEGER,
0794 #else
0795 OMPI_WAS_MPI_COMBINER_HINDEXED_INTEGER,
0796 #endif
0797 MPI_COMBINER_HINDEXED,
0798 MPI_COMBINER_INDEXED_BLOCK,
0799 #if (!OMPI_OMIT_MPI1_COMPAT_DECLS)
0800 MPI_COMBINER_STRUCT_INTEGER,
0801 #else
0802 OMPI_WAS_MPI_COMBINER_STRUCT_INTEGER,
0803 #endif
0804 MPI_COMBINER_STRUCT,
0805 MPI_COMBINER_SUBARRAY,
0806 MPI_COMBINER_DARRAY,
0807 MPI_COMBINER_F90_REAL,
0808 MPI_COMBINER_F90_COMPLEX,
0809 MPI_COMBINER_F90_INTEGER,
0810 MPI_COMBINER_RESIZED,
0811 MPI_COMBINER_HINDEXED_BLOCK
0812 };
0813
0814 #if (OMPI_OMIT_MPI1_COMPAT_DECLS)
0815
0816
0817
0818
0819
0820 # if (OMPI_REMOVED_USE_STATIC_ASSERT)
0821 # define MPI_COMBINER_HVECTOR_INTEGER THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_COMBINER_HVECTOR_INTEGER, MPI_COMBINER_HVECTOR);
0822 # define MPI_COMBINER_HINDEXED_INTEGER THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_COMBINER_HINDEXED_INTEGER, MPI_COMBINER_HINDEXED);
0823 # define MPI_COMBINER_STRUCT_INTEGER THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_COMBINER_STRUCT_INTEGER, MPI_COMBINER_STRUCT);
0824 # endif
0825 #endif
0826
0827
0828
0829
0830
0831
0832 enum {
0833 MPI_COMM_TYPE_SHARED,
0834 OMPI_COMM_TYPE_HWTHREAD,
0835 OMPI_COMM_TYPE_CORE,
0836 OMPI_COMM_TYPE_L1CACHE,
0837 OMPI_COMM_TYPE_L2CACHE,
0838 OMPI_COMM_TYPE_L3CACHE,
0839 OMPI_COMM_TYPE_SOCKET,
0840 OMPI_COMM_TYPE_NUMA,
0841 OMPI_COMM_TYPE_BOARD,
0842 OMPI_COMM_TYPE_HOST,
0843 OMPI_COMM_TYPE_CU,
0844 OMPI_COMM_TYPE_CLUSTER,
0845 MPI_COMM_TYPE_HW_UNGUIDED,
0846 MPI_COMM_TYPE_HW_GUIDED
0847 };
0848 #define OMPI_COMM_TYPE_NODE MPI_COMM_TYPE_SHARED
0849
0850
0851
0852
0853 enum {
0854 MPI_T_VERBOSITY_USER_BASIC,
0855 MPI_T_VERBOSITY_USER_DETAIL,
0856 MPI_T_VERBOSITY_USER_ALL,
0857 MPI_T_VERBOSITY_TUNER_BASIC,
0858 MPI_T_VERBOSITY_TUNER_DETAIL,
0859 MPI_T_VERBOSITY_TUNER_ALL,
0860 MPI_T_VERBOSITY_MPIDEV_BASIC,
0861 MPI_T_VERBOSITY_MPIDEV_DETAIL,
0862 MPI_T_VERBOSITY_MPIDEV_ALL
0863 };
0864
0865
0866
0867
0868 enum {
0869 MPI_T_SCOPE_CONSTANT,
0870 MPI_T_SCOPE_READONLY,
0871 MPI_T_SCOPE_LOCAL,
0872 MPI_T_SCOPE_GROUP,
0873 MPI_T_SCOPE_GROUP_EQ,
0874 MPI_T_SCOPE_ALL,
0875 MPI_T_SCOPE_ALL_EQ
0876 };
0877
0878
0879
0880
0881 enum {
0882 MPI_T_BIND_NO_OBJECT,
0883 MPI_T_BIND_MPI_COMM,
0884 MPI_T_BIND_MPI_DATATYPE,
0885 MPI_T_BIND_MPI_ERRHANDLER,
0886 MPI_T_BIND_MPI_FILE,
0887 MPI_T_BIND_MPI_GROUP,
0888 MPI_T_BIND_MPI_OP,
0889 MPI_T_BIND_MPI_REQUEST,
0890 MPI_T_BIND_MPI_WIN,
0891 MPI_T_BIND_MPI_MESSAGE,
0892 MPI_T_BIND_MPI_INFO
0893 };
0894
0895
0896
0897
0898 enum {
0899 MPI_T_PVAR_CLASS_STATE,
0900 MPI_T_PVAR_CLASS_LEVEL,
0901 MPI_T_PVAR_CLASS_SIZE,
0902 MPI_T_PVAR_CLASS_PERCENTAGE,
0903 MPI_T_PVAR_CLASS_HIGHWATERMARK,
0904 MPI_T_PVAR_CLASS_LOWWATERMARK,
0905 MPI_T_PVAR_CLASS_COUNTER,
0906 MPI_T_PVAR_CLASS_AGGREGATE,
0907 MPI_T_PVAR_CLASS_TIMER,
0908 MPI_T_PVAR_CLASS_GENERIC
0909 };
0910
0911
0912
0913
0914 #define MPI_SESSION_NULL OMPI_PREDEFINED_GLOBAL(MPI_Session, ompi_mpi_instance_null)
0915 #define MPI_GROUP_NULL OMPI_PREDEFINED_GLOBAL(MPI_Group, ompi_mpi_group_null)
0916 #define MPI_COMM_NULL OMPI_PREDEFINED_GLOBAL(MPI_Comm, ompi_mpi_comm_null)
0917 #define MPI_REQUEST_NULL OMPI_PREDEFINED_GLOBAL(MPI_Request, ompi_request_null)
0918 #define MPI_MESSAGE_NULL OMPI_PREDEFINED_GLOBAL(MPI_Message, ompi_message_null)
0919 #define MPI_OP_NULL OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_null)
0920 #define MPI_ERRHANDLER_NULL OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errhandler_null)
0921 #define MPI_INFO_NULL OMPI_PREDEFINED_GLOBAL(MPI_Info, ompi_mpi_info_null)
0922 #define MPI_WIN_NULL OMPI_PREDEFINED_GLOBAL(MPI_Win, ompi_mpi_win_null)
0923 #define MPI_FILE_NULL OMPI_PREDEFINED_GLOBAL(MPI_File, ompi_mpi_file_null)
0924 #define MPI_T_ENUM_NULL ((MPI_T_enum) NULL)
0925
0926
0927
0928
0929 #define MPI_INFO_ENV OMPI_PREDEFINED_GLOBAL(MPI_Info, ompi_mpi_info_env)
0930
0931 #if defined(c_plusplus) || defined(__cplusplus)
0932 #define MPI_STATUS_IGNORE (static_cast<MPI_Status *> (0))
0933 #define MPI_STATUSES_IGNORE (static_cast<MPI_Status *> (0))
0934 #else
0935 #define MPI_STATUS_IGNORE ((MPI_Status *) 0)
0936 #define MPI_STATUSES_IGNORE ((MPI_Status *) 0)
0937 #endif
0938
0939
0940
0941
0942 #define MPI_T_PVAR_ALL_HANDLES ((MPI_T_pvar_handle) -1)
0943 #define MPI_T_PVAR_HANDLE_NULL ((MPI_T_pvar_handle) 0)
0944 #define MPI_T_PVAR_SESSION_NULL ((MPI_T_pvar_session) 0)
0945 #define MPI_T_CVAR_HANDLE_NULL ((MPI_T_cvar_handle) 0)
0946
0947
0948
0949
0950
0951
0952
0953
0954
0955
0956
0957
0958
0959
0960
0961
0962
0963 #if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS)
0964
0965 #define MPI_TYPE_NULL_DELETE_FN OMPI_C_MPI_TYPE_NULL_DELETE_FN
0966 #define MPI_TYPE_NULL_COPY_FN OMPI_C_MPI_TYPE_NULL_COPY_FN
0967 #define MPI_TYPE_DUP_FN OMPI_C_MPI_TYPE_DUP_FN
0968
0969 #define MPI_COMM_NULL_DELETE_FN OMPI_C_MPI_COMM_NULL_DELETE_FN
0970 #define MPI_COMM_NULL_COPY_FN OMPI_C_MPI_COMM_NULL_COPY_FN
0971 #define MPI_COMM_DUP_FN OMPI_C_MPI_COMM_DUP_FN
0972
0973 #define MPI_WIN_NULL_DELETE_FN OMPI_C_MPI_WIN_NULL_DELETE_FN
0974 #define MPI_WIN_NULL_COPY_FN OMPI_C_MPI_WIN_NULL_COPY_FN
0975 #define MPI_WIN_DUP_FN OMPI_C_MPI_WIN_DUP_FN
0976
0977
0978
0979
0980
0981
0982
0983
0984 #define MPI_CONVERSION_FN_NULL ((MPI_Datarep_conversion_function*) 0)
0985 #endif
0986
0987 OMPI_DECLSPEC int OMPI_C_MPI_TYPE_NULL_DELETE_FN( MPI_Datatype datatype,
0988 int type_keyval,
0989 void* attribute_val_out,
0990 void* extra_state );
0991 OMPI_DECLSPEC int OMPI_C_MPI_TYPE_NULL_COPY_FN( MPI_Datatype datatype,
0992 int type_keyval,
0993 void* extra_state,
0994 void* attribute_val_in,
0995 void* attribute_val_out,
0996 int* flag );
0997 OMPI_DECLSPEC int OMPI_C_MPI_TYPE_DUP_FN( MPI_Datatype datatype,
0998 int type_keyval,
0999 void* extra_state,
1000 void* attribute_val_in,
1001 void* attribute_val_out,
1002 int* flag );
1003 OMPI_DECLSPEC int OMPI_C_MPI_COMM_NULL_DELETE_FN( MPI_Comm comm,
1004 int comm_keyval,
1005 void* attribute_val_out,
1006 void* extra_state );
1007 OMPI_DECLSPEC int OMPI_C_MPI_COMM_NULL_COPY_FN( MPI_Comm comm,
1008 int comm_keyval,
1009 void* extra_state,
1010 void* attribute_val_in,
1011 void* attribute_val_out,
1012 int* flag );
1013 OMPI_DECLSPEC int OMPI_C_MPI_COMM_DUP_FN( MPI_Comm comm, int comm_keyval,
1014 void* extra_state,
1015 void* attribute_val_in,
1016 void* attribute_val_out,
1017 int* flag );
1018 OMPI_DECLSPEC int OMPI_C_MPI_WIN_NULL_DELETE_FN( MPI_Win window,
1019 int win_keyval,
1020 void* attribute_val_out,
1021 void* extra_state );
1022 OMPI_DECLSPEC int OMPI_C_MPI_WIN_NULL_COPY_FN( MPI_Win window, int win_keyval,
1023 void* extra_state,
1024 void* attribute_val_in,
1025 void* attribute_val_out,
1026 int* flag );
1027 OMPI_DECLSPEC int OMPI_C_MPI_WIN_DUP_FN( MPI_Win window, int win_keyval,
1028 void* extra_state,
1029 void* attribute_val_in,
1030 void* attribute_val_out,
1031 int* flag );
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041 OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_world;
1042 OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_self;
1043 OMPI_DECLSPEC extern struct ompi_predefined_communicator_t ompi_mpi_comm_null;
1044
1045 OMPI_DECLSPEC extern struct ompi_predefined_group_t ompi_mpi_group_empty;
1046 OMPI_DECLSPEC extern struct ompi_predefined_group_t ompi_mpi_group_null;
1047
1048 OMPI_DECLSPEC extern struct ompi_predefined_instance_t ompi_mpi_instance_null;
1049
1050 OMPI_DECLSPEC extern struct ompi_predefined_request_t ompi_request_null;
1051
1052 OMPI_DECLSPEC extern struct ompi_predefined_message_t ompi_message_null;
1053 OMPI_DECLSPEC extern struct ompi_predefined_message_t ompi_message_no_proc;
1054
1055 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_null;
1056 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_min;
1057 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_max;
1058 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_sum;
1059 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_prod;
1060 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_land;
1061 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_band;
1062 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lor;
1063 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_bor;
1064 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_lxor;
1065 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_bxor;
1066 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_maxloc;
1067 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_minloc;
1068 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_replace;
1069 OMPI_DECLSPEC extern struct ompi_predefined_op_t ompi_mpi_op_no_op;
1070
1071
1072 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_datatype_null;
1073
1074 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_char;
1075 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_signed_char;
1076 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_char;
1077 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_byte;
1078 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_short;
1079 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_short;
1080 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int;
1081 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned;
1082 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long;
1083 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_long;
1084 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_long_int;
1085 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_unsigned_long_long;
1086 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_float;
1087 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_double;
1088 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_double;
1089 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_wchar;
1090 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_packed;
1091
1092
1093
1094
1095 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_bool;
1096 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_cplex;
1097 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_dblcplex;
1098 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cxx_ldblcplex;
1099
1100
1101
1102
1103 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical;
1104 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_character;
1105 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer;
1106 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real;
1107 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_dblprec;
1108 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_cplex;
1109 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_dblcplex;
1110 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ldblcplex;
1111
1112
1113 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2int;
1114 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2integer;
1115 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2real;
1116 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2dblprec;
1117 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2cplex;
1118 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_2dblcplex;
1119
1120 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_float_int;
1121 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_double_int;
1122 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_longdbl_int;
1123 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_short_int;
1124 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_long_int;
1125
1126
1127 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical1;
1128 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical2;
1129 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical4;
1130 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_logical8;
1131 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer1;
1132 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer2;
1133 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer4;
1134 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer8;
1135 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_integer16;
1136 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real2;
1137 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real4;
1138 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real8;
1139 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_real16;
1140 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex4;
1141 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex8;
1142 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex16;
1143 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_complex32;
1144
1145
1146 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int8_t;
1147 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_uint8_t;
1148 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int16_t;
1149 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_uint16_t;
1150 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int32_t;
1151 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_uint32_t;
1152 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_int64_t;
1153 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_uint64_t;
1154 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_aint;
1155 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_offset;
1156 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_count;
1157 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_c_bool;
1158 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_c_float_complex;
1159 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_c_double_complex;
1160 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_c_long_double_complex;
1161
1162 OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errhandler_null;
1163 OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errors_are_fatal;
1164 OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errors_abort;
1165 OMPI_DECLSPEC extern struct ompi_predefined_errhandler_t ompi_mpi_errors_return;
1166
1167 OMPI_DECLSPEC extern struct ompi_predefined_win_t ompi_mpi_win_null;
1168 OMPI_DECLSPEC extern struct ompi_predefined_file_t ompi_mpi_file_null;
1169
1170 OMPI_DECLSPEC extern struct ompi_predefined_info_t ompi_mpi_info_null;
1171 OMPI_DECLSPEC extern struct ompi_predefined_info_t ompi_mpi_info_env;
1172
1173 OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUS_IGNORE;
1174 OMPI_DECLSPEC extern MPI_Fint *MPI_F_STATUSES_IGNORE;
1175
1176 OMPI_DECLSPEC extern MPI_Fint *MPI_F08_STATUS_IGNORE;
1177 OMPI_DECLSPEC extern MPI_Fint *MPI_F08_STATUSES_IGNORE;
1178
1179
1180
1181
1182
1183
1184
1185
1186 #if (!OMPI_OMIT_MPI1_COMPAT_DECLS)
1187 # define MPI_UB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_ub)
1188 # define MPI_LB OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_lb)
1189
1190 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_lb;
1191 OMPI_DECLSPEC extern struct ompi_predefined_datatype_t ompi_mpi_ub;
1192
1193 #else
1194
1195
1196
1197
1198
1199 # if (OMPI_REMOVED_USE_STATIC_ASSERT)
1200 # define MPI_UB THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_UB, MPI_Type_create_resized);
1201 # define MPI_LB THIS_SYMBOL_WAS_REMOVED_IN_MPI30(MPI_LB, MPI_Type_create_resized);
1202 # endif
1203 #endif
1204
1205
1206
1207
1208
1209 #define MPI_COMM_WORLD OMPI_PREDEFINED_GLOBAL( MPI_Comm, ompi_mpi_comm_world)
1210 #define MPI_COMM_SELF OMPI_PREDEFINED_GLOBAL(MPI_Comm, ompi_mpi_comm_self)
1211
1212 #define MPI_GROUP_EMPTY OMPI_PREDEFINED_GLOBAL(MPI_Group, ompi_mpi_group_empty)
1213
1214 #define MPI_MESSAGE_NO_PROC OMPI_PREDEFINED_GLOBAL(MPI_Message, ompi_message_no_proc)
1215
1216 #define MPI_MAX OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_max)
1217 #define MPI_MIN OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_min)
1218 #define MPI_SUM OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_sum)
1219 #define MPI_PROD OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_prod)
1220 #define MPI_LAND OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_land)
1221 #define MPI_BAND OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_band)
1222 #define MPI_LOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_lor)
1223 #define MPI_BOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_bor)
1224 #define MPI_LXOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_lxor)
1225 #define MPI_BXOR OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_bxor)
1226 #define MPI_MAXLOC OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_maxloc)
1227 #define MPI_MINLOC OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_minloc)
1228 #define MPI_REPLACE OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_replace)
1229 #define MPI_NO_OP OMPI_PREDEFINED_GLOBAL(MPI_Op, ompi_mpi_op_no_op)
1230
1231
1232 #define MPI_DATATYPE_NULL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_datatype_null)
1233 #define MPI_BYTE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_byte)
1234 #define MPI_PACKED OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_packed)
1235 #define MPI_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_char)
1236 #define MPI_SHORT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_short)
1237 #define MPI_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int)
1238 #define MPI_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long)
1239 #define MPI_FLOAT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_float)
1240 #define MPI_DOUBLE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_double)
1241 #define MPI_LONG_DOUBLE OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_double)
1242 #define MPI_UNSIGNED_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_char)
1243 #define MPI_SIGNED_CHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_signed_char)
1244 #define MPI_UNSIGNED_SHORT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_short)
1245 #define MPI_UNSIGNED_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_long)
1246 #define MPI_UNSIGNED OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned)
1247 #define MPI_FLOAT_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_float_int)
1248 #define MPI_DOUBLE_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_double_int)
1249 #define MPI_LONG_DOUBLE_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_longdbl_int)
1250 #define MPI_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_int)
1251 #define MPI_SHORT_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_short_int)
1252 #define MPI_2INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2int)
1253
1254 #define MPI_WCHAR OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_wchar)
1255 #if OPAL_HAVE_LONG_LONG
1256 #define MPI_LONG_LONG_INT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_long_int)
1257 #define MPI_LONG_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_long_long_int)
1258 #define MPI_UNSIGNED_LONG_LONG OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_unsigned_long_long)
1259 #endif
1260 #define MPI_2COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2cplex)
1261 #define MPI_2DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2dblcplex)
1262
1263
1264 #define MPI_CHARACTER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_character)
1265 #define MPI_LOGICAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical)
1266 #if OMPI_HAVE_FORTRAN_LOGICAL1
1267 #define MPI_LOGICAL1 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical1)
1268 #endif
1269 #if OMPI_HAVE_FORTRAN_LOGICAL2
1270 #define MPI_LOGICAL2 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical2)
1271 #endif
1272 #if OMPI_HAVE_FORTRAN_LOGICAL4
1273 #define MPI_LOGICAL4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical4)
1274 #endif
1275 #if OMPI_HAVE_FORTRAN_LOGICAL8
1276 #define MPI_LOGICAL8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_logical8)
1277 #endif
1278 #define MPI_INTEGER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer)
1279 #if OMPI_HAVE_FORTRAN_INTEGER1
1280 #define MPI_INTEGER1 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer1)
1281 #endif
1282 #if OMPI_HAVE_FORTRAN_INTEGER2
1283 #define MPI_INTEGER2 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer2)
1284 #endif
1285 #if OMPI_HAVE_FORTRAN_INTEGER4
1286 #define MPI_INTEGER4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer4)
1287 #endif
1288 #if OMPI_HAVE_FORTRAN_INTEGER8
1289 #define MPI_INTEGER8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer8)
1290 #endif
1291 #if OMPI_HAVE_FORTRAN_INTEGER16
1292 #define MPI_INTEGER16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_integer16)
1293 #endif
1294 #define MPI_REAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real)
1295 #if OMPI_HAVE_FORTRAN_REAL2
1296 #define MPI_REAL2 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real2)
1297 #endif
1298 #if OMPI_HAVE_FORTRAN_REAL4
1299 #define MPI_REAL4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real4)
1300 #endif
1301 #if OMPI_HAVE_FORTRAN_REAL8
1302 #define MPI_REAL8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real8)
1303 #endif
1304 #if OMPI_HAVE_FORTRAN_REAL16
1305 #define MPI_REAL16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_real16)
1306 #endif
1307 #define MPI_DOUBLE_PRECISION OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_dblprec)
1308 #define MPI_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cplex)
1309 #if OMPI_HAVE_FORTRAN_REAL2
1310 #define MPI_COMPLEX4 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex4)
1311 #endif
1312 #if OMPI_HAVE_FORTRAN_REAL4
1313 #define MPI_COMPLEX8 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex8)
1314 #endif
1315 #if OMPI_HAVE_FORTRAN_REAL8
1316 #define MPI_COMPLEX16 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex16)
1317 #endif
1318 #if OMPI_HAVE_FORTRAN_REAL16
1319 #define MPI_COMPLEX32 OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_complex32)
1320 #endif
1321 #define MPI_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_dblcplex)
1322 #define MPI_2REAL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2real)
1323 #define MPI_2DOUBLE_PRECISION OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2dblprec)
1324 #define MPI_2INTEGER OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_2integer)
1325
1326
1327 #define MPI_INT8_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int8_t)
1328 #define MPI_UINT8_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_uint8_t)
1329 #define MPI_INT16_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int16_t)
1330 #define MPI_UINT16_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_uint16_t)
1331 #define MPI_INT32_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int32_t)
1332 #define MPI_UINT32_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_uint32_t)
1333 #define MPI_INT64_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_int64_t)
1334 #define MPI_UINT64_T OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_uint64_t)
1335 #define MPI_AINT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_aint)
1336 #define MPI_OFFSET OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_offset)
1337 #define MPI_C_BOOL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_bool)
1338 #if HAVE_FLOAT__COMPLEX
1339 #define MPI_C_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_float_complex)
1340 #define MPI_C_FLOAT_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_float_complex)
1341 #endif
1342 #if HAVE_DOUBLE__COMPLEX
1343 #define MPI_C_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_double_complex)
1344 #endif
1345 #if HAVE_LONG_DOUBLE__COMPLEX
1346 #define MPI_C_LONG_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_c_long_double_complex)
1347 #endif
1348 #define MPI_CXX_BOOL OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_bool)
1349 #define MPI_CXX_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_cplex)
1350 #define MPI_CXX_FLOAT_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_cplex)
1351 #define MPI_CXX_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_dblcplex)
1352 #define MPI_CXX_LONG_DOUBLE_COMPLEX OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_cxx_ldblcplex)
1353
1354
1355 #define MPI_COUNT OMPI_PREDEFINED_GLOBAL(MPI_Datatype, ompi_mpi_count)
1356
1357 #define MPI_ERRORS_ARE_FATAL OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errors_are_fatal)
1358 #define MPI_ERRORS_ABORT OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errors_abort)
1359 #define MPI_ERRORS_RETURN OMPI_PREDEFINED_GLOBAL(MPI_Errhandler, ompi_mpi_errors_return)
1360
1361
1362 #define MPI_TYPECLASS_INTEGER 1
1363 #define MPI_TYPECLASS_REAL 2
1364 #define MPI_TYPECLASS_COMPLEX 3
1365
1366
1367 #define MPI_Aint_add(base, disp) ((MPI_Aint) ((char *) (base) + (disp)))
1368 #define MPI_Aint_diff(addr1, addr2) ((MPI_Aint) ((char *) (addr1) - (char *) (addr2)))
1369 #define PMPI_Aint_add(base, disp) MPI_Aint_add(base, disp)
1370 #define PMPI_Aint_diff(addr1, addr2) MPI_Aint_diff(addr1, addr2)
1371
1372
1373
1374
1375 #define MPI_INFO_KEY_SESSION_PSET_SIZE "mpi_size"
1376
1377
1378
1379
1380
1381 OMPI_DECLSPEC int MPI_Abort(MPI_Comm comm, int errorcode);
1382 OMPI_DECLSPEC int MPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
1383 int target_rank, MPI_Aint target_disp, int target_count,
1384 MPI_Datatype target_datatype, MPI_Op op, MPI_Win win);
1385 OMPI_DECLSPEC int MPI_Add_error_class(int *errorclass);
1386 OMPI_DECLSPEC int MPI_Add_error_code(int errorclass, int *errorcode);
1387 OMPI_DECLSPEC int MPI_Add_error_string(int errorcode, const char *string);
1388 OMPI_DECLSPEC int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1389 void *recvbuf, int recvcount,
1390 MPI_Datatype recvtype, MPI_Comm comm);
1391 OMPI_DECLSPEC int MPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1392 void *recvbuf, int recvcount,
1393 MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request);
1394 OMPI_DECLSPEC int MPI_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1395 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1396 MPI_Comm comm, MPI_Info info, MPI_Request *request);
1397 OMPI_DECLSPEC int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1398 void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
1399 MPI_Comm comm);
1400 OMPI_DECLSPEC int MPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1401 void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
1402 MPI_Comm comm, MPI_Request *request);
1403 OMPI_DECLSPEC int MPI_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1404 void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
1405 MPI_Comm comm, MPI_Info info, MPI_Request *request);
1406 OMPI_DECLSPEC int MPI_Alloc_mem(MPI_Aint size, MPI_Info info,
1407 void *baseptr);
1408 OMPI_DECLSPEC int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
1409 MPI_Op op, MPI_Comm comm);
1410 OMPI_DECLSPEC int MPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
1411 MPI_Op op, MPI_Comm comm, MPI_Request *request);
1412 OMPI_DECLSPEC int MPI_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
1413 MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
1414 OMPI_DECLSPEC int MPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1415 void *recvbuf, int recvcount,
1416 MPI_Datatype recvtype, MPI_Comm comm);
1417 OMPI_DECLSPEC int MPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1418 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1419 MPI_Comm comm, MPI_Request *request);
1420 OMPI_DECLSPEC int MPI_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1421 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1422 MPI_Comm comm, MPI_Info info, MPI_Request *request);
1423 OMPI_DECLSPEC int MPI_Alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
1424 void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
1425 MPI_Comm comm);
1426 OMPI_DECLSPEC int MPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
1427 void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
1428 MPI_Comm comm, MPI_Request *request);
1429 OMPI_DECLSPEC int MPI_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
1430 void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
1431 MPI_Comm comm, MPI_Info info, MPI_Request *request);
1432 OMPI_DECLSPEC int MPI_Alltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[],
1433 void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[],
1434 MPI_Comm comm);
1435 OMPI_DECLSPEC int MPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[],
1436 void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[],
1437 MPI_Comm comm, MPI_Request *request);
1438 OMPI_DECLSPEC int MPI_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[],
1439 void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[],
1440 MPI_Comm comm, MPI_Info info, MPI_Request *request);
1441 OMPI_DECLSPEC int MPI_Barrier(MPI_Comm comm);
1442 OMPI_DECLSPEC int MPI_Ibarrier(MPI_Comm comm, MPI_Request *request);
1443 OMPI_DECLSPEC int MPI_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request);
1444 OMPI_DECLSPEC int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype,
1445 int root, MPI_Comm comm);
1446 OMPI_DECLSPEC int MPI_Ibcast(void *buffer, int count, MPI_Datatype datatype,
1447 int root, MPI_Comm comm, MPI_Request *request);
1448 OMPI_DECLSPEC int MPI_Bcast_init(void *buffer, int count, MPI_Datatype datatype,
1449 int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
1450 OMPI_DECLSPEC int MPI_Bsend(const void *buf, int count, MPI_Datatype datatype,
1451 int dest, int tag, MPI_Comm comm);
1452 OMPI_DECLSPEC int MPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype,
1453 int dest, int tag, MPI_Comm comm, MPI_Request *request);
1454 OMPI_DECLSPEC int MPI_Buffer_attach(void *buffer, int size);
1455 OMPI_DECLSPEC int MPI_Buffer_detach(void *buffer, int *size);
1456 OMPI_DECLSPEC int MPI_Cancel(MPI_Request *request);
1457 OMPI_DECLSPEC int MPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[]);
1458 OMPI_DECLSPEC int MPI_Cart_create(MPI_Comm old_comm, int ndims, const int dims[],
1459 const int periods[], int reorder, MPI_Comm *comm_cart);
1460 OMPI_DECLSPEC int MPI_Cart_get(MPI_Comm comm, int maxdims, int dims[],
1461 int periods[], int coords[]);
1462 OMPI_DECLSPEC int MPI_Cart_map(MPI_Comm comm, int ndims, const int dims[],
1463 const int periods[], int *newrank);
1464 OMPI_DECLSPEC int MPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank);
1465 OMPI_DECLSPEC int MPI_Cart_shift(MPI_Comm comm, int direction, int disp,
1466 int *rank_source, int *rank_dest);
1467 OMPI_DECLSPEC int MPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *new_comm);
1468 OMPI_DECLSPEC int MPI_Cartdim_get(MPI_Comm comm, int *ndims);
1469 OMPI_DECLSPEC int MPI_Close_port(const char *port_name);
1470 OMPI_DECLSPEC int MPI_Comm_accept(const char *port_name, MPI_Info info, int root,
1471 MPI_Comm comm, MPI_Comm *newcomm);
1472 OMPI_DECLSPEC MPI_Fint MPI_Comm_c2f(MPI_Comm comm);
1473 OMPI_DECLSPEC int MPI_Comm_call_errhandler(MPI_Comm comm, int errorcode);
1474 OMPI_DECLSPEC int MPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result);
1475 OMPI_DECLSPEC int MPI_Comm_connect(const char *port_name, MPI_Info info, int root,
1476 MPI_Comm comm, MPI_Comm *newcomm);
1477 OMPI_DECLSPEC int MPI_Comm_create_errhandler(MPI_Comm_errhandler_function *function,
1478 MPI_Errhandler *errhandler);
1479 OMPI_DECLSPEC int MPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn,
1480 MPI_Comm_delete_attr_function *comm_delete_attr_fn,
1481 int *comm_keyval, void *extra_state);
1482 OMPI_DECLSPEC int MPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm);
1483 OMPI_DECLSPEC int MPI_Comm_create_from_group(MPI_Group group, const char *tag, MPI_Info info,
1484 MPI_Errhandler errhandler, MPI_Comm *newcomm);
1485 OMPI_DECLSPEC int MPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm);
1486 OMPI_DECLSPEC int MPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval);
1487 OMPI_DECLSPEC int MPI_Comm_disconnect(MPI_Comm *comm);
1488 OMPI_DECLSPEC int MPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm);
1489 OMPI_DECLSPEC int MPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request);
1490 OMPI_DECLSPEC int MPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm);
1491 OMPI_DECLSPEC int MPI_Comm_idup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm,
1492 MPI_Request *request);
1493 OMPI_DECLSPEC MPI_Comm MPI_Comm_f2c(MPI_Fint comm);
1494 OMPI_DECLSPEC int MPI_Comm_free_keyval(int *comm_keyval);
1495 OMPI_DECLSPEC int MPI_Comm_free(MPI_Comm *comm);
1496 OMPI_DECLSPEC int MPI_Comm_get_attr(MPI_Comm comm, int comm_keyval,
1497 void *attribute_val, int *flag);
1498 OMPI_DECLSPEC int MPI_Dist_graph_create(MPI_Comm comm_old, int n, const int nodes[],
1499 const int degrees[], const int targets[],
1500 const int weights[], MPI_Info info,
1501 int reorder, MPI_Comm * newcomm);
1502 OMPI_DECLSPEC int MPI_Dist_graph_create_adjacent(MPI_Comm comm_old,
1503 int indegree, const int sources[],
1504 const int sourceweights[],
1505 int outdegree,
1506 const int destinations[],
1507 const int destweights[],
1508 MPI_Info info, int reorder,
1509 MPI_Comm *comm_dist_graph);
1510 OMPI_DECLSPEC int MPI_Dist_graph_neighbors(MPI_Comm comm, int maxindegree,
1511 int sources[], int sourceweights[],
1512 int maxoutdegree,
1513 int destinations[],
1514 int destweights[]);
1515 OMPI_DECLSPEC int MPI_Dist_graph_neighbors_count(MPI_Comm comm,
1516 int *inneighbors,
1517 int *outneighbors,
1518 int *weighted);
1519 OMPI_DECLSPEC int MPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *erhandler);
1520 OMPI_DECLSPEC int MPI_Comm_get_info(MPI_Comm comm, MPI_Info *info_used);
1521 OMPI_DECLSPEC int MPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen);
1522 OMPI_DECLSPEC int MPI_Comm_get_parent(MPI_Comm *parent);
1523 OMPI_DECLSPEC int MPI_Comm_group(MPI_Comm comm, MPI_Group *group);
1524 OMPI_DECLSPEC int MPI_Comm_join(int fd, MPI_Comm *intercomm);
1525 OMPI_DECLSPEC int MPI_Comm_rank(MPI_Comm comm, int *rank);
1526 OMPI_DECLSPEC int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group);
1527 OMPI_DECLSPEC int MPI_Comm_remote_size(MPI_Comm comm, int *size);
1528 OMPI_DECLSPEC int MPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val);
1529 OMPI_DECLSPEC int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler);
1530 OMPI_DECLSPEC int MPI_Comm_set_info(MPI_Comm comm, MPI_Info info);
1531 OMPI_DECLSPEC int MPI_Comm_set_name(MPI_Comm comm, const char *comm_name);
1532 OMPI_DECLSPEC int MPI_Comm_size(MPI_Comm comm, int *size);
1533 OMPI_DECLSPEC int MPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info,
1534 int root, MPI_Comm comm, MPI_Comm *intercomm,
1535 int array_of_errcodes[]);
1536 OMPI_DECLSPEC int MPI_Comm_spawn_multiple(int count, char *array_of_commands[], char **array_of_argv[],
1537 const int array_of_maxprocs[], const MPI_Info array_of_info[],
1538 int root, MPI_Comm comm, MPI_Comm *intercomm,
1539 int array_of_errcodes[]);
1540 OMPI_DECLSPEC int MPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm);
1541 OMPI_DECLSPEC int MPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm);
1542 OMPI_DECLSPEC int MPI_Comm_test_inter(MPI_Comm comm, int *flag);
1543 OMPI_DECLSPEC int MPI_Compare_and_swap(const void *origin_addr, const void *compare_addr,
1544 void *result_addr, MPI_Datatype datatype, int target_rank,
1545 MPI_Aint target_disp, MPI_Win win);
1546 OMPI_DECLSPEC int MPI_Dims_create(int nnodes, int ndims, int dims[]);
1547 OMPI_DECLSPEC MPI_Fint MPI_Errhandler_c2f(MPI_Errhandler errhandler);
1548 OMPI_DECLSPEC MPI_Errhandler MPI_Errhandler_f2c(MPI_Fint errhandler);
1549 OMPI_DECLSPEC int MPI_Errhandler_free(MPI_Errhandler *errhandler);
1550 OMPI_DECLSPEC int MPI_Error_class(int errorcode, int *errorclass);
1551 OMPI_DECLSPEC int MPI_Error_string(int errorcode, char *string, int *resultlen);
1552 OMPI_DECLSPEC int MPI_Exscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
1553 MPI_Op op, MPI_Comm comm);
1554 OMPI_DECLSPEC int MPI_Iexscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
1555 MPI_Op op, MPI_Comm comm, MPI_Request *request);
1556 OMPI_DECLSPEC int MPI_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
1557 MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
1558 OMPI_DECLSPEC int MPI_Fetch_and_op(const void *origin_addr, void *result_addr, MPI_Datatype datatype,
1559 int target_rank, MPI_Aint target_disp, MPI_Op op, MPI_Win win);
1560 OMPI_DECLSPEC MPI_Fint MPI_File_c2f(MPI_File file);
1561 OMPI_DECLSPEC MPI_File MPI_File_f2c(MPI_Fint file);
1562 OMPI_DECLSPEC int MPI_File_call_errhandler(MPI_File fh, int errorcode);
1563 OMPI_DECLSPEC int MPI_File_create_errhandler(MPI_File_errhandler_function *function,
1564 MPI_Errhandler *errhandler);
1565 OMPI_DECLSPEC int MPI_File_set_errhandler( MPI_File file, MPI_Errhandler errhandler);
1566 OMPI_DECLSPEC int MPI_File_get_errhandler( MPI_File file, MPI_Errhandler *errhandler);
1567 OMPI_DECLSPEC int MPI_File_open(MPI_Comm comm, const char *filename, int amode,
1568 MPI_Info info, MPI_File *fh);
1569 OMPI_DECLSPEC int MPI_File_close(MPI_File *fh);
1570 OMPI_DECLSPEC int MPI_File_delete(const char *filename, MPI_Info info);
1571 OMPI_DECLSPEC int MPI_File_set_size(MPI_File fh, MPI_Offset size);
1572 OMPI_DECLSPEC int MPI_File_preallocate(MPI_File fh, MPI_Offset size);
1573 OMPI_DECLSPEC int MPI_File_get_size(MPI_File fh, MPI_Offset *size);
1574 OMPI_DECLSPEC int MPI_File_get_group(MPI_File fh, MPI_Group *group);
1575 OMPI_DECLSPEC int MPI_File_get_amode(MPI_File fh, int *amode);
1576 OMPI_DECLSPEC int MPI_File_set_info(MPI_File fh, MPI_Info info);
1577 OMPI_DECLSPEC int MPI_File_get_info(MPI_File fh, MPI_Info *info_used);
1578 OMPI_DECLSPEC int MPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
1579 MPI_Datatype filetype, const char *datarep, MPI_Info info);
1580 OMPI_DECLSPEC int MPI_File_get_view(MPI_File fh, MPI_Offset *disp,
1581 MPI_Datatype *etype,
1582 MPI_Datatype *filetype, char *datarep);
1583 OMPI_DECLSPEC int MPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf,
1584 int count, MPI_Datatype datatype, MPI_Status *status);
1585 OMPI_DECLSPEC int MPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf,
1586 int count, MPI_Datatype datatype, MPI_Status *status);
1587 OMPI_DECLSPEC int MPI_File_write_at(MPI_File fh, MPI_Offset offset, const void *buf,
1588 int count, MPI_Datatype datatype, MPI_Status *status);
1589 OMPI_DECLSPEC int MPI_File_write_at_all(MPI_File fh, MPI_Offset offset, const void *buf,
1590 int count, MPI_Datatype datatype, MPI_Status *status);
1591 OMPI_DECLSPEC int MPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf,
1592 int count, MPI_Datatype datatype, MPI_Request *request);
1593 OMPI_DECLSPEC int MPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, const void *buf,
1594 int count, MPI_Datatype datatype, MPI_Request *request);
1595 OMPI_DECLSPEC int MPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf,
1596 int count, MPI_Datatype datatype, MPI_Request *request);
1597 OMPI_DECLSPEC int MPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf,
1598 int count, MPI_Datatype datatype, MPI_Request *request);
1599 OMPI_DECLSPEC int MPI_File_read(MPI_File fh, void *buf, int count,
1600 MPI_Datatype datatype, MPI_Status *status);
1601 OMPI_DECLSPEC int MPI_File_read_all(MPI_File fh, void *buf, int count,
1602 MPI_Datatype datatype, MPI_Status *status);
1603 OMPI_DECLSPEC int MPI_File_write(MPI_File fh, const void *buf, int count,
1604 MPI_Datatype datatype, MPI_Status *status);
1605 OMPI_DECLSPEC int MPI_File_write_all(MPI_File fh, const void *buf, int count,
1606 MPI_Datatype datatype, MPI_Status *status);
1607 OMPI_DECLSPEC int MPI_File_iread(MPI_File fh, void *buf, int count,
1608 MPI_Datatype datatype, MPI_Request *request);
1609 OMPI_DECLSPEC int MPI_File_iwrite(MPI_File fh, const void *buf, int count,
1610 MPI_Datatype datatype, MPI_Request *request);
1611 OMPI_DECLSPEC int MPI_File_iread_all(MPI_File fh, void *buf, int count,
1612 MPI_Datatype datatype, MPI_Request *request);
1613 OMPI_DECLSPEC int MPI_File_iwrite_all(MPI_File fh, const void *buf, int count,
1614 MPI_Datatype datatype, MPI_Request *request);
1615 OMPI_DECLSPEC int MPI_File_seek(MPI_File fh, MPI_Offset offset, int whence);
1616 OMPI_DECLSPEC int MPI_File_get_position(MPI_File fh, MPI_Offset *offset);
1617 OMPI_DECLSPEC int MPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset,
1618 MPI_Offset *disp);
1619 OMPI_DECLSPEC int MPI_File_read_shared(MPI_File fh, void *buf, int count,
1620 MPI_Datatype datatype, MPI_Status *status);
1621 OMPI_DECLSPEC int MPI_File_write_shared(MPI_File fh, const void *buf, int count,
1622 MPI_Datatype datatype, MPI_Status *status);
1623 OMPI_DECLSPEC int MPI_File_iread_shared(MPI_File fh, void *buf, int count,
1624 MPI_Datatype datatype, MPI_Request *request);
1625 OMPI_DECLSPEC int MPI_File_iwrite_shared(MPI_File fh, const void *buf, int count,
1626 MPI_Datatype datatype, MPI_Request *request);
1627 OMPI_DECLSPEC int MPI_File_read_ordered(MPI_File fh, void *buf, int count,
1628 MPI_Datatype datatype, MPI_Status *status);
1629 OMPI_DECLSPEC int MPI_File_write_ordered(MPI_File fh, const void *buf, int count,
1630 MPI_Datatype datatype, MPI_Status *status);
1631 OMPI_DECLSPEC int MPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence);
1632 OMPI_DECLSPEC int MPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset);
1633 OMPI_DECLSPEC int MPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf,
1634 int count, MPI_Datatype datatype);
1635 OMPI_DECLSPEC int MPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status);
1636 OMPI_DECLSPEC int MPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, const void *buf,
1637 int count, MPI_Datatype datatype);
1638 OMPI_DECLSPEC int MPI_File_write_at_all_end(MPI_File fh, const void *buf, MPI_Status *status);
1639 OMPI_DECLSPEC int MPI_File_read_all_begin(MPI_File fh, void *buf, int count,
1640 MPI_Datatype datatype);
1641 OMPI_DECLSPEC int MPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status);
1642 OMPI_DECLSPEC int MPI_File_write_all_begin(MPI_File fh, const void *buf, int count,
1643 MPI_Datatype datatype);
1644 OMPI_DECLSPEC int MPI_File_write_all_end(MPI_File fh, const void *buf, MPI_Status *status);
1645 OMPI_DECLSPEC int MPI_File_read_ordered_begin(MPI_File fh, void *buf, int count,
1646 MPI_Datatype datatype);
1647 OMPI_DECLSPEC int MPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status);
1648 OMPI_DECLSPEC int MPI_File_write_ordered_begin(MPI_File fh, const void *buf, int count,
1649 MPI_Datatype datatype);
1650 OMPI_DECLSPEC int MPI_File_write_ordered_end(MPI_File fh, const void *buf, MPI_Status *status);
1651 OMPI_DECLSPEC int MPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype,
1652 MPI_Aint *extent);
1653 OMPI_DECLSPEC int MPI_File_set_atomicity(MPI_File fh, int flag);
1654 OMPI_DECLSPEC int MPI_File_get_atomicity(MPI_File fh, int *flag);
1655 OMPI_DECLSPEC int MPI_File_sync(MPI_File fh);
1656 OMPI_DECLSPEC int MPI_Finalize(void);
1657 OMPI_DECLSPEC int MPI_Finalized(int *flag);
1658 OMPI_DECLSPEC int MPI_Free_mem(void *base);
1659 OMPI_DECLSPEC int MPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1660 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1661 int root, MPI_Comm comm);
1662 OMPI_DECLSPEC int MPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1663 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1664 int root, MPI_Comm comm, MPI_Request *request);
1665 OMPI_DECLSPEC int MPI_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1666 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1667 int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
1668 OMPI_DECLSPEC int MPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1669 void *recvbuf, const int recvcounts[], const int displs[],
1670 MPI_Datatype recvtype, int root, MPI_Comm comm);
1671 OMPI_DECLSPEC int MPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1672 void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
1673 int root, MPI_Comm comm, MPI_Request *request);
1674 OMPI_DECLSPEC int MPI_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1675 void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
1676 int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
1677 OMPI_DECLSPEC int MPI_Get_address(const void *location, MPI_Aint *address);
1678 OMPI_DECLSPEC int MPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count);
1679 OMPI_DECLSPEC int MPI_Get_elements(const MPI_Status *status, MPI_Datatype datatype, int *count);
1680 OMPI_DECLSPEC int MPI_Get_elements_x(const MPI_Status *status, MPI_Datatype datatype, MPI_Count *count);
1681 OMPI_DECLSPEC int MPI_Get(void *origin_addr, int origin_count,
1682 MPI_Datatype origin_datatype, int target_rank,
1683 MPI_Aint target_disp, int target_count,
1684 MPI_Datatype target_datatype, MPI_Win win);
1685 OMPI_DECLSPEC int MPI_Get_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
1686 void *result_addr, int result_count, MPI_Datatype result_datatype,
1687 int target_rank, MPI_Aint target_disp, int target_count,
1688 MPI_Datatype target_datatype, MPI_Op op, MPI_Win win);
1689 OMPI_DECLSPEC int MPI_Get_library_version(char *version, int *resultlen);
1690 OMPI_DECLSPEC int MPI_Get_processor_name(char *name, int *resultlen);
1691 OMPI_DECLSPEC int MPI_Get_version(int *version, int *subversion);
1692 OMPI_DECLSPEC int MPI_Graph_create(MPI_Comm comm_old, int nnodes, const int index[],
1693 const int edges[], int reorder, MPI_Comm *comm_graph);
1694 OMPI_DECLSPEC int MPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges,
1695 int index[], int edges[]);
1696 OMPI_DECLSPEC int MPI_Graph_map(MPI_Comm comm, int nnodes, const int index[], const int edges[],
1697 int *newrank);
1698 OMPI_DECLSPEC int MPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors);
1699 OMPI_DECLSPEC int MPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors,
1700 int neighbors[]);
1701 OMPI_DECLSPEC int MPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges);
1702 OMPI_DECLSPEC int MPI_Grequest_complete(MPI_Request request);
1703 OMPI_DECLSPEC int MPI_Grequest_start(MPI_Grequest_query_function *query_fn,
1704 MPI_Grequest_free_function *free_fn,
1705 MPI_Grequest_cancel_function *cancel_fn,
1706 void *extra_state, MPI_Request *request);
1707 OMPI_DECLSPEC MPI_Fint MPI_Group_c2f(MPI_Group group);
1708 OMPI_DECLSPEC int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result);
1709 OMPI_DECLSPEC int MPI_Group_difference(MPI_Group group1, MPI_Group group2,
1710 MPI_Group *newgroup);
1711 OMPI_DECLSPEC int MPI_Group_excl(MPI_Group group, int n, const int ranks[],
1712 MPI_Group *newgroup);
1713 OMPI_DECLSPEC MPI_Group MPI_Group_f2c(MPI_Fint group);
1714 OMPI_DECLSPEC int MPI_Group_free(MPI_Group *group);
1715 OMPI_DECLSPEC int MPI_Group_from_session_pset (MPI_Session session, const char *pset_name, MPI_Group *newgroup);
1716 OMPI_DECLSPEC int MPI_Group_incl(MPI_Group group, int n, const int ranks[],
1717 MPI_Group *newgroup);
1718 OMPI_DECLSPEC int MPI_Group_intersection(MPI_Group group1, MPI_Group group2,
1719 MPI_Group *newgroup);
1720 OMPI_DECLSPEC int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3],
1721 MPI_Group *newgroup);
1722 OMPI_DECLSPEC int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3],
1723 MPI_Group *newgroup);
1724 OMPI_DECLSPEC int MPI_Group_rank(MPI_Group group, int *rank);
1725 OMPI_DECLSPEC int MPI_Group_size(MPI_Group group, int *size);
1726 OMPI_DECLSPEC int MPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[],
1727 MPI_Group group2, int ranks2[]);
1728 OMPI_DECLSPEC int MPI_Group_union(MPI_Group group1, MPI_Group group2,
1729 MPI_Group *newgroup);
1730 OMPI_DECLSPEC int MPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest,
1731 int tag, MPI_Comm comm, MPI_Request *request);
1732 OMPI_DECLSPEC int MPI_Improbe(int source, int tag, MPI_Comm comm,
1733 int *flag, MPI_Message *message,
1734 MPI_Status *status);
1735 OMPI_DECLSPEC int MPI_Imrecv(void *buf, int count, MPI_Datatype type,
1736 MPI_Message *message, MPI_Request *request);
1737 OMPI_DECLSPEC MPI_Fint MPI_Info_c2f(MPI_Info info);
1738 OMPI_DECLSPEC int MPI_Info_create(MPI_Info *info);
1739 OMPI_DECLSPEC int MPI_Info_create_env(int argc, char *argv[], MPI_Info *info);
1740 OMPI_DECLSPEC int MPI_Info_delete(MPI_Info info, const char *key);
1741 OMPI_DECLSPEC int MPI_Info_dup(MPI_Info info, MPI_Info *newinfo);
1742 OMPI_DECLSPEC MPI_Info MPI_Info_f2c(MPI_Fint info);
1743 OMPI_DECLSPEC int MPI_Info_free(MPI_Info *info);
1744 #if MPI_VERSION < 4
1745 OMPI_DECLSPEC int MPI_Info_get(MPI_Info info, const char *key, int valuelen,
1746 char *value, int *flag);
1747 #endif
1748 OMPI_DECLSPEC int MPI_Info_get_nkeys(MPI_Info info, int *nkeys);
1749 OMPI_DECLSPEC int MPI_Info_get_nthkey(MPI_Info info, int n, char *key);
1750 OMPI_DECLSPEC int MPI_Info_get_string(MPI_Info info, const char *key, int *buflen,
1751 char *value, int *flag);
1752 #if MPI_VERSION < 4
1753 OMPI_DECLSPEC int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen,
1754 int *flag);
1755 #endif
1756 OMPI_DECLSPEC int MPI_Info_set(MPI_Info info, const char *key, const char *value);
1757 OMPI_DECLSPEC int MPI_Init(int *argc, char ***argv);
1758 OMPI_DECLSPEC int MPI_Initialized(int *flag);
1759 OMPI_DECLSPEC int MPI_Init_thread(int *argc, char ***argv, int required,
1760 int *provided);
1761 OMPI_DECLSPEC int MPI_Intercomm_create(MPI_Comm local_comm, int local_leader,
1762 MPI_Comm bridge_comm, int remote_leader,
1763 int tag, MPI_Comm *newintercomm);
1764 OMPI_DECLSPEC int MPI_Intercomm_create_from_groups (MPI_Group local_group, int local_leader, MPI_Group remote_group,
1765 int remote_leader, const char *tag, MPI_Info info, MPI_Errhandler errhandler,
1766 MPI_Comm *newintercomm);
1767 OMPI_DECLSPEC int MPI_Intercomm_merge(MPI_Comm intercomm, int high,
1768 MPI_Comm *newintracomm);
1769 OMPI_DECLSPEC int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag,
1770 MPI_Status *status);
1771 OMPI_DECLSPEC int MPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source,
1772 int tag, MPI_Comm comm, MPI_Request *request);
1773 OMPI_DECLSPEC int MPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest,
1774 int tag, MPI_Comm comm, MPI_Request *request);
1775 OMPI_DECLSPEC int MPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest,
1776 int tag, MPI_Comm comm, MPI_Request *request);
1777 OMPI_DECLSPEC int MPI_Isendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1778 int dest, int sendtag, void *recvbuf, int recvcount,
1779 MPI_Datatype recvtype, int source, int recvtag,
1780 MPI_Comm comm, MPI_Request *request);
1781 OMPI_DECLSPEC int MPI_Isendrecv_replace(void * buf, int count, MPI_Datatype datatype,
1782 int dest, int sendtag, int source, int recvtag,
1783 MPI_Comm comm, MPI_Request *request);
1784 OMPI_DECLSPEC int MPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest,
1785 int tag, MPI_Comm comm, MPI_Request *request);
1786 OMPI_DECLSPEC int MPI_Is_thread_main(int *flag);
1787 OMPI_DECLSPEC int MPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name);
1788 OMPI_DECLSPEC MPI_Fint MPI_Message_c2f(MPI_Message message);
1789 OMPI_DECLSPEC MPI_Message MPI_Message_f2c(MPI_Fint message);
1790 OMPI_DECLSPEC int MPI_Mprobe(int source, int tag, MPI_Comm comm,
1791 MPI_Message *message,
1792 MPI_Status *status);
1793 OMPI_DECLSPEC int MPI_Mrecv(void *buf, int count, MPI_Datatype type,
1794 MPI_Message *message, MPI_Status *status);
1795 OMPI_DECLSPEC int MPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1796 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1797 MPI_Comm comm);
1798 OMPI_DECLSPEC int MPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1799 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1800 MPI_Comm comm, MPI_Request *request);
1801 OMPI_DECLSPEC int MPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1802 void *recvbuf, const int recvcounts[], const int displs[],
1803 MPI_Datatype recvtype, MPI_Comm comm);
1804 OMPI_DECLSPEC int MPI_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1805 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1806 MPI_Comm comm, MPI_Info info, MPI_Request *request);
1807 OMPI_DECLSPEC int MPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1808 void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
1809 MPI_Comm comm, MPI_Request *request);
1810 OMPI_DECLSPEC int MPI_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1811 void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
1812 MPI_Comm comm, MPI_Info info, MPI_Request *request);
1813 OMPI_DECLSPEC int MPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1814 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1815 MPI_Comm comm);
1816 OMPI_DECLSPEC int MPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1817 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1818 MPI_Comm comm, MPI_Request *request);
1819 OMPI_DECLSPEC int MPI_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1820 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1821 MPI_Comm comm, MPI_Info info, MPI_Request *request);
1822 OMPI_DECLSPEC int MPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
1823 void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
1824 MPI_Comm comm);
1825 OMPI_DECLSPEC int MPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
1826 void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
1827 MPI_Comm comm, MPI_Request *request);
1828 OMPI_DECLSPEC int MPI_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
1829 void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
1830 MPI_Comm comm, MPI_Info info, MPI_Request *request);
1831 OMPI_DECLSPEC int MPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[],
1832 void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[],
1833 MPI_Comm comm);
1834 OMPI_DECLSPEC int MPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[],
1835 void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[],
1836 MPI_Comm comm, MPI_Request *request);
1837 OMPI_DECLSPEC int MPI_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[],
1838 void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[],
1839 MPI_Comm comm, MPI_Info info, MPI_Request *request);
1840 OMPI_DECLSPEC MPI_Fint MPI_Op_c2f(MPI_Op op);
1841 OMPI_DECLSPEC int MPI_Op_commutative(MPI_Op op, int *commute);
1842 OMPI_DECLSPEC int MPI_Op_create(MPI_User_function *function, int commute, MPI_Op *op);
1843 OMPI_DECLSPEC int MPI_Open_port(MPI_Info info, char *port_name);
1844 OMPI_DECLSPEC MPI_Op MPI_Op_f2c(MPI_Fint op);
1845 OMPI_DECLSPEC int MPI_Op_free(MPI_Op *op);
1846 OMPI_DECLSPEC int MPI_Pack_external(const char datarep[], const void *inbuf, int incount,
1847 MPI_Datatype datatype, void *outbuf,
1848 MPI_Aint outsize, MPI_Aint *position);
1849 OMPI_DECLSPEC int MPI_Pack_external_size(const char datarep[], int incount,
1850 MPI_Datatype datatype, MPI_Aint *size);
1851 OMPI_DECLSPEC int MPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype,
1852 void *outbuf, int outsize, int *position, MPI_Comm comm);
1853 OMPI_DECLSPEC int MPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm,
1854 int *size);
1855 OMPI_DECLSPEC int MPI_Parrived(MPI_Request request, int partition, int *flag);
1856 OMPI_DECLSPEC int MPI_Pcontrol(const int level, ...);
1857 OMPI_DECLSPEC int MPI_Pready(int partitions, MPI_Request request);
1858 OMPI_DECLSPEC int MPI_Pready_range(int partition_low, int partition_high,
1859 MPI_Request request);
1860 OMPI_DECLSPEC int MPI_Pready_list(int length, int partition_list[], MPI_Request request);
1861 OMPI_DECLSPEC int MPI_Precv_init(void* buf, int partitions, MPI_Count count,
1862 MPI_Datatype datatype, int source, int tag, MPI_Comm comm,
1863 MPI_Info info, MPI_Request *request);
1864 OMPI_DECLSPEC int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status);
1865 OMPI_DECLSPEC int MPI_Psend_init(const void* buf, int partitions, MPI_Count count,
1866 MPI_Datatype datatype, int dest, int tag, MPI_Comm comm,
1867 MPI_Info info, MPI_Request *request);
1868 OMPI_DECLSPEC int MPI_Publish_name(const char *service_name, MPI_Info info,
1869 const char *port_name);
1870 OMPI_DECLSPEC int MPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
1871 int target_rank, MPI_Aint target_disp, int target_count,
1872 MPI_Datatype target_datatype, MPI_Win win);
1873 OMPI_DECLSPEC int MPI_Query_thread(int *provided);
1874 OMPI_DECLSPEC int MPI_Raccumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
1875 int target_rank, MPI_Aint target_disp, int target_count,
1876 MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request);
1877 OMPI_DECLSPEC int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source,
1878 int tag, MPI_Comm comm, MPI_Request *request);
1879 OMPI_DECLSPEC int MPI_Recv(void *buf, int count, MPI_Datatype datatype, int source,
1880 int tag, MPI_Comm comm, MPI_Status *status);
1881 OMPI_DECLSPEC int MPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
1882 MPI_Op op, int root, MPI_Comm comm);
1883 OMPI_DECLSPEC int MPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
1884 MPI_Op op, int root, MPI_Comm comm, MPI_Request *request);
1885 OMPI_DECLSPEC int MPI_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
1886 MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
1887 OMPI_DECLSPEC int MPI_Reduce_local(const void *inbuf, void *inoutbuf, int count,
1888 MPI_Datatype datatype, MPI_Op op);
1889 OMPI_DECLSPEC int MPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype,
1890 MPI_Op op, MPI_Comm comm);
1891 OMPI_DECLSPEC int MPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype,
1892 MPI_Op op, MPI_Comm comm, MPI_Request *request);
1893 OMPI_DECLSPEC int MPI_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype,
1894 MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
1895 OMPI_DECLSPEC int MPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype,
1896 MPI_Op op, MPI_Comm comm);
1897 OMPI_DECLSPEC int MPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype,
1898 MPI_Op op, MPI_Comm comm, MPI_Request *request);
1899 OMPI_DECLSPEC int MPI_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype,
1900 MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
1901 OMPI_DECLSPEC int MPI_Register_datarep(const char *datarep,
1902 MPI_Datarep_conversion_function *read_conversion_fn,
1903 MPI_Datarep_conversion_function *write_conversion_fn,
1904 MPI_Datarep_extent_function *dtype_file_extent_fn,
1905 void *extra_state);
1906 OMPI_DECLSPEC MPI_Fint MPI_Request_c2f(MPI_Request request);
1907 OMPI_DECLSPEC MPI_Request MPI_Request_f2c(MPI_Fint request);
1908 OMPI_DECLSPEC int MPI_Request_free(MPI_Request *request);
1909 OMPI_DECLSPEC int MPI_Request_get_status(MPI_Request request, int *flag,
1910 MPI_Status *status);
1911 OMPI_DECLSPEC int MPI_Rget(void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
1912 int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype,
1913 MPI_Win win, MPI_Request *request);
1914 OMPI_DECLSPEC int MPI_Rget_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
1915 void *result_addr, int result_count, MPI_Datatype result_datatype,
1916 int target_rank, MPI_Aint target_disp, int target_count,
1917 MPI_Datatype target_datatype, MPI_Op op,
1918 MPI_Win win, MPI_Request *request);
1919 OMPI_DECLSPEC int MPI_Rput(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
1920 int target_rank, MPI_Aint target_disp, int target_cout,
1921 MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request);
1922 OMPI_DECLSPEC int MPI_Rsend(const void *ibuf, int count, MPI_Datatype datatype, int dest,
1923 int tag, MPI_Comm comm);
1924 OMPI_DECLSPEC int MPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype,
1925 int dest, int tag, MPI_Comm comm,
1926 MPI_Request *request);
1927 OMPI_DECLSPEC int MPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
1928 MPI_Op op, MPI_Comm comm);
1929 OMPI_DECLSPEC int MPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
1930 MPI_Op op, MPI_Comm comm, MPI_Request *request);
1931 OMPI_DECLSPEC int MPI_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
1932 MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
1933 OMPI_DECLSPEC int MPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1934 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1935 int root, MPI_Comm comm);
1936 OMPI_DECLSPEC int MPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1937 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1938 int root, MPI_Comm comm, MPI_Request *request);
1939 OMPI_DECLSPEC int MPI_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1940 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1941 int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
1942 OMPI_DECLSPEC int MPI_Scatterv(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype,
1943 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1944 int root, MPI_Comm comm);
1945 OMPI_DECLSPEC int MPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype,
1946 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1947 int root, MPI_Comm comm, MPI_Request *request);
1948 OMPI_DECLSPEC int MPI_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype,
1949 void *recvbuf, int recvcount, MPI_Datatype recvtype,
1950 int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
1951 OMPI_DECLSPEC int MPI_Send_init(const void *buf, int count, MPI_Datatype datatype,
1952 int dest, int tag, MPI_Comm comm,
1953 MPI_Request *request);
1954 OMPI_DECLSPEC int MPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest,
1955 int tag, MPI_Comm comm);
1956 OMPI_DECLSPEC int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
1957 int dest, int sendtag, void *recvbuf, int recvcount,
1958 MPI_Datatype recvtype, int source, int recvtag,
1959 MPI_Comm comm, MPI_Status *status);
1960 OMPI_DECLSPEC int MPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype,
1961 int dest, int sendtag, int source, int recvtag,
1962 MPI_Comm comm, MPI_Status *status);
1963 OMPI_DECLSPEC MPI_Fint MPI_Session_c2f (const MPI_Session session);
1964 OMPI_DECLSPEC int MPI_Session_call_errhandler(MPI_Session session, int errorcode);
1965 OMPI_DECLSPEC int MPI_Session_create_errhandler (MPI_Session_errhandler_function *session_errhandler_fn,
1966 MPI_Errhandler *errhandler);
1967 OMPI_DECLSPEC int MPI_Session_finalize (MPI_Session *session);
1968 OMPI_DECLSPEC int MPI_Session_get_errhandler(MPI_Session session, MPI_Errhandler *erhandler);
1969 OMPI_DECLSPEC int MPI_Session_get_info (MPI_Session session, MPI_Info *info_used);
1970 OMPI_DECLSPEC int MPI_Session_get_num_psets (MPI_Session session, MPI_Info info, int *npset_names);
1971 OMPI_DECLSPEC int MPI_Session_get_nth_pset (MPI_Session session, MPI_Info info, int n, int *len, char *pset_name);
1972 OMPI_DECLSPEC int MPI_Session_get_pset_info (MPI_Session session, const char *pset_name, MPI_Info *info_used);
1973 OMPI_DECLSPEC int MPI_Session_init (MPI_Info info, MPI_Errhandler errhandler,
1974 MPI_Session *session);
1975 OMPI_DECLSPEC MPI_Session MPI_Session_f2c (MPI_Fint session);
1976 OMPI_DECLSPEC int MPI_Session_set_errhandler(MPI_Session session, MPI_Errhandler errhandler);
1977 OMPI_DECLSPEC int MPI_Session_set_info (MPI_Session session, MPI_Info info);
1978 OMPI_DECLSPEC int MPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype,
1979 int dest, int tag, MPI_Comm comm,
1980 MPI_Request *request);
1981 OMPI_DECLSPEC int MPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest,
1982 int tag, MPI_Comm comm);
1983 OMPI_DECLSPEC int MPI_Start(MPI_Request *request);
1984 OMPI_DECLSPEC int MPI_Startall(int count, MPI_Request array_of_requests[]);
1985 OMPI_DECLSPEC int MPI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status);
1986 OMPI_DECLSPEC int MPI_Status_c2f08(const MPI_Status *c_status, MPI_F08_status *f08_status);
1987 OMPI_DECLSPEC int MPI_Status_f082c(const MPI_F08_status *f08_status, MPI_Status *c_status);
1988 OMPI_DECLSPEC int MPI_Status_f082f(const MPI_F08_status *f08_status, MPI_Fint *f_status);
1989 OMPI_DECLSPEC int MPI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status);
1990 OMPI_DECLSPEC int MPI_Status_f2f08(const MPI_Fint *f_status, MPI_F08_status *f08_status);
1991 OMPI_DECLSPEC int MPI_Status_set_cancelled(MPI_Status *status, int flag);
1992 OMPI_DECLSPEC int MPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype,
1993 int count);
1994 OMPI_DECLSPEC int MPI_Status_set_elements_x(MPI_Status *status, MPI_Datatype datatype,
1995 MPI_Count count);
1996 OMPI_DECLSPEC int MPI_Testall(int count, MPI_Request array_of_requests[], int *flag,
1997 MPI_Status array_of_statuses[]);
1998 OMPI_DECLSPEC int MPI_Testany(int count, MPI_Request array_of_requests[], int *index,
1999 int *flag, MPI_Status *status);
2000 OMPI_DECLSPEC int MPI_Test(MPI_Request *request, int *flag, MPI_Status *status);
2001 OMPI_DECLSPEC int MPI_Test_cancelled(const MPI_Status *status, int *flag);
2002 OMPI_DECLSPEC int MPI_Testsome(int incount, MPI_Request array_of_requests[],
2003 int *outcount, int array_of_indices[],
2004 MPI_Status array_of_statuses[]);
2005 OMPI_DECLSPEC int MPI_Topo_test(MPI_Comm comm, int *status);
2006 OMPI_DECLSPEC MPI_Fint MPI_Type_c2f(MPI_Datatype datatype);
2007 OMPI_DECLSPEC int MPI_Type_commit(MPI_Datatype *type);
2008 OMPI_DECLSPEC int MPI_Type_contiguous(int count, MPI_Datatype oldtype,
2009 MPI_Datatype *newtype);
2010 OMPI_DECLSPEC int MPI_Type_create_darray(int size, int rank, int ndims,
2011 const int gsize_array[], const int distrib_array[],
2012 const int darg_array[], const int psize_array[],
2013 int order, MPI_Datatype oldtype,
2014 MPI_Datatype *newtype);
2015 OMPI_DECLSPEC int MPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype);
2016 OMPI_DECLSPEC int MPI_Type_create_f90_integer(int r, MPI_Datatype *newtype);
2017 OMPI_DECLSPEC int MPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype);
2018 OMPI_DECLSPEC int MPI_Type_create_hindexed_block(int count, int blocklength,
2019 const MPI_Aint array_of_displacements[],
2020 MPI_Datatype oldtype,
2021 MPI_Datatype *newtype);
2022 OMPI_DECLSPEC int MPI_Type_create_hindexed(int count, const int array_of_blocklengths[],
2023 const MPI_Aint array_of_displacements[],
2024 MPI_Datatype oldtype,
2025 MPI_Datatype *newtype);
2026 OMPI_DECLSPEC int MPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride,
2027 MPI_Datatype oldtype,
2028 MPI_Datatype *newtype);
2029 OMPI_DECLSPEC int MPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn,
2030 MPI_Type_delete_attr_function *type_delete_attr_fn,
2031 int *type_keyval, void *extra_state);
2032 OMPI_DECLSPEC int MPI_Type_create_indexed_block(int count, int blocklength,
2033 const int array_of_displacements[],
2034 MPI_Datatype oldtype,
2035 MPI_Datatype *newtype);
2036 OMPI_DECLSPEC int MPI_Type_create_struct(int count, const int array_of_block_lengths[],
2037 const MPI_Aint array_of_displacements[],
2038 const MPI_Datatype array_of_types[],
2039 MPI_Datatype *newtype);
2040 OMPI_DECLSPEC int MPI_Type_create_subarray(int ndims, const int size_array[], const int subsize_array[],
2041 const int start_array[], int order,
2042 MPI_Datatype oldtype, MPI_Datatype *newtype);
2043 OMPI_DECLSPEC int MPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb,
2044 MPI_Aint extent, MPI_Datatype *newtype);
2045 OMPI_DECLSPEC int MPI_Type_delete_attr(MPI_Datatype type, int type_keyval);
2046 OMPI_DECLSPEC int MPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype);
2047 OMPI_DECLSPEC int MPI_Type_free(MPI_Datatype *type);
2048 OMPI_DECLSPEC int MPI_Type_free_keyval(int *type_keyval);
2049 OMPI_DECLSPEC MPI_Datatype MPI_Type_f2c(MPI_Fint datatype);
2050 OMPI_DECLSPEC int MPI_Type_get_attr(MPI_Datatype type, int type_keyval,
2051 void *attribute_val, int *flag);
2052 OMPI_DECLSPEC int MPI_Type_get_contents(MPI_Datatype mtype, int max_integers,
2053 int max_addresses, int max_datatypes,
2054 int array_of_integers[],
2055 MPI_Aint array_of_addresses[],
2056 MPI_Datatype array_of_datatypes[]);
2057 OMPI_DECLSPEC int MPI_Type_get_envelope(MPI_Datatype type, int *num_integers,
2058 int *num_addresses, int *num_datatypes,
2059 int *combiner);
2060 OMPI_DECLSPEC int MPI_Type_get_extent(MPI_Datatype type, MPI_Aint *lb,
2061 MPI_Aint *extent);
2062 OMPI_DECLSPEC int MPI_Type_get_extent_x(MPI_Datatype type, MPI_Count *lb,
2063 MPI_Count *extent);
2064 OMPI_DECLSPEC int MPI_Type_get_name(MPI_Datatype type, char *type_name,
2065 int *resultlen);
2066 OMPI_DECLSPEC int MPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb,
2067 MPI_Aint *true_extent);
2068 OMPI_DECLSPEC int MPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *true_lb,
2069 MPI_Count *true_extent);
2070 OMPI_DECLSPEC int MPI_Type_indexed(int count, const int array_of_blocklengths[],
2071 const int array_of_displacements[],
2072 MPI_Datatype oldtype, MPI_Datatype *newtype);
2073 OMPI_DECLSPEC int MPI_Type_match_size(int typeclass, int size, MPI_Datatype *type);
2074 OMPI_DECLSPEC int MPI_Type_set_attr(MPI_Datatype type, int type_keyval,
2075 void *attr_val);
2076 OMPI_DECLSPEC int MPI_Type_set_name(MPI_Datatype type, const char *type_name);
2077 OMPI_DECLSPEC int MPI_Type_size(MPI_Datatype type, int *size);
2078 OMPI_DECLSPEC int MPI_Type_size_x(MPI_Datatype type, MPI_Count *size);
2079 OMPI_DECLSPEC int MPI_Type_vector(int count, int blocklength, int stride,
2080 MPI_Datatype oldtype, MPI_Datatype *newtype);
2081 OMPI_DECLSPEC int MPI_Unpack(const void *inbuf, int insize, int *position,
2082 void *outbuf, int outcount, MPI_Datatype datatype,
2083 MPI_Comm comm);
2084 OMPI_DECLSPEC int MPI_Unpublish_name(const char *service_name, MPI_Info info, const char *port_name);
2085 OMPI_DECLSPEC int MPI_Unpack_external (const char datarep[], const void *inbuf, MPI_Aint insize,
2086 MPI_Aint *position, void *outbuf, int outcount,
2087 MPI_Datatype datatype);
2088 OMPI_DECLSPEC int MPI_Waitall(int count, MPI_Request array_of_requests[],
2089 MPI_Status *array_of_statuses);
2090 OMPI_DECLSPEC int MPI_Waitany(int count, MPI_Request array_of_requests[],
2091 int *index, MPI_Status *status);
2092 OMPI_DECLSPEC int MPI_Wait(MPI_Request *request, MPI_Status *status);
2093 OMPI_DECLSPEC int MPI_Waitsome(int incount, MPI_Request array_of_requests[],
2094 int *outcount, int array_of_indices[],
2095 MPI_Status array_of_statuses[]);
2096 OMPI_DECLSPEC int MPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info,
2097 MPI_Comm comm, void *baseptr, MPI_Win *win);
2098 OMPI_DECLSPEC int MPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info,
2099 MPI_Comm comm, void *baseptr, MPI_Win *win);
2100 OMPI_DECLSPEC int MPI_Win_attach(MPI_Win win, void *base, MPI_Aint size);
2101 OMPI_DECLSPEC MPI_Fint MPI_Win_c2f(MPI_Win win);
2102 OMPI_DECLSPEC int MPI_Win_call_errhandler(MPI_Win win, int errorcode);
2103 OMPI_DECLSPEC int MPI_Win_complete(MPI_Win win);
2104 OMPI_DECLSPEC int MPI_Win_create(void *base, MPI_Aint size, int disp_unit,
2105 MPI_Info info, MPI_Comm comm, MPI_Win *win);
2106 OMPI_DECLSPEC int MPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win *win);
2107 OMPI_DECLSPEC int MPI_Win_create_errhandler(MPI_Win_errhandler_function *function,
2108 MPI_Errhandler *errhandler);
2109 OMPI_DECLSPEC int MPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn,
2110 MPI_Win_delete_attr_function *win_delete_attr_fn,
2111 int *win_keyval, void *extra_state);
2112 OMPI_DECLSPEC int MPI_Win_delete_attr(MPI_Win win, int win_keyval);
2113 OMPI_DECLSPEC int MPI_Win_detach(MPI_Win win, const void *base);
2114 OMPI_DECLSPEC MPI_Win MPI_Win_f2c(MPI_Fint win);
2115 OMPI_DECLSPEC int MPI_Win_fence(int mpi_assert, MPI_Win win);
2116 OMPI_DECLSPEC int MPI_Win_flush(int rank, MPI_Win win);
2117 OMPI_DECLSPEC int MPI_Win_flush_all(MPI_Win win);
2118 OMPI_DECLSPEC int MPI_Win_flush_local(int rank, MPI_Win win);
2119 OMPI_DECLSPEC int MPI_Win_flush_local_all(MPI_Win win);
2120 OMPI_DECLSPEC int MPI_Win_free(MPI_Win *win);
2121 OMPI_DECLSPEC int MPI_Win_free_keyval(int *win_keyval);
2122 OMPI_DECLSPEC int MPI_Win_get_attr(MPI_Win win, int win_keyval,
2123 void *attribute_val, int *flag);
2124 OMPI_DECLSPEC int MPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler);
2125 OMPI_DECLSPEC int MPI_Win_get_group(MPI_Win win, MPI_Group *group);
2126 OMPI_DECLSPEC int MPI_Win_get_info(MPI_Win win, MPI_Info *info_used);
2127 OMPI_DECLSPEC int MPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen);
2128 OMPI_DECLSPEC int MPI_Win_lock(int lock_type, int rank, int mpi_assert, MPI_Win win);
2129 OMPI_DECLSPEC int MPI_Win_lock_all(int mpi_assert, MPI_Win win);
2130 OMPI_DECLSPEC int MPI_Win_post(MPI_Group group, int mpi_assert, MPI_Win win);
2131 OMPI_DECLSPEC int MPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val);
2132 OMPI_DECLSPEC int MPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler);
2133 OMPI_DECLSPEC int MPI_Win_set_info(MPI_Win win, MPI_Info info);
2134 OMPI_DECLSPEC int MPI_Win_set_name(MPI_Win win, const char *win_name);
2135 OMPI_DECLSPEC int MPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr);
2136 OMPI_DECLSPEC int MPI_Win_start(MPI_Group group, int mpi_assert, MPI_Win win);
2137 OMPI_DECLSPEC int MPI_Win_sync(MPI_Win win);
2138 OMPI_DECLSPEC int MPI_Win_test(MPI_Win win, int *flag);
2139 OMPI_DECLSPEC int MPI_Win_unlock(int rank, MPI_Win win);
2140 OMPI_DECLSPEC int MPI_Win_unlock_all(MPI_Win win);
2141 OMPI_DECLSPEC int MPI_Win_wait(MPI_Win win);
2142 OMPI_DECLSPEC double MPI_Wtick(void);
2143 OMPI_DECLSPEC double MPI_Wtime(void);
2144
2145
2146
2147
2148 OMPI_DECLSPEC int PMPI_Abort(MPI_Comm comm, int errorcode);
2149 OMPI_DECLSPEC int PMPI_Accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
2150 int target_rank, MPI_Aint target_disp, int target_count,
2151 MPI_Datatype target_datatype, MPI_Op op, MPI_Win win);
2152 OMPI_DECLSPEC int PMPI_Add_error_class(int *errorclass);
2153 OMPI_DECLSPEC int PMPI_Add_error_code(int errorclass, int *errorcode);
2154 OMPI_DECLSPEC int PMPI_Add_error_string(int errorcode, const char *string);
2155 OMPI_DECLSPEC int PMPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2156 void *recvbuf, int recvcount,
2157 MPI_Datatype recvtype, MPI_Comm comm);
2158 OMPI_DECLSPEC int PMPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2159 void *recvbuf, int recvcount,
2160 MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request);
2161 OMPI_DECLSPEC int PMPI_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2162 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2163 MPI_Comm comm, MPI_Info info, MPI_Request *request);
2164 OMPI_DECLSPEC int PMPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2165 void *recvbuf, const int recvcounts[],
2166 const int displs[], MPI_Datatype recvtype, MPI_Comm comm);
2167 OMPI_DECLSPEC int PMPI_Iallgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2168 void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
2169 MPI_Comm comm, MPI_Request *request);
2170 OMPI_DECLSPEC int PMPI_Allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2171 void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
2172 MPI_Comm comm, MPI_Info info, MPI_Request *request);
2173 OMPI_DECLSPEC int PMPI_Alloc_mem(MPI_Aint size, MPI_Info info,
2174 void *baseptr);
2175 OMPI_DECLSPEC int PMPI_Allreduce(const void *sendbuf, void *recvbuf, int count,
2176 MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
2177 OMPI_DECLSPEC int PMPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
2178 MPI_Op op, MPI_Comm comm, MPI_Request *request);
2179 OMPI_DECLSPEC int PMPI_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
2180 MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
2181 OMPI_DECLSPEC int PMPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2182 void *recvbuf, int recvcount,
2183 MPI_Datatype recvtype, MPI_Comm comm);
2184 OMPI_DECLSPEC int PMPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2185 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2186 MPI_Comm comm, MPI_Request *request);
2187 OMPI_DECLSPEC int PMPI_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2188 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2189 MPI_Comm comm, MPI_Info info, MPI_Request *request);
2190 OMPI_DECLSPEC int PMPI_Alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
2191 void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
2192 MPI_Comm comm);
2193 OMPI_DECLSPEC int PMPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
2194 void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
2195 MPI_Comm comm, MPI_Request *request);
2196 OMPI_DECLSPEC int PMPI_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
2197 void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
2198 MPI_Comm comm, MPI_Info info, MPI_Request *request);
2199 OMPI_DECLSPEC int PMPI_Alltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[],
2200 void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[],
2201 MPI_Comm comm);
2202 OMPI_DECLSPEC int PMPI_Ialltoallw(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[],
2203 void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[],
2204 MPI_Comm comm, MPI_Request *request);
2205 OMPI_DECLSPEC int PMPI_Alltoallw_init(const void *sendbuf, const int sendcounts[], const int sdispls[], const MPI_Datatype sendtypes[],
2206 void *recvbuf, const int recvcounts[], const int rdispls[], const MPI_Datatype recvtypes[],
2207 MPI_Comm comm, MPI_Info info, MPI_Request *request);
2208 OMPI_DECLSPEC int PMPI_Dist_graph_create(MPI_Comm comm_old, int n, const int nodes[],
2209 const int degrees[], const int targets[],
2210 const int weights[], MPI_Info info,
2211 int reorder, MPI_Comm * newcomm);
2212 OMPI_DECLSPEC int PMPI_Dist_graph_create_adjacent(MPI_Comm comm_old,
2213 int indegree, const int sources[],
2214 const int sourceweights[],
2215 int outdegree,
2216 const int destinations[],
2217 const int destweights[],
2218 MPI_Info info, int reorder,
2219 MPI_Comm *comm_dist_graph);
2220 OMPI_DECLSPEC int PMPI_Dist_graph_neighbors(MPI_Comm comm, int maxindegree,
2221 int sources[], int sourceweights[],
2222 int maxoutdegree,
2223 int destinations[],
2224 int destweights[]);
2225 OMPI_DECLSPEC int PMPI_Dist_graph_neighbors_count(MPI_Comm comm,
2226 int *inneighbors,
2227 int *outneighbors,
2228 int *weighted);
2229 OMPI_DECLSPEC int PMPI_Barrier(MPI_Comm comm);
2230 OMPI_DECLSPEC int PMPI_Ibarrier(MPI_Comm comm, MPI_Request *request);
2231 OMPI_DECLSPEC int PMPI_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request);
2232 OMPI_DECLSPEC int PMPI_Bcast(void *buffer, int count, MPI_Datatype datatype,
2233 int root, MPI_Comm comm);
2234 OMPI_DECLSPEC int PMPI_Ibcast(void *buffer, int count, MPI_Datatype datatype,
2235 int root, MPI_Comm comm, MPI_Request *request);
2236 OMPI_DECLSPEC int PMPI_Bcast_init(void *buffer, int count, MPI_Datatype datatype,
2237 int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
2238 OMPI_DECLSPEC int PMPI_Bsend(const void *buf, int count, MPI_Datatype datatype,
2239 int dest, int tag, MPI_Comm comm);
2240 OMPI_DECLSPEC int PMPI_Bsend_init(const void *buf, int count, MPI_Datatype datatype,
2241 int dest, int tag, MPI_Comm comm, MPI_Request *request);
2242 OMPI_DECLSPEC int PMPI_Buffer_attach(void *buffer, int size);
2243 OMPI_DECLSPEC int PMPI_Buffer_detach(void *buffer, int *size);
2244 OMPI_DECLSPEC int PMPI_Cancel(MPI_Request *request);
2245 OMPI_DECLSPEC int PMPI_Cart_coords(MPI_Comm comm, int rank, int maxdims, int coords[]);
2246 OMPI_DECLSPEC int PMPI_Cart_create(MPI_Comm old_comm, int ndims, const int dims[],
2247 const int periods[], int reorder, MPI_Comm *comm_cart);
2248 OMPI_DECLSPEC int PMPI_Cart_get(MPI_Comm comm, int maxdims, int dims[],
2249 int periods[], int coords[]);
2250 OMPI_DECLSPEC int PMPI_Cart_map(MPI_Comm comm, int ndims, const int dims[],
2251 const int periods[], int *newrank);
2252 OMPI_DECLSPEC int PMPI_Cart_rank(MPI_Comm comm, const int coords[], int *rank);
2253 OMPI_DECLSPEC int PMPI_Cart_shift(MPI_Comm comm, int direction, int disp,
2254 int *rank_source, int *rank_dest);
2255 OMPI_DECLSPEC int PMPI_Cart_sub(MPI_Comm comm, const int remain_dims[], MPI_Comm *new_comm);
2256 OMPI_DECLSPEC int PMPI_Cartdim_get(MPI_Comm comm, int *ndims);
2257 OMPI_DECLSPEC int PMPI_Close_port(const char *port_name);
2258 OMPI_DECLSPEC int PMPI_Comm_accept(const char *port_name, MPI_Info info, int root,
2259 MPI_Comm comm, MPI_Comm *newcomm);
2260 OMPI_DECLSPEC MPI_Fint PMPI_Comm_c2f(MPI_Comm comm);
2261 OMPI_DECLSPEC int PMPI_Comm_call_errhandler(MPI_Comm comm, int errorcode);
2262 OMPI_DECLSPEC int PMPI_Comm_compare(MPI_Comm comm1, MPI_Comm comm2, int *result);
2263 OMPI_DECLSPEC int PMPI_Comm_connect(const char *port_name, MPI_Info info, int root,
2264 MPI_Comm comm, MPI_Comm *newcomm);
2265 OMPI_DECLSPEC int PMPI_Comm_create_errhandler(MPI_Comm_errhandler_function *function,
2266 MPI_Errhandler *errhandler);
2267 OMPI_DECLSPEC int PMPI_Comm_create_keyval(MPI_Comm_copy_attr_function *comm_copy_attr_fn,
2268 MPI_Comm_delete_attr_function *comm_delete_attr_fn,
2269 int *comm_keyval, void *extra_state);
2270 OMPI_DECLSPEC int PMPI_Comm_create_group(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm);
2271 OMPI_DECLSPEC int PMPI_Comm_create_from_group(MPI_Group group, const char *tag, MPI_Info info,
2272 MPI_Errhandler errhandler, MPI_Comm *newcomm);
2273 OMPI_DECLSPEC int PMPI_Comm_create(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm);
2274 OMPI_DECLSPEC int PMPI_Comm_delete_attr(MPI_Comm comm, int comm_keyval);
2275 OMPI_DECLSPEC int PMPI_Comm_disconnect(MPI_Comm *comm);
2276 OMPI_DECLSPEC int PMPI_Comm_dup(MPI_Comm comm, MPI_Comm *newcomm);
2277 OMPI_DECLSPEC int PMPI_Comm_idup(MPI_Comm comm, MPI_Comm *newcomm, MPI_Request *request);
2278 OMPI_DECLSPEC int PMPI_Comm_dup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm);
2279 OMPI_DECLSPEC int PMPI_Comm_idup_with_info(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm,
2280 MPI_Request *request);
2281 OMPI_DECLSPEC MPI_Comm PMPI_Comm_f2c(MPI_Fint comm);
2282 OMPI_DECLSPEC int PMPI_Comm_free_keyval(int *comm_keyval);
2283 OMPI_DECLSPEC int PMPI_Comm_free(MPI_Comm *comm);
2284 OMPI_DECLSPEC int PMPI_Comm_get_attr(MPI_Comm comm, int comm_keyval,
2285 void *attribute_val, int *flag);
2286 OMPI_DECLSPEC int PMPI_Comm_get_errhandler(MPI_Comm comm, MPI_Errhandler *erhandler);
2287 OMPI_DECLSPEC int PMPI_Comm_get_info(MPI_Comm comm, MPI_Info *info_used);
2288 OMPI_DECLSPEC int PMPI_Comm_get_name(MPI_Comm comm, char *comm_name, int *resultlen);
2289 OMPI_DECLSPEC int PMPI_Comm_get_parent(MPI_Comm *parent);
2290 OMPI_DECLSPEC int PMPI_Comm_group(MPI_Comm comm, MPI_Group *group);
2291 OMPI_DECLSPEC int PMPI_Comm_join(int fd, MPI_Comm *intercomm);
2292 OMPI_DECLSPEC int PMPI_Comm_rank(MPI_Comm comm, int *rank);
2293 OMPI_DECLSPEC int PMPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group);
2294 OMPI_DECLSPEC int PMPI_Comm_remote_size(MPI_Comm comm, int *size);
2295 OMPI_DECLSPEC int PMPI_Comm_set_attr(MPI_Comm comm, int comm_keyval, void *attribute_val);
2296 OMPI_DECLSPEC int PMPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler);
2297 OMPI_DECLSPEC int PMPI_Comm_set_info(MPI_Comm comm, MPI_Info info);
2298 OMPI_DECLSPEC int PMPI_Comm_set_name(MPI_Comm comm, const char *comm_name);
2299 OMPI_DECLSPEC int PMPI_Comm_size(MPI_Comm comm, int *size);
2300 OMPI_DECLSPEC int PMPI_Comm_spawn(const char *command, char *argv[], int maxprocs, MPI_Info info,
2301 int root, MPI_Comm comm, MPI_Comm *intercomm,
2302 int array_of_errcodes[]);
2303 OMPI_DECLSPEC int PMPI_Comm_spawn_multiple(int count, char *array_of_commands[], char **array_of_argv[],
2304 const int array_of_maxprocs[], const MPI_Info array_of_info[],
2305 int root, MPI_Comm comm, MPI_Comm *intercomm,
2306 int array_of_errcodes[]);
2307 OMPI_DECLSPEC int PMPI_Comm_split(MPI_Comm comm, int color, int key, MPI_Comm *newcomm);
2308 OMPI_DECLSPEC int PMPI_Comm_split_type(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm);
2309 OMPI_DECLSPEC int PMPI_Comm_test_inter(MPI_Comm comm, int *flag);
2310 OMPI_DECLSPEC int PMPI_Compare_and_swap(const void *origin_addr, const void *compare_addr,
2311 void *result_addr, MPI_Datatype datatype, int target_rank,
2312 MPI_Aint target_disp, MPI_Win win);
2313 OMPI_DECLSPEC int PMPI_Dims_create(int nnodes, int ndims, int dims[]);
2314 OMPI_DECLSPEC MPI_Fint PMPI_Errhandler_c2f(MPI_Errhandler errhandler);
2315 OMPI_DECLSPEC MPI_Errhandler PMPI_Errhandler_f2c(MPI_Fint errhandler);
2316 OMPI_DECLSPEC int PMPI_Errhandler_free(MPI_Errhandler *errhandler);
2317 OMPI_DECLSPEC int PMPI_Error_class(int errorcode, int *errorclass);
2318 OMPI_DECLSPEC int PMPI_Error_string(int errorcode, char *string, int *resultlen);
2319 OMPI_DECLSPEC int PMPI_Exscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
2320 MPI_Op op, MPI_Comm comm);
2321 OMPI_DECLSPEC int PMPI_Iexscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
2322 MPI_Op op, MPI_Comm comm, MPI_Request *request);
2323 OMPI_DECLSPEC int PMPI_Exscan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
2324 MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
2325 OMPI_DECLSPEC int PMPI_Fetch_and_op(const void *origin_addr, void *result_addr, MPI_Datatype datatype,
2326 int target_rank, MPI_Aint target_disp, MPI_Op op, MPI_Win win);
2327 OMPI_DECLSPEC MPI_Fint PMPI_File_c2f(MPI_File file);
2328 OMPI_DECLSPEC MPI_File PMPI_File_f2c(MPI_Fint file);
2329 OMPI_DECLSPEC int PMPI_File_call_errhandler(MPI_File fh, int errorcode);
2330 OMPI_DECLSPEC int PMPI_File_create_errhandler(MPI_File_errhandler_function *function,
2331 MPI_Errhandler *errhandler);
2332 OMPI_DECLSPEC int PMPI_File_set_errhandler( MPI_File file, MPI_Errhandler errhandler);
2333 OMPI_DECLSPEC int PMPI_File_get_errhandler( MPI_File file, MPI_Errhandler *errhandler);
2334 OMPI_DECLSPEC int PMPI_File_open(MPI_Comm comm, const char *filename, int amode,
2335 MPI_Info info, MPI_File *fh);
2336 OMPI_DECLSPEC int PMPI_File_close(MPI_File *fh);
2337 OMPI_DECLSPEC int PMPI_File_delete(const char *filename, MPI_Info info);
2338 OMPI_DECLSPEC int PMPI_File_set_size(MPI_File fh, MPI_Offset size);
2339 OMPI_DECLSPEC int PMPI_File_preallocate(MPI_File fh, MPI_Offset size);
2340 OMPI_DECLSPEC int PMPI_File_get_size(MPI_File fh, MPI_Offset *size);
2341 OMPI_DECLSPEC int PMPI_File_get_group(MPI_File fh, MPI_Group *group);
2342 OMPI_DECLSPEC int PMPI_File_get_amode(MPI_File fh, int *amode);
2343 OMPI_DECLSPEC int PMPI_File_set_info(MPI_File fh, MPI_Info info);
2344 OMPI_DECLSPEC int PMPI_File_get_info(MPI_File fh, MPI_Info *info_used);
2345 OMPI_DECLSPEC int PMPI_File_set_view(MPI_File fh, MPI_Offset disp, MPI_Datatype etype,
2346 MPI_Datatype filetype, const char *datarep, MPI_Info info);
2347 OMPI_DECLSPEC int PMPI_File_get_view(MPI_File fh, MPI_Offset *disp,
2348 MPI_Datatype *etype,
2349 MPI_Datatype *filetype, char *datarep);
2350 OMPI_DECLSPEC int PMPI_File_read_at(MPI_File fh, MPI_Offset offset, void *buf,
2351 int count, MPI_Datatype datatype, MPI_Status *status);
2352 OMPI_DECLSPEC int PMPI_File_read_at_all(MPI_File fh, MPI_Offset offset, void *buf,
2353 int count, MPI_Datatype datatype, MPI_Status *status);
2354 OMPI_DECLSPEC int PMPI_File_write_at(MPI_File fh, MPI_Offset offset, const void *buf,
2355 int count, MPI_Datatype datatype, MPI_Status *status);
2356 OMPI_DECLSPEC int PMPI_File_write_at_all(MPI_File fh, MPI_Offset offset, const void *buf,
2357 int count, MPI_Datatype datatype, MPI_Status *status);
2358 OMPI_DECLSPEC int PMPI_File_iread_at(MPI_File fh, MPI_Offset offset, void *buf,
2359 int count, MPI_Datatype datatype, MPI_Request *request);
2360 OMPI_DECLSPEC int PMPI_File_iwrite_at(MPI_File fh, MPI_Offset offset, const void *buf,
2361 int count, MPI_Datatype datatype, MPI_Request *request);
2362 OMPI_DECLSPEC int PMPI_File_iread_at_all(MPI_File fh, MPI_Offset offset, void *buf,
2363 int count, MPI_Datatype datatype, MPI_Request *request);
2364 OMPI_DECLSPEC int PMPI_File_iwrite_at_all(MPI_File fh, MPI_Offset offset, const void *buf,
2365 int count, MPI_Datatype datatype, MPI_Request *request);
2366 OMPI_DECLSPEC int PMPI_File_read(MPI_File fh, void *buf, int count,
2367 MPI_Datatype datatype, MPI_Status *status);
2368 OMPI_DECLSPEC int PMPI_File_read_all(MPI_File fh, void *buf, int count,
2369 MPI_Datatype datatype, MPI_Status *status);
2370 OMPI_DECLSPEC int PMPI_File_write(MPI_File fh, const void *buf, int count,
2371 MPI_Datatype datatype, MPI_Status *status);
2372 OMPI_DECLSPEC int PMPI_File_write_all(MPI_File fh, const void *buf, int count,
2373 MPI_Datatype datatype, MPI_Status *status);
2374 OMPI_DECLSPEC int PMPI_File_iread(MPI_File fh, void *buf, int count,
2375 MPI_Datatype datatype, MPI_Request *request);
2376 OMPI_DECLSPEC int PMPI_File_iwrite(MPI_File fh, const void *buf, int count,
2377 MPI_Datatype datatype, MPI_Request *request);
2378 OMPI_DECLSPEC int PMPI_File_iread_all(MPI_File fh, void *buf, int count,
2379 MPI_Datatype datatype, MPI_Request *request);
2380 OMPI_DECLSPEC int PMPI_File_iwrite_all(MPI_File fh, const void *buf, int count,
2381 MPI_Datatype datatype, MPI_Request *request);
2382 OMPI_DECLSPEC int PMPI_File_seek(MPI_File fh, MPI_Offset offset, int whence);
2383 OMPI_DECLSPEC int PMPI_File_get_position(MPI_File fh, MPI_Offset *offset);
2384 OMPI_DECLSPEC int PMPI_File_get_byte_offset(MPI_File fh, MPI_Offset offset,
2385 MPI_Offset *disp);
2386 OMPI_DECLSPEC int PMPI_File_read_shared(MPI_File fh, void *buf, int count,
2387 MPI_Datatype datatype, MPI_Status *status);
2388 OMPI_DECLSPEC int PMPI_File_write_shared(MPI_File fh, const void *buf, int count,
2389 MPI_Datatype datatype, MPI_Status *status);
2390 OMPI_DECLSPEC int PMPI_File_iread_shared(MPI_File fh, void *buf, int count,
2391 MPI_Datatype datatype, MPI_Request *request);
2392 OMPI_DECLSPEC int PMPI_File_iwrite_shared(MPI_File fh, const void *buf, int count,
2393 MPI_Datatype datatype, MPI_Request *request);
2394 OMPI_DECLSPEC int PMPI_File_read_ordered(MPI_File fh, void *buf, int count,
2395 MPI_Datatype datatype, MPI_Status *status);
2396 OMPI_DECLSPEC int PMPI_File_write_ordered(MPI_File fh, const void *buf, int count,
2397 MPI_Datatype datatype, MPI_Status *status);
2398 OMPI_DECLSPEC int PMPI_File_seek_shared(MPI_File fh, MPI_Offset offset, int whence);
2399 OMPI_DECLSPEC int PMPI_File_get_position_shared(MPI_File fh, MPI_Offset *offset);
2400 OMPI_DECLSPEC int PMPI_File_read_at_all_begin(MPI_File fh, MPI_Offset offset, void *buf,
2401 int count, MPI_Datatype datatype);
2402 OMPI_DECLSPEC int PMPI_File_read_at_all_end(MPI_File fh, void *buf, MPI_Status *status);
2403 OMPI_DECLSPEC int PMPI_File_write_at_all_begin(MPI_File fh, MPI_Offset offset, const void *buf,
2404 int count, MPI_Datatype datatype);
2405 OMPI_DECLSPEC int PMPI_File_write_at_all_end(MPI_File fh, const void *buf, MPI_Status *status);
2406 OMPI_DECLSPEC int PMPI_File_read_all_begin(MPI_File fh, void *buf, int count,
2407 MPI_Datatype datatype);
2408 OMPI_DECLSPEC int PMPI_File_read_all_end(MPI_File fh, void *buf, MPI_Status *status);
2409 OMPI_DECLSPEC int PMPI_File_write_all_begin(MPI_File fh, const void *buf, int count,
2410 MPI_Datatype datatype);
2411 OMPI_DECLSPEC int PMPI_File_write_all_end(MPI_File fh, const void *buf, MPI_Status *status);
2412 OMPI_DECLSPEC int PMPI_File_read_ordered_begin(MPI_File fh, void *buf, int count,
2413 MPI_Datatype datatype);
2414 OMPI_DECLSPEC int PMPI_File_read_ordered_end(MPI_File fh, void *buf, MPI_Status *status);
2415 OMPI_DECLSPEC int PMPI_File_write_ordered_begin(MPI_File fh, const void *buf, int count,
2416 MPI_Datatype datatype);
2417 OMPI_DECLSPEC int PMPI_File_write_ordered_end(MPI_File fh, const void *buf, MPI_Status *status);
2418 OMPI_DECLSPEC int PMPI_File_get_type_extent(MPI_File fh, MPI_Datatype datatype,
2419 MPI_Aint *extent);
2420 OMPI_DECLSPEC int PMPI_File_set_atomicity(MPI_File fh, int flag);
2421 OMPI_DECLSPEC int PMPI_File_get_atomicity(MPI_File fh, int *flag);
2422 OMPI_DECLSPEC int PMPI_File_sync(MPI_File fh);
2423 OMPI_DECLSPEC int PMPI_Finalize(void);
2424 OMPI_DECLSPEC int PMPI_Finalized(int *flag);
2425 OMPI_DECLSPEC int PMPI_Free_mem(void *base);
2426 OMPI_DECLSPEC int PMPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2427 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2428 int root, MPI_Comm comm);
2429 OMPI_DECLSPEC int PMPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2430 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2431 int root, MPI_Comm comm, MPI_Request *request);
2432 OMPI_DECLSPEC int PMPI_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2433 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2434 int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
2435 OMPI_DECLSPEC int PMPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2436 void *recvbuf, const int recvcounts[], const int displs[],
2437 MPI_Datatype recvtype, int root, MPI_Comm comm);
2438 OMPI_DECLSPEC int PMPI_Igatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2439 void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
2440 int root, MPI_Comm comm, MPI_Request *request);
2441 OMPI_DECLSPEC int PMPI_Gatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2442 void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
2443 int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
2444 OMPI_DECLSPEC int PMPI_Get_address(const void *location, MPI_Aint *address);
2445 OMPI_DECLSPEC int PMPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count);
2446 OMPI_DECLSPEC int PMPI_Get_elements(const MPI_Status *status, MPI_Datatype datatype,
2447 int *count);
2448 OMPI_DECLSPEC int PMPI_Get_elements_x(const MPI_Status *status, MPI_Datatype datatype,
2449 MPI_Count *count);
2450 OMPI_DECLSPEC int PMPI_Get(void *origin_addr, int origin_count,
2451 MPI_Datatype origin_datatype, int target_rank,
2452 MPI_Aint target_disp, int target_count,
2453 MPI_Datatype target_datatype, MPI_Win win);
2454 OMPI_DECLSPEC int PMPI_Get_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
2455 void *result_addr, int result_count, MPI_Datatype result_datatype,
2456 int target_rank, MPI_Aint target_disp, int target_count,
2457 MPI_Datatype target_datatype, MPI_Op op, MPI_Win win);
2458 OMPI_DECLSPEC int PMPI_Get_library_version(char *version, int *resultlen);
2459 OMPI_DECLSPEC int PMPI_Get_processor_name(char *name, int *resultlen);
2460 OMPI_DECLSPEC int PMPI_Get_version(int *version, int *subversion);
2461 OMPI_DECLSPEC int PMPI_Graph_create(MPI_Comm comm_old, int nnodes, const int index[],
2462 const int edges[], int reorder, MPI_Comm *comm_graph);
2463 OMPI_DECLSPEC int PMPI_Graph_get(MPI_Comm comm, int maxindex, int maxedges,
2464 int index[], int edges[]);
2465 OMPI_DECLSPEC int PMPI_Graph_map(MPI_Comm comm, int nnodes, const int index[], const int edges[],
2466 int *newrank);
2467 OMPI_DECLSPEC int PMPI_Graph_neighbors_count(MPI_Comm comm, int rank, int *nneighbors);
2468 OMPI_DECLSPEC int PMPI_Graph_neighbors(MPI_Comm comm, int rank, int maxneighbors,
2469 int neighbors[]);
2470 OMPI_DECLSPEC int PMPI_Graphdims_get(MPI_Comm comm, int *nnodes, int *nedges);
2471 OMPI_DECLSPEC int PMPI_Grequest_complete(MPI_Request request);
2472 OMPI_DECLSPEC int PMPI_Grequest_start(MPI_Grequest_query_function *query_fn,
2473 MPI_Grequest_free_function *free_fn,
2474 MPI_Grequest_cancel_function *cancel_fn,
2475 void *extra_state, MPI_Request *request);
2476 OMPI_DECLSPEC MPI_Fint PMPI_Group_c2f(MPI_Group group);
2477 OMPI_DECLSPEC int PMPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result);
2478 OMPI_DECLSPEC int PMPI_Group_difference(MPI_Group group1, MPI_Group group2,
2479 MPI_Group *newgroup);
2480 OMPI_DECLSPEC int PMPI_Group_excl(MPI_Group group, int n, const int ranks[],
2481 MPI_Group *newgroup);
2482 OMPI_DECLSPEC MPI_Group PMPI_Group_f2c(MPI_Fint group);
2483 OMPI_DECLSPEC int PMPI_Group_free(MPI_Group *group);
2484 OMPI_DECLSPEC int PMPI_Group_from_session_pset (MPI_Session session, const char *pset_name, MPI_Group *newgroup);
2485 OMPI_DECLSPEC int PMPI_Group_incl(MPI_Group group, int n, const int ranks[],
2486 MPI_Group *newgroup);
2487 OMPI_DECLSPEC int PMPI_Group_intersection(MPI_Group group1, MPI_Group group2,
2488 MPI_Group *newgroup);
2489 OMPI_DECLSPEC int PMPI_Group_range_excl(MPI_Group group, int n, int ranges[][3],
2490 MPI_Group *newgroup);
2491 OMPI_DECLSPEC int PMPI_Group_range_incl(MPI_Group group, int n, int ranges[][3],
2492 MPI_Group *newgroup);
2493 OMPI_DECLSPEC int PMPI_Group_rank(MPI_Group group, int *rank);
2494 OMPI_DECLSPEC int PMPI_Group_size(MPI_Group group, int *size);
2495 OMPI_DECLSPEC int PMPI_Group_translate_ranks(MPI_Group group1, int n, const int ranks1[],
2496 MPI_Group group2, int ranks2[]);
2497 OMPI_DECLSPEC int PMPI_Group_union(MPI_Group group1, MPI_Group group2,
2498 MPI_Group *newgroup);
2499 OMPI_DECLSPEC int PMPI_Ibsend(const void *buf, int count, MPI_Datatype datatype, int dest,
2500 int tag, MPI_Comm comm, MPI_Request *request);
2501 OMPI_DECLSPEC int PMPI_Improbe(int source, int tag, MPI_Comm comm,
2502 int *flag, MPI_Message *message,
2503 MPI_Status *status);
2504 OMPI_DECLSPEC int PMPI_Imrecv(void *buf, int count, MPI_Datatype type,
2505 MPI_Message *message, MPI_Request *request);
2506 OMPI_DECLSPEC MPI_Fint PMPI_Info_c2f(MPI_Info info);
2507 OMPI_DECLSPEC int PMPI_Info_create(MPI_Info *info);
2508 OMPI_DECLSPEC int PMPI_Info_create_env(int argc, char *argv[], MPI_Info *info);
2509 OMPI_DECLSPEC int PMPI_Info_delete(MPI_Info info, const char *key);
2510 OMPI_DECLSPEC int PMPI_Info_dup(MPI_Info info, MPI_Info *newinfo);
2511 OMPI_DECLSPEC MPI_Info PMPI_Info_f2c(MPI_Fint info);
2512 OMPI_DECLSPEC int PMPI_Info_free(MPI_Info *info);
2513 #if MPI_VERSION < 4
2514 OMPI_DECLSPEC int PMPI_Info_get(MPI_Info info, const char *key, int valuelen,
2515 char *value, int *flag);
2516 #endif
2517 OMPI_DECLSPEC int PMPI_Info_get_nkeys(MPI_Info info, int *nkeys);
2518 OMPI_DECLSPEC int PMPI_Info_get_nthkey(MPI_Info info, int n, char *key);
2519 OMPI_DECLSPEC int PMPI_Info_get_string(MPI_Info info, const char *key, int *buflen,
2520 char *value, int *flag);
2521 #if MPI_VERSION < 4
2522 OMPI_DECLSPEC int PMPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen,
2523 int *flag);
2524 #endif
2525 OMPI_DECLSPEC int PMPI_Info_set(MPI_Info info, const char *key, const char *value);
2526 OMPI_DECLSPEC int PMPI_Init(int *argc, char ***argv);
2527 OMPI_DECLSPEC int PMPI_Initialized(int *flag);
2528 OMPI_DECLSPEC int PMPI_Init_thread(int *argc, char ***argv, int required,
2529 int *provided);
2530 OMPI_DECLSPEC int PMPI_Intercomm_create(MPI_Comm local_comm, int local_leader,
2531 MPI_Comm bridge_comm, int remote_leader,
2532 int tag, MPI_Comm *newintercomm);
2533 OMPI_DECLSPEC int PMPI_Intercomm_create_from_groups (MPI_Group local_group, int local_leader, MPI_Group remote_group,
2534 int remote_leader, const char *tag, MPI_Info info, MPI_Errhandler errhandler,
2535 MPI_Comm *newintercomm);
2536 OMPI_DECLSPEC int PMPI_Intercomm_merge(MPI_Comm intercomm, int high,
2537 MPI_Comm *newintercomm);
2538 OMPI_DECLSPEC int PMPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag,
2539 MPI_Status *status);
2540 OMPI_DECLSPEC int PMPI_Irecv(void *buf, int count, MPI_Datatype datatype, int source,
2541 int tag, MPI_Comm comm, MPI_Request *request);
2542 OMPI_DECLSPEC int PMPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest,
2543 int tag, MPI_Comm comm, MPI_Request *request);
2544 OMPI_DECLSPEC int PMPI_Isend(const void *buf, int count, MPI_Datatype datatype, int dest,
2545 int tag, MPI_Comm comm, MPI_Request *request);
2546 OMPI_DECLSPEC int PMPI_Isendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2547 int dest, int sendtag, void *recvbuf, int recvcount,
2548 MPI_Datatype recvtype, int source, int recvtag,
2549 MPI_Comm comm, MPI_Request *request);
2550 OMPI_DECLSPEC int PMPI_Isendrecv_replace(void * buf, int count, MPI_Datatype datatype,
2551 int dest, int sendtag, int source, int recvtag,
2552 MPI_Comm comm, MPI_Request *request);
2553 OMPI_DECLSPEC int PMPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest,
2554 int tag, MPI_Comm comm, MPI_Request *request);
2555 OMPI_DECLSPEC int PMPI_Precv_init(void* buf, int partitions, MPI_Count count,
2556 MPI_Datatype datatype, int source, int tag, MPI_Comm comm,
2557 MPI_Info info, MPI_Request *request);
2558 OMPI_DECLSPEC int PMPI_Psend_init(const void* buf, int partitions, MPI_Count count,
2559 MPI_Datatype datatype, int dest, int tag, MPI_Comm comm,
2560 MPI_Info info, MPI_Request *request);
2561 OMPI_DECLSPEC int PMPI_Pready(int partitions, MPI_Request request);
2562 OMPI_DECLSPEC int PMPI_Pready_range(int partition_low, int partition_high,
2563 MPI_Request request);
2564 OMPI_DECLSPEC int PMPI_Pready_list(int length, int partition_list[], MPI_Request request);
2565 OMPI_DECLSPEC int PMPI_Parrived(MPI_Request request, int partition, int *flag);
2566 OMPI_DECLSPEC int PMPI_Is_thread_main(int *flag);
2567 OMPI_DECLSPEC int PMPI_Lookup_name(const char *service_name, MPI_Info info, char *port_name);
2568 OMPI_DECLSPEC MPI_Fint PMPI_Message_c2f(MPI_Message message);
2569 OMPI_DECLSPEC MPI_Message PMPI_Message_f2c(MPI_Fint message);
2570 OMPI_DECLSPEC int PMPI_Mprobe(int source, int tag, MPI_Comm comm,
2571 MPI_Message *message,
2572 MPI_Status *status);
2573 OMPI_DECLSPEC int PMPI_Mrecv(void *buf, int count, MPI_Datatype type,
2574 MPI_Message *message, MPI_Status *status);
2575 OMPI_DECLSPEC int PMPI_Neighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2576 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2577 MPI_Comm comm);
2578 OMPI_DECLSPEC int PMPI_Ineighbor_allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2579 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2580 MPI_Comm comm, MPI_Request *request);
2581 OMPI_DECLSPEC int PMPI_Neighbor_allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2582 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2583 MPI_Comm comm, MPI_Info info, MPI_Request *request);
2584 OMPI_DECLSPEC int PMPI_Neighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2585 void *recvbuf, const int recvcounts[], const int displs[],
2586 MPI_Datatype recvtype, MPI_Comm comm);
2587 OMPI_DECLSPEC int PMPI_Ineighbor_allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2588 void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
2589 MPI_Comm comm, MPI_Request *request);
2590 OMPI_DECLSPEC int PMPI_Neighbor_allgatherv_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2591 void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
2592 MPI_Comm comm, MPI_Info info, MPI_Request *request);
2593 OMPI_DECLSPEC int PMPI_Neighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2594 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2595 MPI_Comm comm);
2596 OMPI_DECLSPEC int PMPI_Ineighbor_alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2597 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2598 MPI_Comm comm, MPI_Request *request);
2599 OMPI_DECLSPEC int PMPI_Neighbor_alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2600 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2601 MPI_Comm comm, MPI_Info info, MPI_Request *request);
2602 OMPI_DECLSPEC int PMPI_Neighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
2603 void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
2604 MPI_Comm comm);
2605 OMPI_DECLSPEC int PMPI_Ineighbor_alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
2606 void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
2607 MPI_Comm comm, MPI_Request *request);
2608 OMPI_DECLSPEC int PMPI_Neighbor_alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
2609 void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
2610 MPI_Comm comm, MPI_Info info, MPI_Request *request);
2611 OMPI_DECLSPEC int PMPI_Neighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[],
2612 void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[],
2613 MPI_Comm comm);
2614 OMPI_DECLSPEC int PMPI_Ineighbor_alltoallw(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[],
2615 void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[],
2616 MPI_Comm comm, MPI_Request *request);
2617 OMPI_DECLSPEC int PMPI_Neighbor_alltoallw_init(const void *sendbuf, const int sendcounts[], const MPI_Aint sdispls[], const MPI_Datatype sendtypes[],
2618 void *recvbuf, const int recvcounts[], const MPI_Aint rdispls[], const MPI_Datatype recvtypes[],
2619 MPI_Comm comm, MPI_Info info, MPI_Request *request);
2620 OMPI_DECLSPEC MPI_Fint PMPI_Op_c2f(MPI_Op op);
2621 OMPI_DECLSPEC int PMPI_Op_commutative(MPI_Op op, int *commute);
2622 OMPI_DECLSPEC int PMPI_Op_create(MPI_User_function *function, int commute, MPI_Op *op);
2623 OMPI_DECLSPEC int PMPI_Open_port(MPI_Info info, char *port_name);
2624 OMPI_DECLSPEC MPI_Op PMPI_Op_f2c(MPI_Fint op);
2625 OMPI_DECLSPEC int PMPI_Op_free(MPI_Op *op);
2626 OMPI_DECLSPEC int PMPI_Pack_external(const char datarep[], const void *inbuf, int incount,
2627 MPI_Datatype datatype, void *outbuf,
2628 MPI_Aint outsize, MPI_Aint *position);
2629 OMPI_DECLSPEC int PMPI_Pack_external_size(const char datarep[], int incount,
2630 MPI_Datatype datatype, MPI_Aint *size);
2631 OMPI_DECLSPEC int PMPI_Pack(const void *inbuf, int incount, MPI_Datatype datatype,
2632 void *outbuf, int outsize, int *position, MPI_Comm comm);
2633 OMPI_DECLSPEC int PMPI_Pack_size(int incount, MPI_Datatype datatype, MPI_Comm comm,
2634 int *size);
2635 OMPI_DECLSPEC int PMPI_Pcontrol(const int level, ...);
2636 OMPI_DECLSPEC int PMPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status);
2637 OMPI_DECLSPEC int PMPI_Publish_name(const char *service_name, MPI_Info info,
2638 const char *port_name);
2639 OMPI_DECLSPEC int PMPI_Put(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
2640 int target_rank, MPI_Aint target_disp, int target_count,
2641 MPI_Datatype target_datatype, MPI_Win win);
2642 OMPI_DECLSPEC int PMPI_Query_thread(int *provided);
2643 OMPI_DECLSPEC int PMPI_Raccumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
2644 int target_rank, MPI_Aint target_disp, int target_count,
2645 MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request);
2646 OMPI_DECLSPEC int PMPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source,
2647 int tag, MPI_Comm comm, MPI_Request *request);
2648 OMPI_DECLSPEC int PMPI_Recv(void *buf, int count, MPI_Datatype datatype, int source,
2649 int tag, MPI_Comm comm, MPI_Status *status);
2650 OMPI_DECLSPEC int PMPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
2651 MPI_Op op, int root, MPI_Comm comm);
2652 OMPI_DECLSPEC int PMPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
2653 MPI_Op op, int root, MPI_Comm comm, MPI_Request *request);
2654 OMPI_DECLSPEC int PMPI_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
2655 MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
2656 OMPI_DECLSPEC int PMPI_Reduce_local(const void *inbuf, void *inoutbuf, int count,
2657 MPI_Datatype datatype, MPI_Op op);
2658 OMPI_DECLSPEC int PMPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype,
2659 MPI_Op op, MPI_Comm comm);
2660 OMPI_DECLSPEC int PMPI_Ireduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype,
2661 MPI_Op op, MPI_Comm comm, MPI_Request *request);
2662 OMPI_DECLSPEC int PMPI_Reduce_scatter_init(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype,
2663 MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
2664 OMPI_DECLSPEC int PMPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype,
2665 MPI_Op op, MPI_Comm comm);
2666 OMPI_DECLSPEC int PMPI_Ireduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype,
2667 MPI_Op op, MPI_Comm comm, MPI_Request *request);
2668 OMPI_DECLSPEC int PMPI_Reduce_scatter_block_init(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype,
2669 MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
2670 OMPI_DECLSPEC int PMPI_Register_datarep(const char *datarep,
2671 MPI_Datarep_conversion_function *read_conversion_fn,
2672 MPI_Datarep_conversion_function *write_conversion_fn,
2673 MPI_Datarep_extent_function *dtype_file_extent_fn,
2674 void *extra_state);
2675 OMPI_DECLSPEC MPI_Fint PMPI_Request_c2f(MPI_Request request);
2676 OMPI_DECLSPEC MPI_Request PMPI_Request_f2c(MPI_Fint request);
2677 OMPI_DECLSPEC int PMPI_Request_free(MPI_Request *request);
2678 OMPI_DECLSPEC int PMPI_Request_get_status(MPI_Request request, int *flag,
2679 MPI_Status *status);
2680 OMPI_DECLSPEC int PMPI_Rget(void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
2681 int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype,
2682 MPI_Win win, MPI_Request *request);
2683 OMPI_DECLSPEC int PMPI_Rget_accumulate(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
2684 void *result_addr, int result_count, MPI_Datatype result_datatype,
2685 int target_rank, MPI_Aint target_disp, int target_count,
2686 MPI_Datatype target_datatype, MPI_Op op,
2687 MPI_Win win, MPI_Request *request);
2688 OMPI_DECLSPEC int PMPI_Rput(const void *origin_addr, int origin_count, MPI_Datatype origin_datatype,
2689 int target_rank, MPI_Aint target_disp, int target_cout,
2690 MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request);
2691 OMPI_DECLSPEC int PMPI_Rsend(const void *ibuf, int count, MPI_Datatype datatype, int dest,
2692 int tag, MPI_Comm comm);
2693 OMPI_DECLSPEC int PMPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype,
2694 int dest, int tag, MPI_Comm comm,
2695 MPI_Request *request);
2696 OMPI_DECLSPEC int PMPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
2697 MPI_Op op, MPI_Comm comm);
2698 OMPI_DECLSPEC int PMPI_Iscan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
2699 MPI_Op op, MPI_Comm comm, MPI_Request *request);
2700 OMPI_DECLSPEC int PMPI_Scan_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype,
2701 MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request);
2702 OMPI_DECLSPEC int PMPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2703 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2704 int root, MPI_Comm comm);
2705 OMPI_DECLSPEC int PMPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2706 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2707 int root, MPI_Comm comm, MPI_Request *request);
2708 OMPI_DECLSPEC int PMPI_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2709 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2710 int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
2711 OMPI_DECLSPEC int PMPI_Scatterv(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype,
2712 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2713 int root, MPI_Comm comm);
2714 OMPI_DECLSPEC int PMPI_Iscatterv(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype,
2715 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2716 int root, MPI_Comm comm, MPI_Request *request);
2717 OMPI_DECLSPEC int PMPI_Scatterv_init(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype,
2718 void *recvbuf, int recvcount, MPI_Datatype recvtype,
2719 int root, MPI_Comm comm, MPI_Info info, MPI_Request *request);
2720 OMPI_DECLSPEC int PMPI_Send_init(const void *buf, int count, MPI_Datatype datatype,
2721 int dest, int tag, MPI_Comm comm,
2722 MPI_Request *request);
2723 OMPI_DECLSPEC int PMPI_Send(const void *buf, int count, MPI_Datatype datatype, int dest,
2724 int tag, MPI_Comm comm);
2725 OMPI_DECLSPEC int PMPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype,
2726 int dest, int sendtag, void *recvbuf, int recvcount,
2727 MPI_Datatype recvtype, int source, int recvtag,
2728 MPI_Comm comm, MPI_Status *status);
2729 OMPI_DECLSPEC int PMPI_Sendrecv_replace(void * buf, int count, MPI_Datatype datatype,
2730 int dest, int sendtag, int source, int recvtag,
2731 MPI_Comm comm, MPI_Status *status);
2732 OMPI_DECLSPEC MPI_Fint PMPI_Session_c2f (const MPI_Session session);
2733 OMPI_DECLSPEC int PMPI_Session_call_errhandler(MPI_Session session, int errorcode);
2734 OMPI_DECLSPEC int PMPI_Session_create_errhandler (MPI_Session_errhandler_function *session_errhandler_fn,
2735 MPI_Errhandler *errhandler);
2736 OMPI_DECLSPEC int PMPI_Session_finalize (MPI_Session *session);
2737 OMPI_DECLSPEC int PMPI_Session_get_errhandler(MPI_Session session, MPI_Errhandler *erhandler);
2738 OMPI_DECLSPEC int PMPI_Session_get_info (MPI_Session session, MPI_Info *info_used);
2739 OMPI_DECLSPEC int PMPI_Session_get_num_psets (MPI_Session session, MPI_Info info, int *npset_names);
2740 OMPI_DECLSPEC int PMPI_Session_get_nth_pset (MPI_Session session, MPI_Info info, int n, int *len, char *pset_name);
2741 OMPI_DECLSPEC int PMPI_Session_get_pset_info (MPI_Session session, const char *pset_name, MPI_Info *info_used);
2742 OMPI_DECLSPEC int PMPI_Session_init (MPI_Info info, MPI_Errhandler errhandler,
2743 MPI_Session *session);
2744 OMPI_DECLSPEC MPI_Session PMPI_Session_f2c (MPI_Fint session);
2745 OMPI_DECLSPEC int PMPI_Session_set_errhandler(MPI_Session session, MPI_Errhandler erhandler);
2746 OMPI_DECLSPEC int PMPI_Session_set_info (MPI_Session session, MPI_Info info);
2747 OMPI_DECLSPEC int PMPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype,
2748 int dest, int tag, MPI_Comm comm,
2749 MPI_Request *request);
2750 OMPI_DECLSPEC int PMPI_Ssend(const void *buf, int count, MPI_Datatype datatype, int dest,
2751 int tag, MPI_Comm comm);
2752 OMPI_DECLSPEC int PMPI_Start(MPI_Request *request);
2753 OMPI_DECLSPEC int PMPI_Startall(int count, MPI_Request array_of_requests[]);
2754 OMPI_DECLSPEC int PMPI_Status_c2f(const MPI_Status *c_status, MPI_Fint *f_status);
2755 OMPI_DECLSPEC int PMPI_Status_c2f08(const MPI_Status *c_status, MPI_F08_status *f08_status);
2756 OMPI_DECLSPEC int PMPI_Status_f082f(const MPI_F08_status *f08_status, MPI_Fint *f_status);
2757 OMPI_DECLSPEC int PMPI_Status_f082c(const MPI_F08_status *f08_status, MPI_Status *c_status);
2758 OMPI_DECLSPEC int PMPI_Status_f2c(const MPI_Fint *f_status, MPI_Status *c_status);
2759 OMPI_DECLSPEC int PMPI_Status_f2f08(const MPI_Fint *f_status, MPI_F08_status *f08_status);
2760 OMPI_DECLSPEC int PMPI_Status_set_cancelled(MPI_Status *status, int flag);
2761 OMPI_DECLSPEC int PMPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype,
2762 int count);
2763 OMPI_DECLSPEC int PMPI_Status_set_elements_x(MPI_Status *status, MPI_Datatype datatype,
2764 MPI_Count count);
2765 OMPI_DECLSPEC int PMPI_Testall(int count, MPI_Request array_of_requests[], int *flag,
2766 MPI_Status array_of_statuses[]);
2767 OMPI_DECLSPEC int PMPI_Testany(int count, MPI_Request array_of_requests[], int *index, int *flag, MPI_Status *status);
2768 OMPI_DECLSPEC int PMPI_Test(MPI_Request *request, int *flag, MPI_Status *status);
2769 OMPI_DECLSPEC int PMPI_Test_cancelled(const MPI_Status *status, int *flag);
2770 OMPI_DECLSPEC int PMPI_Testsome(int incount, MPI_Request array_of_requests[],
2771 int *outcount, int array_of_indices[],
2772 MPI_Status array_of_statuses[]);
2773 OMPI_DECLSPEC int PMPI_Topo_test(MPI_Comm comm, int *status);
2774 OMPI_DECLSPEC MPI_Fint PMPI_Type_c2f(MPI_Datatype datatype);
2775 OMPI_DECLSPEC int PMPI_Type_commit(MPI_Datatype *type);
2776 OMPI_DECLSPEC int PMPI_Type_contiguous(int count, MPI_Datatype oldtype,
2777 MPI_Datatype *newtype);
2778 OMPI_DECLSPEC int PMPI_Type_create_darray(int size, int rank, int ndims,
2779 const int gsize_array[], const int distrib_array[],
2780 const int darg_array[], const int psize_array[],
2781 int order, MPI_Datatype oldtype,
2782 MPI_Datatype *newtype);
2783 OMPI_DECLSPEC int PMPI_Type_create_f90_complex(int p, int r, MPI_Datatype *newtype);
2784 OMPI_DECLSPEC int PMPI_Type_create_f90_integer(int r, MPI_Datatype *newtype);
2785 OMPI_DECLSPEC int PMPI_Type_create_f90_real(int p, int r, MPI_Datatype *newtype);
2786 OMPI_DECLSPEC int PMPI_Type_create_hindexed(int count, const int array_of_blocklengths[],
2787 const MPI_Aint array_of_displacements[],
2788 MPI_Datatype oldtype,
2789 MPI_Datatype *newtype);
2790 OMPI_DECLSPEC int PMPI_Type_create_hvector(int count, int blocklength, MPI_Aint stride,
2791 MPI_Datatype oldtype,
2792 MPI_Datatype *newtype);
2793 OMPI_DECLSPEC int PMPI_Type_create_keyval(MPI_Type_copy_attr_function *type_copy_attr_fn,
2794 MPI_Type_delete_attr_function *type_delete_attr_fn,
2795 int *type_keyval, void *extra_state);
2796 OMPI_DECLSPEC int PMPI_Type_create_hindexed_block(int count, int blocklength,
2797 const MPI_Aint array_of_displacements[],
2798 MPI_Datatype oldtype,
2799 MPI_Datatype *newtype);
2800 OMPI_DECLSPEC int PMPI_Type_create_indexed_block(int count, int blocklength,
2801 const int array_of_displacements[],
2802 MPI_Datatype oldtype,
2803 MPI_Datatype *newtype);
2804 OMPI_DECLSPEC int PMPI_Type_create_struct(int count, const int array_of_block_lengths[],
2805 const MPI_Aint array_of_displacements[],
2806 const MPI_Datatype array_of_types[],
2807 MPI_Datatype *newtype);
2808 OMPI_DECLSPEC int PMPI_Type_create_subarray(int ndims, const int size_array[], const int subsize_array[],
2809 const int start_array[], int order,
2810 MPI_Datatype oldtype, MPI_Datatype *newtype);
2811 OMPI_DECLSPEC int PMPI_Type_create_resized(MPI_Datatype oldtype, MPI_Aint lb,
2812 MPI_Aint extent, MPI_Datatype *newtype);
2813 OMPI_DECLSPEC int PMPI_Type_delete_attr(MPI_Datatype type, int type_keyval);
2814 OMPI_DECLSPEC int PMPI_Type_dup(MPI_Datatype type, MPI_Datatype *newtype);
2815 OMPI_DECLSPEC int PMPI_Type_free(MPI_Datatype *type);
2816 OMPI_DECLSPEC int PMPI_Type_free_keyval(int *type_keyval);
2817 OMPI_DECLSPEC MPI_Datatype PMPI_Type_f2c(MPI_Fint datatype);
2818 OMPI_DECLSPEC int PMPI_Type_get_attr(MPI_Datatype type, int type_keyval,
2819 void *attribute_val, int *flag);
2820 OMPI_DECLSPEC int PMPI_Type_get_contents(MPI_Datatype mtype, int max_integers,
2821 int max_addresses, int max_datatypes,
2822 int array_of_integers[],
2823 MPI_Aint array_of_addresses[],
2824 MPI_Datatype array_of_datatypes[]);
2825 OMPI_DECLSPEC int PMPI_Type_get_envelope(MPI_Datatype type, int *num_integers,
2826 int *num_addresses, int *num_datatypes,
2827 int *combiner);
2828 OMPI_DECLSPEC int PMPI_Type_get_extent(MPI_Datatype type, MPI_Aint *lb,
2829 MPI_Aint *extent);
2830 OMPI_DECLSPEC int PMPI_Type_get_extent_x(MPI_Datatype type, MPI_Count *lb,
2831 MPI_Count *extent);
2832 OMPI_DECLSPEC int PMPI_Type_get_name(MPI_Datatype type, char *type_name,
2833 int *resultlen);
2834 OMPI_DECLSPEC int PMPI_Type_get_true_extent(MPI_Datatype datatype, MPI_Aint *true_lb,
2835 MPI_Aint *true_extent);
2836 OMPI_DECLSPEC int PMPI_Type_get_true_extent_x(MPI_Datatype datatype, MPI_Count *true_lb,
2837 MPI_Count *true_extent);
2838 OMPI_DECLSPEC int PMPI_Type_indexed(int count, const int array_of_blocklengths[],
2839 const int array_of_displacements[],
2840 MPI_Datatype oldtype, MPI_Datatype *newtype);
2841 OMPI_DECLSPEC int PMPI_Type_match_size(int typeclass, int size, MPI_Datatype *type);
2842 OMPI_DECLSPEC int PMPI_Type_set_attr(MPI_Datatype type, int type_keyval,
2843 void *attr_val);
2844 OMPI_DECLSPEC int PMPI_Type_set_name(MPI_Datatype type, const char *type_name);
2845 OMPI_DECLSPEC int PMPI_Type_size(MPI_Datatype type, int *size);
2846 OMPI_DECLSPEC int PMPI_Type_size_x(MPI_Datatype type, MPI_Count *size);
2847 OMPI_DECLSPEC int PMPI_Type_vector(int count, int blocklength, int stride,
2848 MPI_Datatype oldtype, MPI_Datatype *newtype);
2849 OMPI_DECLSPEC int PMPI_Unpack(const void *inbuf, int insize, int *position,
2850 void *outbuf, int outcount, MPI_Datatype datatype,
2851 MPI_Comm comm);
2852 OMPI_DECLSPEC int PMPI_Unpublish_name(const char *service_name, MPI_Info info,
2853 const char *port_name);
2854 OMPI_DECLSPEC int PMPI_Unpack_external (const char datarep[], const void *inbuf, MPI_Aint insize,
2855 MPI_Aint *position, void *outbuf, int outcount,
2856 MPI_Datatype datatype);
2857 OMPI_DECLSPEC int PMPI_Waitall(int count, MPI_Request array_of_requests[],
2858 MPI_Status array_of_statuses[]);
2859 OMPI_DECLSPEC int PMPI_Waitany(int count, MPI_Request array_of_requests[],
2860 int *index, MPI_Status *status);
2861 OMPI_DECLSPEC int PMPI_Wait(MPI_Request *request, MPI_Status *status);
2862 OMPI_DECLSPEC int PMPI_Waitsome(int incount, MPI_Request array_of_requests[],
2863 int *outcount, int array_of_indices[],
2864 MPI_Status array_of_statuses[]);
2865 OMPI_DECLSPEC int PMPI_Win_allocate(MPI_Aint size, int disp_unit, MPI_Info info,
2866 MPI_Comm comm, void *baseptr, MPI_Win *win);
2867 OMPI_DECLSPEC int PMPI_Win_allocate_shared(MPI_Aint size, int disp_unit, MPI_Info info,
2868 MPI_Comm comm, void *baseptr, MPI_Win *win);
2869 OMPI_DECLSPEC int PMPI_Win_attach(MPI_Win win, void *base, MPI_Aint size);
2870 OMPI_DECLSPEC MPI_Fint PMPI_Win_c2f(MPI_Win win);
2871 OMPI_DECLSPEC int PMPI_Win_call_errhandler(MPI_Win win, int errorcode);
2872 OMPI_DECLSPEC int PMPI_Win_complete(MPI_Win win);
2873 OMPI_DECLSPEC int PMPI_Win_create(void *base, MPI_Aint size, int disp_unit,
2874 MPI_Info info, MPI_Comm comm, MPI_Win *win);
2875 OMPI_DECLSPEC int PMPI_Win_create_dynamic(MPI_Info info, MPI_Comm comm, MPI_Win *win);
2876 OMPI_DECLSPEC int PMPI_Win_create_errhandler(MPI_Win_errhandler_function *function,
2877 MPI_Errhandler *errhandler);
2878 OMPI_DECLSPEC int PMPI_Win_create_keyval(MPI_Win_copy_attr_function *win_copy_attr_fn,
2879 MPI_Win_delete_attr_function *win_delete_attr_fn,
2880 int *win_keyval, void *extra_state);
2881 OMPI_DECLSPEC int PMPI_Win_delete_attr(MPI_Win win, int win_keyval);
2882 OMPI_DECLSPEC int PMPI_Win_detach(MPI_Win win, const void *base);
2883 OMPI_DECLSPEC MPI_Win PMPI_Win_f2c(MPI_Fint win);
2884 OMPI_DECLSPEC int PMPI_Win_fence(int mpi_assert, MPI_Win win);
2885 OMPI_DECLSPEC int PMPI_Win_flush(int rank, MPI_Win win);
2886 OMPI_DECLSPEC int PMPI_Win_flush_all(MPI_Win win);
2887 OMPI_DECLSPEC int PMPI_Win_flush_local(int rank, MPI_Win win);
2888 OMPI_DECLSPEC int PMPI_Win_flush_local_all(MPI_Win win);
2889 OMPI_DECLSPEC int PMPI_Win_free(MPI_Win *win);
2890 OMPI_DECLSPEC int PMPI_Win_free_keyval(int *win_keyval);
2891 OMPI_DECLSPEC int PMPI_Win_get_attr(MPI_Win win, int win_keyval,
2892 void *attribute_val, int *flag);
2893 OMPI_DECLSPEC int PMPI_Win_get_errhandler(MPI_Win win, MPI_Errhandler *errhandler);
2894 OMPI_DECLSPEC int PMPI_Win_get_group(MPI_Win win, MPI_Group *group);
2895 OMPI_DECLSPEC int PMPI_Win_get_info(MPI_Win win, MPI_Info *info_used);
2896 OMPI_DECLSPEC int PMPI_Win_get_name(MPI_Win win, char *win_name, int *resultlen);
2897 OMPI_DECLSPEC int PMPI_Win_lock(int lock_type, int rank, int mpi_assert, MPI_Win win);
2898 OMPI_DECLSPEC int PMPI_Win_lock_all(int mpi_assert, MPI_Win win);
2899 OMPI_DECLSPEC int PMPI_Win_post(MPI_Group group, int mpi_assert, MPI_Win win);
2900 OMPI_DECLSPEC int PMPI_Win_set_attr(MPI_Win win, int win_keyval, void *attribute_val);
2901 OMPI_DECLSPEC int PMPI_Win_set_errhandler(MPI_Win win, MPI_Errhandler errhandler);
2902 OMPI_DECLSPEC int PMPI_Win_set_info(MPI_Win win, MPI_Info info);
2903 OMPI_DECLSPEC int PMPI_Win_set_name(MPI_Win win, const char *win_name);
2904 OMPI_DECLSPEC int PMPI_Win_shared_query(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr);
2905 OMPI_DECLSPEC int PMPI_Win_start(MPI_Group group, int mpi_assert, MPI_Win win);
2906 OMPI_DECLSPEC int PMPI_Win_sync(MPI_Win win);
2907 OMPI_DECLSPEC int PMPI_Win_test(MPI_Win win, int *flag);
2908 OMPI_DECLSPEC int PMPI_Win_unlock(int rank, MPI_Win win);
2909 OMPI_DECLSPEC int PMPI_Win_unlock_all(MPI_Win win);
2910 OMPI_DECLSPEC int PMPI_Win_wait(MPI_Win win);
2911 OMPI_DECLSPEC double PMPI_Wtick(void);
2912 OMPI_DECLSPEC double PMPI_Wtime(void);
2913 OMPI_DECLSPEC int PMPI_T_init_thread (int required, int *provided);
2914 OMPI_DECLSPEC int PMPI_T_finalize (void);
2915 OMPI_DECLSPEC int PMPI_T_cvar_get_num (int *num_cvar);
2916 OMPI_DECLSPEC int PMPI_T_cvar_get_info (int cvar_index, char *name, int *name_len,
2917 int *verbosity, MPI_Datatype *datatype,
2918 MPI_T_enum *enumtype, char *desc,
2919 int *desc_len, int *bind, int *scope);
2920 OMPI_DECLSPEC int PMPI_T_cvar_get_index (const char *name, int *cvar_index);
2921 OMPI_DECLSPEC int PMPI_T_cvar_handle_alloc (int cvar_index, void *obj_handle,
2922 MPI_T_cvar_handle *handle, int *count);
2923 OMPI_DECLSPEC int PMPI_T_cvar_handle_free (MPI_T_cvar_handle *handle);
2924 OMPI_DECLSPEC int PMPI_T_cvar_read (MPI_T_cvar_handle handle, void *buf);
2925 OMPI_DECLSPEC int PMPI_T_cvar_write (MPI_T_cvar_handle handle, const void *buf);
2926 OMPI_DECLSPEC int PMPI_T_category_get_num(int *num_cat);
2927 OMPI_DECLSPEC int PMPI_T_category_get_info(int cat_index, char *name, int *name_len,
2928 char *desc, int *desc_len, int *num_cvars,
2929 int *num_pvars, int *num_categories);
2930 OMPI_DECLSPEC int PMPI_T_category_get_index (const char *name, int *category_index);
2931 OMPI_DECLSPEC int PMPI_T_category_get_cvars(int cat_index, int len, int indices[]);
2932 OMPI_DECLSPEC int PMPI_T_category_get_pvars(int cat_index, int len, int indices[]);
2933 OMPI_DECLSPEC int PMPI_T_category_get_categories(int cat_index, int len, int indices[]);
2934 OMPI_DECLSPEC int PMPI_T_category_changed(int *stamp);
2935
2936 OMPI_DECLSPEC int PMPI_T_pvar_get_num(int *num_pvar);
2937 OMPI_DECLSPEC int PMPI_T_pvar_get_info(int pvar_index, char *name, int *name_len,
2938 int *verbosity, int *var_class, MPI_Datatype *datatype,
2939 MPI_T_enum *enumtype, char *desc, int *desc_len, int *bind,
2940 int *readonly, int *continuous, int *atomic);
2941 OMPI_DECLSPEC int PMPI_T_pvar_get_index (const char *name, int var_class, int *pvar_index);
2942 OMPI_DECLSPEC int PMPI_T_pvar_session_create(MPI_T_pvar_session *session);
2943 OMPI_DECLSPEC int PMPI_T_pvar_session_free(MPI_T_pvar_session *session);
2944 OMPI_DECLSPEC int PMPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index,
2945 void *obj_handle, MPI_T_pvar_handle *handle, int *count);
2946 OMPI_DECLSPEC int PMPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle);
2947 OMPI_DECLSPEC int PMPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle);
2948 OMPI_DECLSPEC int PMPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle);
2949 OMPI_DECLSPEC int PMPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle,
2950 void *buf);
2951 OMPI_DECLSPEC int PMPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle,
2952 const void *buf);
2953 OMPI_DECLSPEC int PMPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle);
2954 OMPI_DECLSPEC int PMPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle,
2955 void *buf);
2956 OMPI_DECLSPEC int PMPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len);
2957 OMPI_DECLSPEC int PMPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name,
2958 int *name_len);
2959
2960
2961
2962
2963 OMPI_DECLSPEC int MPI_T_init_thread (int required, int *provided);
2964 OMPI_DECLSPEC int MPI_T_finalize (void);
2965 OMPI_DECLSPEC int MPI_T_cvar_get_num (int *num_cvar);
2966 OMPI_DECLSPEC int MPI_T_cvar_get_info (int cvar_index, char *name, int *name_len,
2967 int *verbosity, MPI_Datatype *datatype,
2968 MPI_T_enum *enumtype, char *desc,
2969 int *desc_len, int *bind, int *scope);
2970 OMPI_DECLSPEC int MPI_T_cvar_get_index (const char *name, int *cvar_index);
2971 OMPI_DECLSPEC int MPI_T_cvar_handle_alloc (int cvar_index, void *obj_handle,
2972 MPI_T_cvar_handle *handle, int *count);
2973 OMPI_DECLSPEC int MPI_T_cvar_handle_free (MPI_T_cvar_handle *handle);
2974 OMPI_DECLSPEC int MPI_T_cvar_read (MPI_T_cvar_handle handle, void *buf);
2975 OMPI_DECLSPEC int MPI_T_cvar_write (MPI_T_cvar_handle handle, const void *buf);
2976 OMPI_DECLSPEC int MPI_T_category_get_num(int *num_cat);
2977 OMPI_DECLSPEC int MPI_T_category_get_info(int cat_index, char *name, int *name_len,
2978 char *desc, int *desc_len, int *num_cvars,
2979 int *num_pvars, int *num_categories);
2980 OMPI_DECLSPEC int MPI_T_category_get_index (const char *name, int *category_index);
2981 OMPI_DECLSPEC int MPI_T_category_get_cvars(int cat_index, int len, int indices[]);
2982 OMPI_DECLSPEC int MPI_T_category_get_pvars(int cat_index, int len, int indices[]);
2983 OMPI_DECLSPEC int MPI_T_category_get_categories(int cat_index, int len, int indices[]);
2984 OMPI_DECLSPEC int MPI_T_category_changed(int *stamp);
2985
2986 OMPI_DECLSPEC int MPI_T_pvar_get_num(int *num_pvar);
2987 OMPI_DECLSPEC int MPI_T_pvar_get_info(int pvar_index, char *name, int *name_len,
2988 int *verbosity, int *var_class, MPI_Datatype *datatype,
2989 MPI_T_enum *enumtype, char *desc, int *desc_len, int *bind,
2990 int *readonly, int *continuous, int *atomic);
2991 OMPI_DECLSPEC int MPI_T_pvar_get_index (const char *name, int var_class, int *pvar_index);
2992 OMPI_DECLSPEC int MPI_T_pvar_session_create(MPI_T_pvar_session *session);
2993 OMPI_DECLSPEC int MPI_T_pvar_session_free(MPI_T_pvar_session *session);
2994 OMPI_DECLSPEC int MPI_T_pvar_handle_alloc(MPI_T_pvar_session session, int pvar_index,
2995 void *obj_handle, MPI_T_pvar_handle *handle, int *count);
2996 OMPI_DECLSPEC int MPI_T_pvar_handle_free(MPI_T_pvar_session session, MPI_T_pvar_handle *handle);
2997 OMPI_DECLSPEC int MPI_T_pvar_start(MPI_T_pvar_session session, MPI_T_pvar_handle handle);
2998 OMPI_DECLSPEC int MPI_T_pvar_stop(MPI_T_pvar_session session, MPI_T_pvar_handle handle);
2999 OMPI_DECLSPEC int MPI_T_pvar_read(MPI_T_pvar_session session, MPI_T_pvar_handle handle,
3000 void *buf);
3001 OMPI_DECLSPEC int MPI_T_pvar_write(MPI_T_pvar_session session, MPI_T_pvar_handle handle,
3002 const void *buf);
3003 OMPI_DECLSPEC int MPI_T_pvar_reset(MPI_T_pvar_session session, MPI_T_pvar_handle handle);
3004 OMPI_DECLSPEC int MPI_T_pvar_readreset(MPI_T_pvar_session session, MPI_T_pvar_handle handle,
3005 void *buf);
3006 OMPI_DECLSPEC int MPI_T_enum_get_info(MPI_T_enum enumtype, int *num, char *name, int *name_len);
3007 OMPI_DECLSPEC int MPI_T_enum_get_item(MPI_T_enum enumtype, int index, int *value, char *name,
3008 int *name_len);
3009
3010
3011
3012
3013 OMPI_DECLSPEC int MPI_Attr_delete(MPI_Comm comm, int keyval)
3014 __mpi_interface_deprecated__("MPI_Attr_delete was deprecated in MPI-2.0; use MPI_Comm_delete_attr instead");
3015 OMPI_DECLSPEC int PMPI_Attr_delete(MPI_Comm comm, int keyval)
3016 __mpi_interface_deprecated__("PMPI_Attr_delete was deprecated in MPI-2.0; use PMPI_Comm_delete_attr instead");
3017 OMPI_DECLSPEC int MPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag)
3018 __mpi_interface_deprecated__("MPI_Attr_get was deprecated in MPI-2.0; use MPI_Comm_get_attr instead");
3019 OMPI_DECLSPEC int PMPI_Attr_get(MPI_Comm comm, int keyval, void *attribute_val, int *flag)
3020 __mpi_interface_deprecated__("PMPI_Attr_get was deprecated in MPI-2.0; use PMPI_Comm_get_attr instead");
3021 OMPI_DECLSPEC int MPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val)
3022 __mpi_interface_deprecated__("MPI_Attr_put was deprecated in MPI-2.0; use MPI_Comm_set_attr instead");
3023 OMPI_DECLSPEC int PMPI_Attr_put(MPI_Comm comm, int keyval, void *attribute_val)
3024 __mpi_interface_deprecated__("PMPI_Attr_put was deprecated in MPI-2.0; use PMPI_Comm_set_attr instead");
3025 #if MPI_VERSION >= 4
3026 OMPI_DECLSPEC int MPI_Info_get(MPI_Info info, const char *key, int valuelen,
3027 char *value, int *flag)
3028 __mpi_interface_deprecated__("MPI_Info_get was deprecated in MPI-4.0; use MPI_Info_get_string instead");
3029 OMPI_DECLSPEC int PMPI_Info_get(MPI_Info info, const char *key, int valuelen,
3030 char *value, int *flag)
3031 __mpi_interface_deprecated__("PMPI_Info_get was deprecated in MPI-4.0; use PMPI_Info_get_string instead");
3032 OMPI_DECLSPEC int MPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen,
3033 int *flag)
3034 __mpi_interface_deprecated__("MPI_Info_get_valuelen was deprecated in MPI-4.0; use MPI_Info_get_string instead");
3035 OMPI_DECLSPEC int PMPI_Info_get_valuelen(MPI_Info info, const char *key, int *valuelen,
3036 int *flag)
3037 __mpi_interface_deprecated__("PMPI_Info_get_valuelen was deprecated in MPI-4.0; use PMPI_Info_get_string instead");
3038 #endif
3039
3040
3041
3042
3043
3044
3045
3046 typedef int (MPI_Copy_function)(MPI_Comm, int, void *,
3047 void *, void *, int *);
3048
3049 typedef int (MPI_Delete_function)(MPI_Comm, int, void *, void *);
3050
3051 OMPI_DECLSPEC int MPI_Keyval_create(MPI_Copy_function *copy_fn,
3052 MPI_Delete_function *delete_fn,
3053 int *keyval, void *extra_state)
3054 __mpi_interface_deprecated__("MPI_Keyval_create was deprecated in MPI-2.0; use MPI_Comm_create_keyval instead.");
3055 OMPI_DECLSPEC int PMPI_Keyval_create(MPI_Copy_function *copy_fn,
3056 MPI_Delete_function *delete_fn,
3057 int *keyval, void *extra_state)
3058 __mpi_interface_deprecated__("PMPI_Keyval_create was deprecated in MPI-2.0; use PMPI_Comm_create_keyval instead.");
3059 OMPI_DECLSPEC int MPI_Keyval_free(int *keyval)
3060 __mpi_interface_deprecated__("MPI_Keyval_free was deprecated in MPI-2.0; MPI_Comm_free_keyval instead.");
3061 OMPI_DECLSPEC int PMPI_Keyval_free(int *keyval)
3062 __mpi_interface_deprecated__("PMPI_Keyval_free was deprecated in MPI-2.0; PMPI_Comm_free_keyval instead.");
3063
3064 #if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS)
3065 #define MPI_DUP_FN OMPI_C_MPI_DUP_FN
3066 #endif
3067 OMPI_DECLSPEC int OMPI_C_MPI_DUP_FN( MPI_Comm comm, int comm_keyval,
3068 void* extra_state,
3069 void* attribute_val_in,
3070 void* attribute_val_out,
3071 int* flag )
3072 __mpi_interface_deprecated__("MPI_DUP_FN was deprecated in MPI-2.0; use MPI_COMM_DUP_FN instead.");
3073
3074 #if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS)
3075 #define MPI_NULL_COPY_FN OMPI_C_MPI_NULL_COPY_FN
3076 #endif
3077 OMPI_DECLSPEC int OMPI_C_MPI_NULL_COPY_FN( MPI_Comm comm, int comm_keyval,
3078 void* extra_state,
3079 void* attribute_val_in,
3080 void* attribute_val_out,
3081 int* flag )
3082 __mpi_interface_deprecated__("MPI_NULL_COPY_FN was deprecated in MPI-2.0; use MPI_COMM_NULL_COPY_FN instead.");
3083
3084 #if !defined(OMPI_COMPILING_FORTRAN_WRAPPERS)
3085 #define MPI_NULL_DELETE_FN OMPI_C_MPI_NULL_DELETE_FN
3086 #endif
3087 OMPI_DECLSPEC int OMPI_C_MPI_NULL_DELETE_FN( MPI_Comm comm, int comm_keyval,
3088 void* attribute_val_out,
3089 void* extra_state )
3090 __mpi_interface_deprecated__("MPI_NULL_DELETE_FN was deprecated in MPI-2.0; use MPI_COMM_NULL_DELETE_FN instead.");
3091
3092 #if (!OMPI_OMIT_MPI1_COMPAT_DECLS)
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105 typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...);
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115 OMPI_DECLSPEC int MPI_Address(void *location, MPI_Aint *address)
3116 __mpi_interface_removed__(MPI_Address, MPI_Get_address);
3117 OMPI_DECLSPEC int PMPI_Address(void *location, MPI_Aint *address)
3118 __mpi_interface_removed__(PMPI_Address, PMPI_Get_address);
3119 OMPI_DECLSPEC int MPI_Errhandler_create(MPI_Handler_function *function,
3120 MPI_Errhandler *errhandler)
3121 __mpi_interface_removed__(MPI_Errhandler_create, MPI_Comm_create_errhandler);
3122 OMPI_DECLSPEC int PMPI_Errhandler_create(MPI_Handler_function *function,
3123 MPI_Errhandler *errhandler)
3124 __mpi_interface_removed__(PMPI_Errhandler_create, PMPI_Comm_create_errhandler);
3125 OMPI_DECLSPEC int MPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler)
3126 __mpi_interface_removed__(MPI_Errhandler_get, MPI_Comm_get_errhandler);
3127 OMPI_DECLSPEC int PMPI_Errhandler_get(MPI_Comm comm, MPI_Errhandler *errhandler)
3128 __mpi_interface_removed__(PMPI_Errhandler_get, PMPI_Comm_get_errhandler);
3129 OMPI_DECLSPEC int MPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler)
3130 __mpi_interface_removed__(MPI_Errhandler_set, MPI_Comm_set_errhandler);
3131 OMPI_DECLSPEC int PMPI_Errhandler_set(MPI_Comm comm, MPI_Errhandler errhandler)
3132 __mpi_interface_removed__(PMPI_Errhandler_set, PMPI_Comm_set_errhandler);
3133 OMPI_DECLSPEC int MPI_Type_extent(MPI_Datatype type, MPI_Aint *extent)
3134 __mpi_interface_removed__(MPI_Type_extent, MPI_Type_get_extent);
3135 OMPI_DECLSPEC int PMPI_Type_extent(MPI_Datatype type, MPI_Aint *extent)
3136 __mpi_interface_removed__(PMPI_Type_extent, PMPI_Type_get_extent);
3137 OMPI_DECLSPEC int MPI_Type_hindexed(int count, int array_of_blocklengths[],
3138 MPI_Aint array_of_displacements[],
3139 MPI_Datatype oldtype, MPI_Datatype *newtype)
3140 __mpi_interface_removed__(MPI_Type_hindexed, MPI_Type_create_hindexed);
3141 OMPI_DECLSPEC int PMPI_Type_hindexed(int count, int array_of_blocklengths[],
3142 MPI_Aint array_of_displacements[],
3143 MPI_Datatype oldtype, MPI_Datatype *newtype)
3144 __mpi_interface_removed__(PMPI_Type_hindexed, PMPI_Type_create_hindexed);
3145 OMPI_DECLSPEC int MPI_Type_hvector(int count, int blocklength, MPI_Aint stride,
3146 MPI_Datatype oldtype, MPI_Datatype *newtype)
3147 __mpi_interface_removed__(MPI_Type_hvector, MPI_Type_create_hvector);
3148 OMPI_DECLSPEC int PMPI_Type_hvector(int count, int blocklength, MPI_Aint stride,
3149 MPI_Datatype oldtype, MPI_Datatype *newtype)
3150 __mpi_interface_removed__(PMPI_Type_hvector, PMPI_Type_create_hvector);
3151 OMPI_DECLSPEC int MPI_Type_lb(MPI_Datatype type, MPI_Aint *lb)
3152 __mpi_interface_removed__(MPI_Type_lb, MPI_Type_get_extent);
3153 OMPI_DECLSPEC int PMPI_Type_lb(MPI_Datatype type, MPI_Aint *lb)
3154 __mpi_interface_removed__(PMPI_Type_lb, PMPI_Type_get_extent);
3155 OMPI_DECLSPEC int MPI_Type_struct(int count, int array_of_blocklengths[],
3156 MPI_Aint array_of_displacements[],
3157 MPI_Datatype array_of_types[],
3158 MPI_Datatype *newtype)
3159 __mpi_interface_removed__(MPI_Type_struct, MPI_Type_create_struct);
3160 OMPI_DECLSPEC int PMPI_Type_struct(int count, int array_of_blocklengths[],
3161 MPI_Aint array_of_displacements[],
3162 MPI_Datatype array_of_types[],
3163 MPI_Datatype *newtype)
3164 __mpi_interface_removed__(PMPI_Type_struct, PMPI_Type_create_struct);
3165 OMPI_DECLSPEC int MPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub)
3166 __mpi_interface_removed__(MPI_Type_ub, MPI_Type_get_extent);
3167 OMPI_DECLSPEC int PMPI_Type_ub(MPI_Datatype mtype, MPI_Aint *ub)
3168 __mpi_interface_removed__(PMPI_Type_ub, PMPI_Type_get_extent);
3169 #endif
3170
3171 #if OMPI_REMOVED_USE_STATIC_ASSERT
3172 #define MPI_Address(...) THIS_FUNCTION_WAS_REMOVED_IN_MPI30(MPI_Address, MPI_Get_address)
3173 #define MPI_Errhandler_create(...) THIS_FUNCTION_WAS_REMOVED_IN_MPI30(MPI_Errhandler_create, MPI_Comm_create_errhandler)
3174 #define MPI_Errhandler_get(...) THIS_FUNCTION_WAS_REMOVED_IN_MPI30(MPI_Errhandler_get, MPI_Comm_get_errhandler)
3175 #define MPI_Errhandler_set(...) THIS_FUNCTION_WAS_REMOVED_IN_MPI30(MPI_Errhandler_set, MPI_Comm_set_errhandler)
3176 #define MPI_Type_extent(...) THIS_FUNCTION_WAS_REMOVED_IN_MPI30(MPI_Type_extent, MPI_Type_get_extent)
3177 #define MPI_Type_hindexed(...) THIS_FUNCTION_WAS_REMOVED_IN_MPI30(MPI_Type_hindexed, MPI_Type_create_hindexed)
3178 #define MPI_Type_hvector(...) THIS_FUNCTION_WAS_REMOVED_IN_MPI30(MPI_Type_hvector, MPI_Type_create_hvector)
3179 #define MPI_Type_lb(...) THIS_FUNCTION_WAS_REMOVED_IN_MPI30(MPI_Type_lb, MPI_Type_get_extent)
3180 #define MPI_Type_struct(...) THIS_FUNCTION_WAS_REMOVED_IN_MPI30(MPI_Type_struct, MPI_Type_create_struct)
3181 #define MPI_Type_ub(...) THIS_FUNCTION_WAS_REMOVED_IN_MPI30(MPI_Type_ub, MPI_Type_get_extent)
3182 #endif
3183
3184 #if defined(c_plusplus) || defined(__cplusplus)
3185 }
3186 #endif
3187
3188 #endif