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