00001 #ifndef _MPI_H
00002 #define _MPI_H
00003 
00004 #include <stdlib.h> 
00005 #include <inttypes.h> 
00006 #include "charm-api.h"
00007 
00008 #define AMPI_INTERNAL_SKIP_FUNCTIONS
00009 
00010 #if CMK_CUDA
00011 #include "hapi.h"
00012 #endif
00013 
00014 
00015 
00016 #define AMPI
00017 
00018 
00019 #if defined(__linux__)
00020 # define AMPI_HAVE_PMPI 1
00021 #else
00022 # define AMPI_HAVE_PMPI 0
00023 #endif
00024 
00025 
00026 
00027 #ifdef AMPI_USE_FUNCPTR
00028   #define AMPI_FUNCPTR(x) (* x)
00029 #else
00030   #define AMPI_FUNCPTR(x) x
00031 #endif
00032 
00033 #define AMPI_CUSTOM_API_DEF(return_type, function_name, ...) \
00034   extern return_type AMPI_FUNCPTR(function_name)(__VA_ARGS__);
00035 #if AMPI_HAVE_PMPI
00036   #define AMPI_API_DEF(return_type, function_name, ...) \
00037     extern return_type AMPI_FUNCPTR(function_name)(__VA_ARGS__);             \
00038     extern return_type AMPI_FUNCPTR(P##function_name)(__VA_ARGS__);
00039 #else
00040   #define AMPI_API_DEF AMPI_CUSTOM_API_DEF
00041 #endif
00042 
00043 #ifdef __cplusplus
00044 # define AMPI_API_STATIC_CAST(type, obj)      (static_cast<type>(obj))
00045 # define AMPI_API_REINTERPRET_CAST(type, obj) (reinterpret_cast<type>(obj))
00046 #else
00047 # define AMPI_API_STATIC_CAST(type, obj)      ((type)(obj))
00048 # define AMPI_API_REINTERPRET_CAST(type, obj) ((type)(obj))
00049 #endif
00050 
00051 
00052 
00053 
00054 
00055 
00056 #ifndef AMPI_RENAME_EXIT
00057 #define AMPI_RENAME_EXIT 1
00058 #endif
00059 #if AMPI_RENAME_EXIT
00060 #define exit(status) AMPI_Exit(status)
00061 #endif
00062 
00063 
00064 
00065 #ifndef AMPI_RENAME_ATEXIT
00066 #define AMPI_RENAME_ATEXIT 1
00067 #endif
00068 #if AMPI_RENAME_ATEXIT
00069 #define atexit(...) do {atexit(__VA_ARGS__); atexit(ampiMarkAtexit);} while(0)
00070 #endif
00071 
00072 
00073 
00074 
00075 
00076 
00077 #ifdef __cplusplus 
00078 #  define main AMPI_Main_cpp
00079 CLINKAGE int AMPI_Main_cpp(int argc,char **argv); 
00080 int AMPI_Main_cpp(void); 
00081 
00082 extern "C" {
00083 #else 
00084 #  define main AMPI_Main
00085 #endif
00086 
00087 int AMPI_Main(); 
00088 void AMPI_Main_c(int argc,char **argv); 
00089 
00090 typedef void (*MPI_MainFn) (int,char**);
00091 
00092 typedef int MPI_Datatype;
00093 typedef intptr_t MPI_Aint;
00094 typedef int MPI_Fint;
00095 typedef MPI_Aint MPI_Count;
00096 typedef long long int MPI_Offset;
00097 
00098 
00099 
00100 #define MPI_SUCCESS                     0
00101 #define MPI_ERR_BUFFER                  1
00102 #define MPI_ERR_COUNT                   2
00103 #define MPI_ERR_TYPE                    3
00104 #define MPI_ERR_TAG                     4
00105 #define MPI_ERR_COMM                    5
00106 #define MPI_ERR_RANK                    6
00107 #define MPI_ERR_REQUEST                 7
00108 #define MPI_ERR_ROOT                    8
00109 #define MPI_ERR_GROUP                   9
00110 #define MPI_ERR_OP                     10
00111 #define MPI_ERR_TOPOLOGY               11
00112 #define MPI_ERR_DIMS                   12
00113 #define MPI_ERR_ARG                    13
00114 #define MPI_ERR_UNKNOWN                14
00115 #define MPI_ERR_TRUNCATE               15
00116 #define MPI_ERR_OTHER                  16
00117 #define MPI_ERR_INTERN                 17
00118 #define MPI_ERR_IN_STATUS              18
00119 #define MPI_ERR_PENDING                19
00120 
00121 #define MPI_ERR_ACCESS                 20
00122 #define MPI_ERR_AMODE                  21
00123 #define MPI_ERR_ASSERT                 22
00124 #define MPI_ERR_BAD_FILE               23
00125 #define MPI_ERR_BASE                   24
00126 #define MPI_ERR_CONVERSION             25
00127 #define MPI_ERR_DISP                   26
00128 #define MPI_ERR_DUP_DATAREP            27
00129 #define MPI_ERR_FILE_EXISTS            28
00130 #define MPI_ERR_FILE_IN_USE            29
00131 #define MPI_ERR_FILE                   30
00132 #define MPI_ERR_INFO_KEY               31
00133 #define MPI_ERR_INFO_NOKEY             32
00134 #define MPI_ERR_INFO_VALUE             33
00135 #define MPI_ERR_INFO                   34
00136 #define MPI_ERR_IO                     35
00137 #define MPI_ERR_KEYVAL                 36
00138 #define MPI_ERR_LOCKTYPE               37
00139 #define MPI_ERR_NAME                   38
00140 #define MPI_ERR_NO_MEM                 39
00141 #define MPI_ERR_NOT_SAME               40
00142 #define MPI_ERR_NO_SPACE               41
00143 #define MPI_ERR_NO_SUCH_FILE           42
00144 #define MPI_ERR_PORT                   43
00145 #define MPI_ERR_QUOTA                  44
00146 #define MPI_ERR_READ_ONLY              45
00147 #define MPI_ERR_RMA_CONFLICT           46
00148 #define MPI_ERR_RMA_SYNC               47
00149 #define MPI_ERR_SERVICE                48
00150 #define MPI_ERR_SIZE                   49
00151 #define MPI_ERR_SPAWN                  50
00152 #define MPI_ERR_UNSUPPORTED_DATAREP    51
00153 #define MPI_ERR_UNSUPPORTED_OPERATION  52
00154 #define MPI_ERR_WIN                    53
00155 #define MPI_ERR_LASTCODE               53
00156 #define MPI_LASTUSEDCODE               53
00157 
00158 
00159 #define MPI_MAX_PROCESSOR_NAME         256
00160 #define MPI_MAX_ERROR_STRING           256
00161 #define MPI_MAX_LIBRARY_VERSION_STRING 256
00162 
00163 #define MPI_VERSION    2
00164 #define MPI_SUBVERSION 2
00165 
00166 #define MPI_THREAD_SINGLE     1
00167 #define MPI_THREAD_FUNNELED   2
00168 #define MPI_THREAD_SERIALIZED 3
00169 #define MPI_THREAD_MULTIPLE   4
00170 
00171 
00172 
00173 #define MPI_DATATYPE_NULL       -1
00174 #define MPI_DOUBLE               0
00175 #define MPI_INT                  1
00176 #define MPI_INTEGER              MPI_INT
00177 #define MPI_FLOAT                2
00178 #define MPI_LOGICAL              3
00179 #define MPI_C_BOOL               4
00180 #define MPI_CHAR                 5
00181 #define MPI_BYTE                 6
00182 #define MPI_PACKED               7
00183 #define MPI_SHORT                8
00184 #define MPI_LONG                 9
00185 #define MPI_UNSIGNED_CHAR       10
00186 #define MPI_UNSIGNED_SHORT      11
00187 #define MPI_UNSIGNED            12
00188 #define MPI_UNSIGNED_LONG       13
00189 #define MPI_LONG_DOUBLE         14
00190 
00191 #define MPI_LONG_LONG_INT       15
00192 #define MPI_LONG_LONG           MPI_LONG_LONG_INT
00193 #define MPI_OFFSET              MPI_LONG_LONG
00194 #define MPI_SIGNED_CHAR         16
00195 #define MPI_UNSIGNED_LONG_LONG  17
00196 #define MPI_WCHAR               18
00197 #define MPI_INT8_T              19
00198 #define MPI_INT16_T             20
00199 #define MPI_INT32_T             21
00200 #define MPI_INT64_T             22
00201 #define MPI_UINT8_T             23
00202 #define MPI_UINT16_T            24
00203 #define MPI_UINT32_T            25
00204 #define MPI_UINT64_T            26
00205 #define MPI_AINT                27
00206 #define MPI_COUNT               MPI_AINT
00207 #define MPI_LB                  28
00208 #define MPI_UB                  29
00209 
00210 
00211 
00212 
00213 
00214 
00215 
00216 #define MPI_FLOAT_INT           30
00217 #define MPI_DOUBLE_INT          31
00218 #define MPI_LONG_INT            32
00219 #define MPI_2INT                33
00220 #define MPI_SHORT_INT           34
00221 #define MPI_LONG_DOUBLE_INT     35
00222 #define MPI_2FLOAT              36
00223 #define MPI_2DOUBLE             37
00224 
00225 #define MPI_COMPLEX             38
00226 #define MPI_FLOAT_COMPLEX       39
00227 #define MPI_DOUBLE_COMPLEX      40
00228 #define MPI_LONG_DOUBLE_COMPLEX 41
00229 
00230 
00231 
00232 
00233 
00234 
00235 
00236 #define MPI_ANY_TAG        MPI_TAG_UB_VALUE+1
00237 #define MPI_REQUEST_NULL   (-1)
00238 #define MPI_GROUP_NULL     (-1)
00239 #define MPI_GROUP_EMPTY       0
00240 #define MPI_COMM_NULL      (-1)
00241 #define MPI_PROC_NULL      (-2)
00242 #define MPI_ROOT           (-3)
00243 #define MPI_ANY_SOURCE     (-1)
00244 #define MPI_KEYVAL_INVALID (-1)
00245 #define MPI_INFO_NULL      (-1)
00246 
00247 #define MPI_IN_PLACE    AMPI_API_REINTERPRET_CAST(void *, -1L)
00248 
00249 #define MPI_BOTTOM      AMPI_API_REINTERPRET_CAST(void *, -2L)
00250 #define MPI_UNDEFINED   (-32766)
00251 
00252 #define MPI_IDENT       0
00253 #define MPI_SIMILAR     1
00254 #define MPI_CONGRUENT   2
00255 #define MPI_UNEQUAL     3
00256 
00257 #define MPI_COMM_TYPE_SHARED   1
00258 #define AMPI_COMM_TYPE_HOST    2
00259 #define AMPI_COMM_TYPE_PROCESS 3
00260 #define AMPI_COMM_TYPE_WTH     4
00261 
00262 typedef int MPI_Op;
00263 
00264 typedef void (MPI_User_function)(void *invec, void *inoutvec,
00265                                  int *len, MPI_Datatype *datatype);
00266 
00267 #define MPI_OP_NULL -1
00268 #define MPI_MAX      0
00269 #define MPI_MIN      1
00270 #define MPI_SUM      2
00271 #define MPI_PROD     3
00272 #define MPI_LAND     4
00273 #define MPI_BAND     5
00274 #define MPI_LOR      6
00275 #define MPI_BOR      7
00276 #define MPI_LXOR     8
00277 #define MPI_BXOR     9
00278 #define MPI_MAXLOC  10
00279 #define MPI_MINLOC  11
00280 #define MPI_REPLACE 12
00281 #define MPI_NO_OP   13
00282 
00283 
00284 
00285 
00286 
00287 
00288 
00289 #define MPI_UNWEIGHTED 0
00290 #define MPI_CART       1
00291 #define MPI_GRAPH      2
00292 #define MPI_DIST_GRAPH 3
00293 
00294 
00295 
00296 
00297 
00298 #define MPI_TAG_UB_VALUE  1073741824
00299 
00300 
00301 #define MPI_TAG_UB             -2
00302 #define MPI_HOST               -3
00303 #define MPI_IO                 -4
00304 #define MPI_WTIME_IS_GLOBAL    -5
00305 #define MPI_APPNUM             -6
00306 #define MPI_UNIVERSE_SIZE      -7
00307 #define MPI_WIN_BASE           -8
00308 #define MPI_WIN_SIZE           -9
00309 #define MPI_WIN_DISP_UNIT     -10
00310 #define MPI_WIN_MODEL         -11
00311 #define MPI_WIN_CREATE_FLAVOR -12
00312 #define AMPI_MY_WTH           -13
00313 #define AMPI_NUM_WTHS         -14
00314 #define AMPI_MY_PROCESS       -15
00315 #define AMPI_NUM_PROCESSES    -16
00316 
00320 typedef int MPI_Comm;
00321 
00323 typedef int MPI_Group;
00324 
00325 typedef int MPI_Info;
00326 
00327 #define MPI_COMM_SELF               AMPI_API_STATIC_CAST(MPI_Comm, 1000000) 
00328 #define MPI_COMM_FIRST_SPLIT        AMPI_API_STATIC_CAST(MPI_Comm, 1000000) 
00329 #define MPI_COMM_FIRST_GROUP        AMPI_API_STATIC_CAST(MPI_Comm, 2000000) 
00330 #define MPI_COMM_FIRST_CART         AMPI_API_STATIC_CAST(MPI_Comm, 3000000) 
00331 #define MPI_COMM_FIRST_GRAPH        AMPI_API_STATIC_CAST(MPI_Comm, 4000000) 
00332 #define MPI_COMM_FIRST_DIST_GRAPH   AMPI_API_STATIC_CAST(MPI_Comm, 5000000) 
00333 #define MPI_COMM_FIRST_INTER        AMPI_API_STATIC_CAST(MPI_Comm, 6000000) 
00334 #define MPI_COMM_FIRST_INTRA        AMPI_API_STATIC_CAST(MPI_Comm, 7000000) 
00335 #define MPI_COMM_FIRST_RESVD        AMPI_API_STATIC_CAST(MPI_Comm, 8000000) 
00336 #define MPI_COMM_WORLD              AMPI_API_STATIC_CAST(MPI_Comm, 9000000) 
00337 #define MPI_MAX_COMM_WORLDS  8
00338 extern MPI_Comm MPI_COMM_UNIVERSE[MPI_MAX_COMM_WORLDS];
00339 
00340 #define MPI_INFO_ENV                AMPI_API_STATIC_CAST(MPI_Info, 0)
00341 #define AMPI_INFO_LB_SYNC           AMPI_API_STATIC_CAST(MPI_Info, 1)
00342 #define AMPI_INFO_LB_ASYNC          AMPI_API_STATIC_CAST(MPI_Info, 2)
00343 #define AMPI_INFO_CHKPT_IN_MEMORY   AMPI_API_STATIC_CAST(MPI_Info, 3)
00344 
00345 
00346 struct AmpiMsg;
00347 typedef int MPI_Request;
00348 typedef struct {
00349   int MPI_TAG, MPI_SOURCE, MPI_COMM, MPI_LENGTH, MPI_ERROR, MPI_CANCEL; 
00350   struct AmpiMsg *msg;
00351 } MPI_Status;
00352 
00353 #define MPI_STATUS_IGNORE   AMPI_API_REINTERPRET_CAST(MPI_Status *, 0)
00354 #define MPI_STATUSES_IGNORE AMPI_API_REINTERPRET_CAST(MPI_Status *, 0)
00355 
00356 
00357 typedef int MPI_Message;
00358 #define MPI_MESSAGE_NULL    -1
00359 #define MPI_MESSAGE_NO_PROC -2
00360 
00361 typedef int MPI_Errhandler;
00362 #define MPI_ERRHANDLER_NULL  0
00363 #define MPI_ERRORS_RETURN    1
00364 #define MPI_ERRORS_ARE_FATAL 2
00365 
00366 typedef void (MPI_Comm_errhandler_fn)(MPI_Comm *, int *, ...);
00367 typedef void (MPI_Comm_errhandler_function)(MPI_Comm *, int *, ...);
00368 typedef int  (MPI_Comm_copy_attr_function)(MPI_Comm oldcomm, int keyval,
00369                                            void *extra_state, void *attribute_val_in,
00370                                            void *attribute_val_out, int *flag);
00371 typedef int  (MPI_Comm_delete_attr_function)(MPI_Comm comm, int keyval,
00372                                              void *attribute_val, void *extra_state);
00373 
00374 typedef void (MPI_Handler_function)(MPI_Comm *, int *, ...);
00375 typedef int  (MPI_Copy_function)(MPI_Comm oldcomm, int keyval,
00376                                  void *extra_state, void *attribute_val_in,
00377                                  void *attribute_val_out, int *flag);
00378 typedef int  (MPI_Delete_function)(MPI_Comm comm, int keyval,
00379                                    void *attribute_val, void *extra_state);
00380 
00381 typedef int MPI_Type_copy_attr_function(MPI_Datatype oldtype, int type_keyval, void *extra_state,
00382                                         void *attribute_val_in, void *attribute_val_out, int *flag);
00383 typedef int MPI_Type_delete_attr_function(MPI_Datatype datatype, int type_keyval,
00384                                           void *attribute_val, void *extra_state);
00385 
00386 typedef int MPI_Grequest_query_function(void *extra_state, MPI_Status *status);
00387 typedef int MPI_Grequest_free_function(void *extra_state);
00388 typedef int MPI_Grequest_cancel_function(void *extra_state, int complete);
00389 
00390 #include "pup_c.h"
00391 
00392 typedef void (*MPI_PupFn)(pup_er, void*);
00393 typedef void (*MPI_MigrateFn)(void);
00394 
00395 
00396 #define MPI_COMBINER_NAMED            1
00397 #define MPI_COMBINER_CONTIGUOUS       2
00398 #define MPI_COMBINER_VECTOR           3
00399 #define MPI_COMBINER_HVECTOR          4
00400 #define MPI_COMBINER_HVECTOR_INTEGER  5
00401 #define MPI_COMBINER_INDEXED          6
00402 #define MPI_COMBINER_HINDEXED         7
00403 #define MPI_COMBINER_HINDEXED_INTEGER 8
00404 #define MPI_COMBINER_STRUCT           9
00405 #define MPI_COMBINER_STRUCT_INTEGER   10
00406 #define MPI_COMBINER_DARRAY           11
00407 #define MPI_COMBINER_RESIZED          12
00408 #define MPI_COMBINER_SUBARRAY         13
00409 #define MPI_COMBINER_INDEXED_BLOCK    14
00410 #define MPI_COMBINER_HINDEXED_BLOCK   15
00411 
00412 #define MPI_BSEND_OVERHEAD 0
00413 
00414 
00415 #if CMK_CONVERSE_MPI
00416 
00417 #define  MPI_Send  AMPI_Send
00418 #define PMPI_Send APMPI_Send
00419 #define  MPI_Ssend  AMPI_Ssend
00420 #define PMPI_Ssend APMPI_Ssend
00421 #define  MPI_Recv  AMPI_Recv
00422 #define PMPI_Recv APMPI_Recv
00423 #define  MPI_Mrecv  AMPI_Mrecv
00424 #define PMPI_Mrecv APMPI_Mrecv
00425 #define  MPI_Get_count  AMPI_Get_count
00426 #define PMPI_Get_count APMPI_Get_count
00427 #define  MPI_Bsend  AMPI_Bsend
00428 #define PMPI_Bsend APMPI_Bsend
00429 #define  MPI_Rsend  AMPI_Rsend
00430 #define PMPI_Rsend APMPI_Rsend
00431 #define  MPI_Buffer_attach  AMPI_Buffer_attach
00432 #define PMPI_Buffer_attach APMPI_Buffer_attach
00433 #define  MPI_Buffer_detach  AMPI_Buffer_detach
00434 #define PMPI_Buffer_detach APMPI_Buffer_detach
00435 #define  MPI_Isend  AMPI_Isend
00436 #define PMPI_Isend APMPI_Isend
00437 #define  MPI_Ibsend  AMPI_Ibsend
00438 #define PMPI_Ibsend APMPI_Ibsend
00439 #define  MPI_Issend  AMPI_Issend
00440 #define PMPI_Issend APMPI_Issend
00441 #define  MPI_Irsend  AMPI_Irsend
00442 #define PMPI_Irsend APMPI_Irsend
00443 #define  MPI_Irecv  AMPI_Irecv
00444 #define PMPI_Irecv APMPI_Irecv
00445 #define  MPI_Imrecv  AMPI_Imrecv
00446 #define PMPI_Imrecv APMPI_Imrecv
00447 #define  MPI_Waitany  AMPI_Waitany
00448 #define PMPI_Waitany APMPI_Waitany
00449 #define  MPI_Test  AMPI_Test
00450 #define PMPI_Test APMPI_Test
00451 #define  MPI_Wait  AMPI_Wait
00452 #define PMPI_Wait APMPI_Wait
00453 #define  MPI_Testany  AMPI_Testany
00454 #define PMPI_Testany APMPI_Testany
00455 #define  MPI_Waitall  AMPI_Waitall
00456 #define PMPI_Waitall APMPI_Waitall
00457 #define  MPI_Testall  AMPI_Testall
00458 #define PMPI_Testall APMPI_Testall
00459 #define  MPI_Waitsome  AMPI_Waitsome
00460 #define PMPI_Waitsome APMPI_Waitsome
00461 #define  MPI_Testsome  AMPI_Testsome
00462 #define PMPI_Testsome APMPI_Testsome
00463 #define  MPI_Request_get_status  AMPI_Request_get_status
00464 #define PMPI_Request_get_status APMPI_Request_get_status
00465 #define  MPI_Request_free  AMPI_Request_free
00466 #define PMPI_Request_free APMPI_Request_free
00467 #define  MPI_Grequest_start  AMPI_Grequest_start
00468 #define PMPI_Grequest_start APMPI_Grequest_start
00469 #define  MPI_Grequest_complete  AMPI_Grequest_complete
00470 #define PMPI_Grequest_complete APMPI_Grequest_complete
00471 #define  MPI_Cancel  AMPI_Cancel
00472 #define PMPI_Cancel APMPI_Cancel
00473 #define  MPI_Test_cancelled  AMPI_Test_cancelled
00474 #define PMPI_Test_cancelled APMPI_Test_cancelled
00475 #define  MPI_Status_set_cancelled  AMPI_Status_set_cancelled
00476 #define PMPI_Status_set_cancelled APMPI_Status_set_cancelled
00477 #define  MPI_Iprobe AMPI_Iprobe
00478 #define PMPI_Iprobe APMPI_Iprobe
00479 #define  MPI_Probe AMPI_Probe
00480 #define PMPI_Probe APMPI_Probe
00481 #define  MPI_Improbe AMPI_Improbe
00482 #define PMPI_Improbe APMPI_Improbe
00483 #define  MPI_Mprobe AMPI_Mprobe
00484 #define PMPI_Mprobe APMPI_Mprobe
00485 #define  MPI_Send_init  AMPI_Send_init
00486 #define PMPI_Send_init APMPI_Send_init
00487 #define  MPI_Ssend_init  AMPI_Ssend_init
00488 #define PMPI_Ssend_init APMPI_Ssend_init
00489 #define  MPI_Rsend_init  AMPI_Rsend_init
00490 #define PMPI_Rsend_init APMPI_Rsend_init
00491 #define  MPI_Bsend_init  AMPI_Bsend_init
00492 #define PMPI_Bsend_init APMPI_Bsend_init
00493 #define  MPI_Recv_init  AMPI_Recv_init
00494 #define PMPI_Recv_init APMPI_Recv_init
00495 #define  MPI_Start  AMPI_Start
00496 #define PMPI_Start APMPI_Start
00497 #define  MPI_Startall  AMPI_Startall
00498 #define PMPI_Startall APMPI_Startall
00499 #define  MPI_Sendrecv  AMPI_Sendrecv
00500 #define PMPI_Sendrecv APMPI_Sendrecv
00501 #define  MPI_Sendrecv_replace  AMPI_Sendrecv_replace
00502 #define PMPI_Sendrecv_replace APMPI_Sendrecv_replace
00503 
00504 
00505 #define  MPI_Type_contiguous  AMPI_Type_contiguous
00506 #define PMPI_Type_contiguous APMPI_Type_contiguous
00507 #define  MPI_Type_vector  AMPI_Type_vector
00508 #define PMPI_Type_vector APMPI_Type_vector
00509 #define  MPI_Type_create_hvector  AMPI_Type_create_hvector
00510 #define PMPI_Type_create_hvector APMPI_Type_create_hvector
00511 #define  MPI_Type_hvector  AMPI_Type_hvector
00512 #define PMPI_Type_hvector APMPI_Type_hvector
00513 #define  MPI_Type_indexed  AMPI_Type_indexed
00514 #define PMPI_Type_indexed APMPI_Type_indexed
00515 #define  MPI_Type_create_hindexed  AMPI_Type_create_hindexed
00516 #define PMPI_Type_create_hindexed APMPI_Type_create_hindexed
00517 #define  MPI_Type_create_indexed_block  AMPI_Type_create_indexed_block
00518 #define PMPI_Type_create_indexed_block APMPI_Type_create_indexed_block
00519 #define  MPI_Type_create_hindexed_block  AMPI_Type_create_hindexed_block
00520 #define PMPI_Type_create_hindexed_block APMPI_Type_create_hindexed_block
00521 #define  MPI_Type_hindexed  AMPI_Type_hindexed
00522 #define PMPI_Type_hindexed APMPI_Type_hindexed
00523 #define  MPI_Type_create_struct  AMPI_Type_create_struct
00524 #define PMPI_Type_create_struct APMPI_Type_create_struct
00525 #define  MPI_Type_struct  AMPI_Type_struct
00526 #define PMPI_Type_struct APMPI_Type_struct
00527 #define  MPI_Type_get_envelope  AMPI_Type_get_envelope
00528 #define PMPI_Type_get_envelope APMPI_Type_get_envelope
00529 #define  MPI_Type_get_contents  AMPI_Type_get_contents
00530 #define PMPI_Type_get_contents APMPI_Type_get_contents
00531 #define  MPI_Type_commit  AMPI_Type_commit
00532 #define PMPI_Type_commit APMPI_Type_commit
00533 #define  MPI_Type_free  AMPI_Type_free
00534 #define PMPI_Type_free APMPI_Type_free
00535 #define  MPI_Type_get_extent  AMPI_Type_get_extent
00536 #define PMPI_Type_get_extent APMPI_Type_get_extent
00537 #define  MPI_Type_get_extent_x  AMPI_Type_get_extent_x
00538 #define PMPI_Type_get_extent_x APMPI_Type_get_extent_x
00539 #define  MPI_Type_extent  AMPI_Type_extent
00540 #define PMPI_Type_extent APMPI_Type_extent
00541 #define  MPI_Type_get_true_extent  AMPI_Type_get_true_extent
00542 #define PMPI_Type_get_true_extent APMPI_Type_get_true_extent
00543 #define  MPI_Type_get_true_extent_x  AMPI_Type_get_true_extent_x
00544 #define PMPI_Type_get_true_extent_X APMPI_Type_get_true_extent_x
00545 #define  MPI_Type_size  AMPI_Type_size
00546 #define PMPI_Type_size APMPI_Type_size
00547 #define  MPI_Type_size_x  AMPI_Type_size_x
00548 #define PMPI_Type_size_x APMPI_Type_size_x
00549 #define  MPI_Type_lb  AMPI_Type_lb
00550 #define PMPI_Type_lb APMPI_Type_lb
00551 #define  MPI_Type_ub  AMPI_Type_ub
00552 #define PMPI_Type_ub APMPI_Type_ub
00553 #define  MPI_Type_set_name  AMPI_Type_set_name
00554 #define PMPI_Type_set_name APMPI_Type_set_name
00555 #define  MPI_Type_get_name  AMPI_Type_get_name
00556 #define PMPI_Type_get_name APMPI_Type_get_name
00557 #define  MPI_Type_dup  AMPI_Type_dup
00558 #define PMPI_Type_dup APMPI_Type_dup
00559 #define  MPI_Type_create_resized  AMPI_Type_create_resized
00560 #define PMPI_Type_create_resized APMPI_Type_create_resized
00561 #define  MPI_Type_set_attr  AMPI_Type_set_attr
00562 #define PMPI_Type_set_attr APMPI_Type_set_attr
00563 #define  MPI_Type_get_attr  AMPI_Type_get_attr
00564 #define PMPI_Type_get_attr APMPI_Type_get_attr
00565 #define  MPI_Type_delete_attr  AMPI_Type_delete_attr
00566 #define PMPI_Type_delete_attr APMPI_Type_delete_attr
00567 #define  MPI_Type_create_keyval  AMPI_Type_create_keyval
00568 #define PMPI_Type_create_keyval APMPI_Type_create_keyval
00569 #define  MPI_Type_free_keyval  AMPI_Type_free_keyval
00570 #define PMPI_Type_free_keyval APMPI_Type_free_keyval
00571 #define  MPI_Type_create_darray  AMPI_Type_create_darray
00572 #define PMPI_Type_create_darray APMPI_Type_create_darray
00573 #define  MPI_Type_create_subarray  AMPI_Type_create_subarray
00574 #define PMPI_Type_create_subarray APMPI_Type_create_subarray
00575 #define  MPI_Get_address  AMPI_Get_address
00576 #define PMPI_Get_address APMPI_Get_address
00577 #define  MPI_Address  AMPI_Address
00578 #define PMPI_Address APMPI_Address
00579 #define  MPI_Status_set_elements  AMPI_Status_set_elements
00580 #define PMPI_Status_set_elements APMPI_Status_set_elements
00581 #define  MPI_Status_set_elements_x  AMPI_Status_set_elements_x
00582 #define PMPI_Status_set_elements_x APMPI_Status_set_elements_x
00583 #define  MPI_Get_elements  AMPI_Get_elements
00584 #define PMPI_Get_elements APMPI_Get_elements
00585 #define  MPI_Get_elements_x  AMPI_Get_elements_x
00586 #define PMPI_Get_elements_x APMPI_Get_elements_x
00587 #define  MPI_Pack  AMPI_Pack
00588 #define PMPI_Pack APMPI_Pack
00589 #define  MPI_Unpack  AMPI_Unpack
00590 #define PMPI_Unpack APMPI_Unpack
00591 #define  MPI_Pack_size  AMPI_Pack_size
00592 #define PMPI_Pack_size APMPI_Pack_size
00593 
00594 
00595 #define  MPI_Barrier  AMPI_Barrier
00596 #define PMPI_Barrier APMPI_Barrier
00597 #define  MPI_Ibarrier  AMPI_Ibarrier
00598 #define PMPI_Ibarrier APMPI_Ibarrier
00599 #define  MPI_Bcast  AMPI_Bcast
00600 #define PMPI_Bcast APMPI_Bcast
00601 #define  MPI_Ibcast  AMPI_Ibcast
00602 #define PMPI_Ibcast APMPI_Ibcast
00603 #define  MPI_Gather  AMPI_Gather
00604 #define PMPI_Gather APMPI_Gather
00605 #define  MPI_Igather  AMPI_Igather
00606 #define PMPI_Igather APMPI_Igather
00607 #define  MPI_Gatherv  AMPI_Gatherv
00608 #define PMPI_Gatherv APMPI_Gatherv
00609 #define  MPI_Igatherv  AMPI_Igatherv
00610 #define PMPI_Igatherv APMPI_Igatherv
00611 #define  MPI_Scatter  AMPI_Scatter
00612 #define PMPI_Scatter APMPI_Scatter
00613 #define  MPI_Iscatter  AMPI_Iscatter
00614 #define PMPI_Iscatter APMPI_Iscatter
00615 #define  MPI_Scatterv  AMPI_Scatterv
00616 #define PMPI_Scatterv APMPI_Scatterv
00617 #define  MPI_Iscatterv  AMPI_Iscatterv
00618 #define PMPI_Iscatterv APMPI_Iscatterv
00619 #define  MPI_Allgather  AMPI_Allgather
00620 #define PMPI_Allgather APMPI_Allgather
00621 #define  MPI_Iallgather  AMPI_Iallgather
00622 #define PMPI_Iallgather APMPI_Iallgather
00623 #define  MPI_Allgatherv  AMPI_Allgatherv
00624 #define PMPI_Allgatherv APMPI_Allgatherv
00625 #define  MPI_Iallgatherv  AMPI_Iallgatherv
00626 #define PMPI_Iallgatherv APMPI_Iallgatherv
00627 #define  MPI_Alltoall  AMPI_Alltoall
00628 #define PMPI_Alltoall APMPI_Alltoall
00629 #define  MPI_Ialltoall  AMPI_Ialltoall
00630 #define PMPI_Ialltoall APMPI_Ialltoall
00631 #define  MPI_Alltoallv  AMPI_Alltoallv
00632 #define PMPI_Alltoallv APMPI_Alltoallv
00633 #define  MPI_Ialltoallv  AMPI_Ialltoallv
00634 #define PMPI_Ialltoallv APMPI_Ialltoallv
00635 #define  MPI_Alltoallw  AMPI_Alltoallw
00636 #define PMPI_Alltoallw APMPI_Alltoallw
00637 #define  MPI_Ialltoallw  AMPI_Ialltoallw
00638 #define PMPI_Ialltoallw APMPI_Ialltoallw
00639 #define  MPI_Reduce  AMPI_Reduce
00640 #define PMPI_Reduce APMPI_Reduce
00641 #define  MPI_Ireduce  AMPI_Ireduce
00642 #define PMPI_Ireduce APMPI_Ireduce
00643 #define  MPI_Allreduce  AMPI_Allreduce
00644 #define PMPI_Allreduce APMPI_Allreduce
00645 #define  MPI_Iallreduce  AMPI_Iallreduce
00646 #define PMPI_Iallreduce APMPI_Iallreduce
00647 #define  MPI_Reduce_local  AMPI_Reduce_local
00648 #define PMPI_Reduce_local APMPI_Reduce_local
00649 #define  MPI_Reduce_scatter_block  AMPI_Reduce_scatter_block
00650 #define PMPI_Reduce_scatter_block APMPI_Reduce_scatter_block
00651 #define  MPI_Ireduce_scatter_block  AMPI_Ireduce_scatter_block
00652 #define PMPI_Ireduce_scatter_block APMPI_Ireduce_scatter_block
00653 #define  MPI_Reduce_scatter  AMPI_Reduce_scatter
00654 #define PMPI_Reduce_scatter APMPI_Reduce_scatter
00655 #define  MPI_Ireduce_scatter  AMPI_Ireduce_scatter
00656 #define PMPI_Ireduce_scatter APMPI_Ireduce_scatter
00657 #define  MPI_Scan  AMPI_Scan
00658 #define PMPI_Scan APMPI_Scan
00659 #define  MPI_Iscan  AMPI_Iscan
00660 #define PMPI_Iscan APMPI_Iscan
00661 #define  MPI_Exscan  AMPI_Exscan
00662 #define PMPI_Exscan APMPI_Exscan
00663 #define  MPI_Iexscan  AMPI_Iexscan
00664 #define PMPI_Iexscan APMPI_Iexscan
00665 
00666 
00667 #define  MPI_Neighbor_alltoall  AMPI_Neighbor_alltoall
00668 #define PMPI_Neighbor_alltoall APMPI_Neighbor_alltoall
00669 #define  MPI_Ineighbor_alltoall  AMPI_Ineighbor_alltoall
00670 #define PMPI_Ineighbor_alltoall APMPI_Ineighbor_alltoall
00671 #define  MPI_Neighbor_alltoallv  AMPI_Neighbor_alltoallv
00672 #define PMPI_Neighbor_alltoallv APMPI_Neighbor_alltoallv
00673 #define  MPI_Ineighbor_alltoallv  AMPI_Ineighbor_alltoallv
00674 #define PMPI_Ineighbor_alltoallv APMPI_Ineighbor_alltoallv
00675 #define  MPI_Neighbor_alltoallw  AMPI_Neighbor_alltoallw
00676 #define PMPI_Neighbor_alltoallw APMPI_Neighbor_alltoallw
00677 #define  MPI_Ineighbor_alltoallw  AMPI_Ineighbor_alltoallw
00678 #define PMPI_Ineighbor_alltoallw APMPI_Ineighbor_alltoallw
00679 #define  MPI_Neighbor_allgather  AMPI_Neighbor_allgather
00680 #define PMPI_Neighbor_allgather APMPI_Neighbor_allgather
00681 #define  MPI_Ineighbor_allgather  AMPI_Ineighbor_allgather
00682 #define PMPI_Ineighbor_allgather APMPI_Ineighbor_allgather
00683 #define  MPI_Neighbor_allgatherv  AMPI_Neighbor_allgatherv
00684 #define PMPI_Neighbor_allgatherv APMPI_Neighbor_allgatherv
00685 #define  MPI_Ineighbor_allgatherv  AMPI_Ineighbor_allgatherv
00686 #define PMPI_Ineighbor_allgatherv APMPI_Ineighbor_allgatherv
00687 
00688 
00689 #define  MPI_Op_create  AMPI_Op_create
00690 #define PMPI_Op_create APMPI_Op_create
00691 #define  MPI_Op_free  AMPI_Op_free
00692 #define PMPI_Op_free APMPI_Op_free
00693 #define  MPI_Op_commutative  AMPI_Op_commutative
00694 #define PMPI_Op_commutative APMPI_Op_commutative
00695 
00696 
00697 #define  MPI_Group_size  AMPI_Group_size
00698 #define PMPI_Group_size APMPI_Group_size
00699 #define  MPI_Group_rank  AMPI_Group_rank
00700 #define PMPI_Group_rank APMPI_Group_rank
00701 #define  MPI_Group_translate_ranks  AMPI_Group_translate_ranks
00702 #define PMPI_Group_translate_ranks APMPI_Group_translate_ranks
00703 #define  MPI_Group_compare  AMPI_Group_compare
00704 #define PMPI_Group_compare APMPI_Group_compare
00705 #define  MPI_Comm_group  AMPI_Comm_group
00706 #define PMPI_Comm_group APMPI_Comm_group
00707 #define  MPI_Group_union  AMPI_Group_union
00708 #define PMPI_Group_union APMPI_Group_union
00709 #define  MPI_Group_intersection  AMPI_Group_intersection
00710 #define PMPI_Group_intersection APMPI_Group_intersection
00711 #define  MPI_Group_difference  AMPI_Group_difference
00712 #define PMPI_Group_difference APMPI_Group_difference
00713 #define  MPI_Group_incl  AMPI_Group_incl
00714 #define PMPI_Group_incl APMPI_Group_incl
00715 #define  MPI_Group_excl  AMPI_Group_excl
00716 #define PMPI_Group_excl APMPI_Group_excl
00717 #define  MPI_Group_range_incl  AMPI_Group_range_incl
00718 #define PMPI_Group_range_incl APMPI_Group_range_incl
00719 #define  MPI_Group_range_excl  AMPI_Group_range_excl
00720 #define PMPI_Group_range_excl APMPI_Group_range_excl
00721 #define  MPI_Group_free  AMPI_Group_free
00722 #define PMPI_Group_free APMPI_Group_free
00723 
00724 
00725 #define  MPI_Intercomm_create  AMPI_Intercomm_create
00726 #define PMPI_Intercomm_create APMPI_Intercomm_create
00727 #define  MPI_Intercomm_merge  AMPI_Intercomm_merge
00728 #define PMPI_Intercomm_merge APMPI_Intercomm_merge
00729 #define  MPI_Comm_create  AMPI_Comm_create
00730 #define PMPI_Comm_create APMPI_Comm_create
00731 #define  MPI_Comm_create_group AMPI_Comm_create_group
00732 #define PMPI_Comm_create_group APMPI_Comm_create_group
00733 #define  MPI_Comm_size  AMPI_Comm_size
00734 #define PMPI_Comm_size APMPI_Comm_size
00735 #define  MPI_Comm_rank  AMPI_Comm_rank
00736 #define PMPI_Comm_rank APMPI_Comm_rank
00737 #define  MPI_Comm_compare  AMPI_Comm_compare
00738 #define PMPI_Comm_compare APMPI_Comm_compare
00739 #define  MPI_Comm_split  AMPI_Comm_split
00740 #define PMPI_Comm_split APMPI_Comm_split
00741 #define  MPI_Comm_split_type  AMPI_Comm_split_type
00742 #define PMPI_Comm_split_type APMPI_Comm_split_type
00743 #define  MPI_Comm_dup  AMPI_Comm_dup
00744 #define PMPI_Comm_dup APMPI_Comm_dup
00745 #define  MPI_Comm_idup  AMPI_Comm_idup
00746 #define PMPI_Comm_idup APMPI_Comm_idup
00747 #define  MPI_Comm_dup_with_info  AMPI_Comm_dup_with_info
00748 #define PMPI_Comm_dup_with_info APMPI_Comm_dup_with_info
00749 #define  MPI_Comm_idup_with_info  AMPI_Comm_idup_with_info
00750 #define PMPI_Comm_idup_with_info APMPI_Comm_idup_with_info
00751 #define  MPI_Comm_free  AMPI_Comm_free
00752 #define PMPI_Comm_free APMPI_Comm_free
00753 #define  MPI_Comm_test_inter  AMPI_Comm_test_inter
00754 #define PMPI_Comm_test_inter APMPI_Comm_test_inter
00755 #define  MPI_Comm_remote_size  AMPI_Comm_remote_size
00756 #define PMPI_Comm_remote_size APMPI_Comm_remote_size
00757 #define  MPI_Comm_remote_group  AMPI_Comm_remote_group
00758 #define PMPI_Comm_remote_group APMPI_Comm_remote_group
00759 #define  MPI_Comm_set_name  AMPI_Comm_set_name
00760 #define PMPI_Comm_set_name APMPI_Comm_set_name
00761 #define  MPI_Comm_get_name  AMPI_Comm_get_name
00762 #define PMPI_Comm_get_name APMPI_Comm_get_name
00763 #define  MPI_Comm_set_info  AMPI_Comm_set_info
00764 #define PMPI_Comm_set_info APMPI_Comm_set_info
00765 #define  MPI_Comm_get_info  AMPI_Comm_get_info
00766 #define PMPI_Comm_get_info APMPI_Comm_get_info
00767 #define  MPI_Comm_call_errhandler  AMPI_Comm_call_errhandler
00768 #define PMPI_Comm_call_errhandler APMPI_Comm_call_errhandler
00769 #define  MPI_Comm_create_errhandler  AMPI_Comm_create_errhandler
00770 #define PMPI_Comm_create_errhandler APMPI_Comm_create_errhandler
00771 #define  MPI_Comm_set_errhandler  AMPI_Comm_set_errhandler
00772 #define PMPI_Comm_set_errhandler APMPI_Comm_set_errhandler
00773 #define  MPI_Comm_get_errhandler  AMPI_Comm_get_errhandler
00774 #define PMPI_Comm_get_errhandler APMPI_Comm_get_errhandler
00775 #define  MPI_Comm_free_errhandler  AMPI_Comm_free_errhandler
00776 #define PMPI_Comm_free_errhandler APMPI_Comm_free_errhandler
00777 #define  MPI_Comm_create_keyval  AMPI_Comm_create_keyval
00778 #define PMPI_Comm_create_keyval APMPI_Comm_create_keyval
00779 #define  MPI_Comm_free_keyval  AMPI_Comm_free_keyval
00780 #define PMPI_Comm_free_keyval APMPI_Comm_free_keyval
00781 #define  MPI_Comm_set_attr  AMPI_Comm_set_attr
00782 #define PMPI_Comm_set_attr APMPI_Comm_set_attr
00783 #define  MPI_Comm_get_attr  AMPI_Comm_get_attr
00784 #define PMPI_Comm_get_attr APMPI_Comm_get_attr
00785 #define  MPI_Comm_delete_attr AMPI_Comm_delete_attr
00786 #define PMPI_Comm_delete_attr APMPI_Comm_delete_attr
00787 
00788 
00789 #define  MPI_Keyval_create  AMPI_Keyval_create
00790 #define PMPI_Keyval_create APMPI_Keyval_create
00791 #define  MPI_Keyval_free  AMPI_Keyval_free
00792 #define PMPI_Keyval_free APMPI_Keyval_free
00793 #define  MPI_Attr_put  AMPI_Attr_put
00794 #define PMPI_Attr_put APMPI_Attr_put
00795 #define  MPI_Attr_get  AMPI_Attr_get
00796 #define PMPI_Attr_get APMPI_Attr_get
00797 #define  MPI_Attr_delete  AMPI_Attr_delete
00798 #define PMPI_Attr_delete APMPI_Attr_delete
00799 
00800 
00801 #define  MPI_Cart_create  AMPI_Cart_create
00802 #define PMPI_Cart_create APMPI_Cart_create
00803 #define  MPI_Graph_create  AMPI_Graph_create
00804 #define PMPI_Graph_create APMPI_Graph_create
00805 #define  MPI_Dist_graph_create_adjacent AMPI_Dist_graph_create_adjacent
00806 #define PMPI_Dist_graph_create_adjacent APMPI_Dist_graph_create_adjacent
00807 #define  MPI_Dist_graph_create AMPI_Dist_graph_create
00808 #define PMPI_Dist_graph_create APMPI_Dist_graph_create
00809 #define  MPI_Topo_test  AMPI_Topo_test
00810 #define PMPI_Topo_test APMPI_Topo_test
00811 #define  MPI_Cart_map  AMPI_Cart_map
00812 #define PMPI_Cart_map APMPI_Cart_map
00813 #define  MPI_Graph_map  AMPI_Graph_map
00814 #define PMPI_Graph_map APMPI_Graph_map
00815 #define  MPI_Cartdim_get  AMPI_Cartdim_get
00816 #define PMPI_Cartdim_get APMPI_Cartdim_get
00817 #define  MPI_Cart_get  AMPI_Cart_get
00818 #define PMPI_Cart_get APMPI_Cart_get
00819 #define  MPI_Cart_rank  AMPI_Cart_rank
00820 #define PMPI_Cart_rank APMPI_Cart_rank
00821 #define  MPI_Cart_coords  AMPI_Cart_coords
00822 #define PMPI_Cart_coords APMPI_Cart_coords
00823 #define  MPI_Cart_shift  AMPI_Cart_shift
00824 #define PMPI_Cart_shift APMPI_Cart_shift
00825 #define  MPI_Graphdims_get  AMPI_Graphdims_get
00826 #define PMPI_Graphdims_get APMPI_Graphdims_get
00827 #define  MPI_Graph_get  AMPI_Graph_get
00828 #define PMPI_Graph_get APMPI_Graph_get
00829 #define  MPI_Graph_neighbors_count  AMPI_Graph_neighbors_count
00830 #define PMPI_Graph_neighbors_count APMPI_Graph_neighbors_count
00831 #define  MPI_Graph_neighbors  AMPI_Graph_neighbors
00832 #define PMPI_Graph_neighbors APMPI_Graph_neighbors
00833 #define  MPI_Dist_graph_neighbors_count AMPI_Dist_graph_neighbors_count
00834 #define PMPI_Dist_graph_neighbors_count APMPI_Dist_graph_neighbors_count
00835 #define  MPI_Dist_graph_neighbors AMPI_Dist_graph_neighbors
00836 #define PMPI_Dist_graph_neighbors APMPI_Dist_graph_neighbors
00837 #define  MPI_Dims_create  AMPI_Dims_create
00838 #define PMPI_Dims_create APMPI_Dims_create
00839 #define  MPI_Cart_sub  AMPI_Cart_sub
00840 #define PMPI_Cart_sub APMPI_Cart_sub
00841 
00842 
00843 #define  MPI_Errhandler_create  AMPI_Errhandler_create
00844 #define PMPI_Errhandler_create APMPI_Errhandler_create
00845 #define  MPI_Errhandler_set  AMPI_Errhandler_set
00846 #define PMPI_Errhandler_set APMPI_Errhandler_set
00847 #define  MPI_Errhandler_get  AMPI_Errhandler_get
00848 #define PMPI_Errhandler_get APMPI_Errhandler_get
00849 #define  MPI_Errhandler_free  AMPI_Errhandler_free
00850 #define PMPI_Errhandler_free APMPI_Errhandler_free
00851 #define  MPI_Add_error_code  AMPI_Add_error_code
00852 #define PMPI_Add_error_code APMPI_Add_error_code
00853 #define  MPI_Add_error_class  AMPI_Add_error_class
00854 #define PMPI_Add_error_class APMPI_Add_error_class
00855 #define  MPI_Add_error_string  AMPI_Add_error_string
00856 #define PMPI_Add_error_string APMPI_Add_error_string
00857 #define  MPI_Error_class  AMPI_Error_class
00858 #define PMPI_Error_class APMPI_Error_class
00859 #define  MPI_Error_string  AMPI_Error_string
00860 #define PMPI_Error_string APMPI_Error_string
00861 #define  MPI_Get_version  AMPI_Get_version
00862 #define PMPI_Get_version APMPI_Get_version
00863 #define  MPI_Get_library_version  AMPI_Get_library_version
00864 #define PMPI_Get_library_version APMPI_Get_library_version
00865 #define  MPI_Get_processor_name  AMPI_Get_processor_name
00866 #define PMPI_Get_processor_name APMPI_Get_processor_name
00867 #define  MPI_Wtime  AMPI_Wtime
00868 #define PMPI_Wtime APMPI_Wtime
00869 #define  MPI_Wtick  AMPI_Wtick
00870 #define PMPI_Wtick APMPI_Wtick
00871 #define  MPI_Is_thread_main  AMPI_Is_thread_main
00872 #define PMPI_Is_thread_main APMPI_Is_thread_main
00873 #define  MPI_Query_thread  AMPI_Query_thread
00874 #define PMPI_Query_thread APMPI_Query_thread
00875 #define  MPI_Init_thread  AMPI_Init_thread
00876 #define PMPI_Init_thread APMPI_Init_thread
00877 #define  MPI_Init  AMPI_Init
00878 #define PMPI_Init APMPI_Init
00879 #define  MPI_Initialized  AMPI_Initialized
00880 #define PMPI_Initialized APMPI_Initialized
00881 #define  MPI_Finalize  AMPI_Finalize
00882 #define PMPI_Finalize APMPI_Finalize
00883 #define  MPI_Finalized  AMPI_Finalized
00884 #define PMPI_Finalized APMPI_Finalized
00885 #define  MPI_Abort  AMPI_Abort
00886 #define PMPI_Abort APMPI_Abort
00887 #define  MPI_Pcontrol  AMPI_Pcontrol
00888 #define PMPI_Pcontrol APMPI_Pcontrol
00889 
00890 
00891 #define  MPI_Win_create  AMPI_Win_create
00892 #define PMPI_Win_create APMPI_Win_create
00893 #define  MPI_Win_free  AMPI_Win_free
00894 #define PMPI_Win_free APMPI_Win_free
00895 #define  MPI_Win_create_errhandler  AMPI_Win_create_errhandler
00896 #define PMPI_Win_create_errhandler APMPI_Win_create_errhandler
00897 #define  MPI_Win_call_errhandler  AMPI_Win_call_errhandler
00898 #define PMPI_Win_call_errhandler APMPI_Win_call_errhandler
00899 #define  MPI_Win_get_errhandler  AMPI_Win_get_errhandler
00900 #define PMPI_Win_get_errhandler APMPI_Win_get_errhandler
00901 #define  MPI_Win_set_errhandler  AMPI_Win_set_errhandler
00902 #define PMPI_Win_set_errhandler APMPI_Win_set_errhandler
00903 #define  MPI_Win_create_keyval  AMPI_Win_create_keyval
00904 #define PMPI_Win_create_keyval APMPI_Win_create_keyval
00905 #define  MPI_Win_free_keyval  AMPI_Win_free_keyval
00906 #define PMPI_Win_free_keyval APMPI_Win_free_keyval
00907 #define  MPI_Win_delete_attr  AMPI_Win_delete_attr
00908 #define PMPI_Win_delete_attr APMPI_Win_delete_attr
00909 #define  MPI_Win_get_attr  AMPI_Win_get_attr
00910 #define PMPI_Win_get_attr APMPI_Win_get_attr
00911 #define  MPI_Win_set_attr  AMPI_Win_set_attr
00912 #define PMPI_Win_set_attr APMPI_Win_set_attr
00913 #define  MPI_Win_get_group  AMPI_Win_get_group
00914 #define PMPI_Win_get_group APMPI_Win_get_group
00915 #define  MPI_Win_set_name  AMPI_Win_set_name
00916 #define PMPI_Win_set_name APMPI_Win_set_name
00917 #define  MPI_Win_get_name  AMPI_Win_get_name
00918 #define PMPI_Win_get_name APMPI_Win_get_name
00919 #define  MPI_Win_set_info  AMPI_Win_set_info
00920 #define PMPI_Win_set_info APMPI_Win_set_info
00921 #define  MPI_Win_get_info  AMPI_Win_get_info
00922 #define PMPI_Win_get_info APMPI_Win_get_info
00923 #define  MPI_Win_fence  AMPI_Win_fence
00924 #define PMPI_Win_fence APMPI_Win_fence
00925 #define  MPI_Win_lock  AMPI_Win_lock
00926 #define PMPI_Win_lock APMPI_Win_lock
00927 #define  MPI_Win_unlock  AMPI_Win_unlock
00928 #define PMPI_Win_unlock APMPI_Win_unlock
00929 #define  MPI_Win_post  AMPI_Win_post
00930 #define PMPI_Win_post APMPI_Win_post
00931 #define  MPI_Win_wait  AMPI_Win_wait
00932 #define PMPI_Win_wait APMPI_Win_wait
00933 #define  MPI_Win_start  AMPI_Win_start
00934 #define PMPI_Win_start APMPI_Win_start
00935 #define  MPI_Win_complete  AMPI_Win_complete
00936 #define PMPI_Win_complete APMPI_Win_complete
00937 #define  MPI_Win_test  AMPI_Win_test
00938 #define PMPI_Win_test APMPI_Win_test
00939 #define  MPI_Alloc_mem  AMPI_Alloc_mem
00940 #define PMPI_Alloc_mem APMPI_Alloc_mem
00941 #define  MPI_Free_mem  AMPI_Free_mem
00942 #define PMPI_Free_mem APMPI_Free_mem
00943 #define  MPI_Put  AMPI_Put
00944 #define PMPI_Put APMPI_Put
00945 #define  MPI_Get  AMPI_Get
00946 #define PMPI_Get APMPI_Get
00947 #define  MPI_Accumulate  AMPI_Accumulate
00948 #define PMPI_Accumulate APMPI_Accumulate
00949 #define  MPI_Get_accumulate  AMPI_Get_accumulate
00950 #define PMPI_Get_accumulate APMPI_Get_accumulate
00951 #define  MPI_Rput  AMPI_Rput
00952 #define PMPI_Rput APMPI_Rput
00953 #define  MPI_Rget  AMPI_Rget
00954 #define PMPI_Rget APMPI_Rget
00955 #define  MPI_Raccumulate  AMPI_Raccumulate
00956 #define PMPI_Raccumulate APMPI_Raccumulate
00957 #define  MPI_Rget_accumulate  AMPI_Rget_accumulate
00958 #define PMPI_Rget_accumulate APMPI_Rget_accumulate
00959 #define  MPI_Fetch_and_op  AMPI_Fetch_and_op
00960 #define PMPI_Fetch_and_op APMPI_Fetch_and_op
00961 #define  MPI_Compare_and_swap  AMPI_Compare_and_swap
00962 #define PMPI_Compare_and_swap APMPI_Compare_and_swap
00963 
00964 
00965 #define  MPI_Info_create  AMPI_Info_create
00966 #define PMPI_Info_create APMPI_Info_create
00967 #define  MPI_Info_set  AMPI_Info_set
00968 #define PMPI_Info_set APMPI_Info_set
00969 #define  MPI_Info_delete  AMPI_Info_delete
00970 #define PMPI_Info_delete APMPI_Info_delete
00971 #define  MPI_Info_get  AMPI_Info_get
00972 #define PMPI_Info_get APMPI_Info_get
00973 #define  MPI_Info_get_valuelen  AMPI_Info_get_valuelen
00974 #define PMPI_Info_get_valuelen APMPI_Info_get_valuelen
00975 #define  MPI_Info_get_nkeys  AMPI_Info_get_nkeys
00976 #define PMPI_Info_get_nkeys APMPI_Info_get_nkeys
00977 #define  MPI_Info_get_nthkey  AMPI_Info_get_nthkey
00978 #define PMPI_Info_get_nthkey APMPI_Info_get_nthkey
00979 #define  MPI_Info_dup  AMPI_Info_dup
00980 #define PMPI_Info_dup APMPI_Info_dup
00981 #define  MPI_Info_free  AMPI_Info_free
00982 #define PMPI_Info_free APMPI_Info_free
00983 
00984 
00985 #define  MPIX_Grequest_start  AMPIX_Grequest_start
00986 #define PMPIX_Grequest_start APMPIX_Grequest_start
00987 #define  MPIX_Grequest_class_create  AMPIX_Grequest_class_create
00988 #define PMPIX_Grequest_class_create APMPIX_Grequest_class_create
00989 #define  MPIX_Grequest_class_allocate  AMPIX_Grequest_class_allocate
00990 #define PMPIX_Grequest_class_allocate APMPIX_Grequest_class_allocate
00991 
00992 #define  MPI_Pack_external  AMPI_Pack_external
00993 #define PMPI_Pack_external APMPI_Pack_external
00994 #define  MPI_Pack_external_size  AMPI_Pack_external_size
00995 #define PMPI_Pack_external_size APMPI_Pack_external_size
00996 #define  MPI_Unpack_external  AMPI_Unpack_external
00997 #define PMPI_Unpack_external APMPI_Unpack_external
00998 
00999 #define  MPI_File_call_errhandler  AMPI_File_call_errhandler
01000 #define PMPI_File_call_errhandler APMPI_File_call_errhandler
01001 #define  MPI_File_create_errhandler  AMPI_File_create_errhandler
01002 #define PMPI_File_create_errhandler APMPI_File_create_errhandler
01003 #define  MPI_File_get_errhandler  AMPI_File_get_errhandler
01004 #define PMPI_File_get_errhandler APMPI_File_get_errhandler
01005 #define  MPI_File_set_errhandler  AMPI_File_set_errhandler
01006 #define PMPI_File_set_errhandler APMPI_File_set_errhandler
01007 
01008 #define  MPI_Close_port  AMPI_Close_port
01009 #define PMPI_Close_port APMPI_Close_port
01010 #define  MPI_Comm_accept  AMPI_Comm_accept
01011 #define PMPI_Comm_accept APMPI_Comm_accept
01012 #define  MPI_Comm_connect  AMPI_Comm_connect
01013 #define PMPI_Comm_connect APMPI_Comm_connect
01014 #define  MPI_Comm_disconnect  AMPI_Comm_disconnect
01015 #define PMPI_Comm_disconnect APMPI_Comm_disconnect
01016 #define  MPI_Comm_get_parent  AMPI_Comm_get_parent
01017 #define PMPI_Comm_get_parent APMPI_Comm_get_parent
01018 #define  MPI_Comm_join  AMPI_Comm_join
01019 #define PMPI_Comm_join APMPI_Comm_join
01020 #define  MPI_Comm_spawn_multiple  AMPI_Comm_spawn_multiple
01021 #define PMPI_Comm_spawn_multiple APMPI_Comm_spawn_multiple
01022 #define  MPI_Lookup_name  AMPI_Lookup_name
01023 #define PMPI_Lookup_name APMPI_Lookup_name
01024 #define  MPI_Open_port  AMPI_Open_port
01025 #define PMPI_Open_port APMPI_Open_port
01026 #define  MPI_Publish_name  AMPI_Publish_name
01027 #define PMPI_Publish_name APMPI_Publish_name
01028 #define  MPI_Unpublish_name  AMPI_Unpublish_name
01029 #define PMPI_Unpublish_name APMPI_Unpublish_name
01030 #define  MPI_Comm_spawn  AMPI_Comm_spawn
01031 #define PMPI_Comm_spawn APMPI_Comm_spawn
01032 
01033 #define  MPI_Win_allocate  AMPI_Win_allocate
01034 #define PMPI_Win_allocate APMPI_Win_allocate
01035 #define  MPI_Win_allocate_shared  AMPI_Win_allocate_shared
01036 #define PMPI_Win_allocate_shared APMPI_Win_allocate_shared
01037 #define  MPI_Win_attach  AMPI_Win_attach
01038 #define PMPI_Win_attach APMPI_Win_attach
01039 #define  MPI_Win_create_dynamic  AMPI_Win_create_dynamic
01040 #define PMPI_Win_create_dynamic APMPI_Win_create_dynamic
01041 #define  MPI_Win_detach  AMPI_Win_detach
01042 #define PMPI_Win_detach APMPI_Win_detach
01043 #define  MPI_Win_flush  AMPI_Win_flush
01044 #define PMPI_Win_flush APMPI_Win_flush
01045 #define  MPI_Win_flush_all  AMPI_Win_flush_all
01046 #define PMPI_Win_flush_all APMPI_Win_flush_all
01047 #define  MPI_Win_flush_local  AMPI_Win_flush_local
01048 #define PMPI_Win_flush_local APMPI_Win_flush_local
01049 #define  MPI_Win_flush_local_all  AMPI_Win_flush_local_all
01050 #define PMPI_Win_flush_local_all APMPI_Win_flush_local_all
01051 #define  MPI_Win_lock_all  AMPI_Win_lock_all
01052 #define PMPI_Win_lock_all APMPI_Win_lock_all
01053 #define  MPI_Win_shared_query  AMPI_Win_shared_query
01054 #define PMPI_Win_shared_query APMPI_Win_shared_query
01055 #define  MPI_Win_sync  AMPI_Win_sync
01056 #define PMPI_Win_sync APMPI_Win_sync
01057 #define  MPI_Win_unlock_all  AMPI_Win_unlock_all
01058 #define PMPI_Win_unlock_all APMPI_Win_unlock_all
01059 
01060 #define  MPI_CONVERSION_FN_NULL  AMPI_CONVERSION_FN_NULL
01061 #define PMPI_CONVERSION_FN_NULL APMPI_CONVERSION_FN_NULL
01062 #define  MPI_File_iread_all  AMPI_File_iread_all
01063 #define PMPI_File_iread_all APMPI_File_iread_all
01064 #define  MPI_File_iread_at_all  AMPI_File_iread_at_all
01065 #define PMPI_File_iread_at_all APMPI_File_iread_at_all
01066 #define  MPI_File_iwrite_all  AMPI_File_iwrite_all
01067 #define PMPI_File_iwrite_all APMPI_File_iwrite_all
01068 #define  MPI_File_iwrite_at_all  AMPI_File_iwrite_at_all
01069 #define PMPI_File_iwrite_at_all APMPI_File_iwrite_at_all
01070 
01071 #define  MPI_Status_f082f  AMPI_Status_f082f
01072 #define PMPI_Status_f082f APMPI_Status_f082f
01073 #define  MPI_Status_f2f08  AMPI_Status_f2f08
01074 #define PMPI_Status_f2f08 APMPI_Status_f2f08
01075 #define  MPI_Type_create_f90_complex  AMPI_Type_create_f90_complex
01076 #define PMPI_Type_create_f90_complex APMPI_Type_create_f90_complex
01077 #define  MPI_Type_create_f90_integer  AMPI_Type_create_f90_integer
01078 #define PMPI_Type_create_f90_integer APMPI_Type_create_f90_integer
01079 #define  MPI_Type_create_f90_real  AMPI_Type_create_f90_real
01080 #define PMPI_Type_create_f90_real APMPI_Type_create_f90_real
01081 #define  MPI_Type_match_size  AMPI_Type_match_size
01082 #define PMPI_Type_match_size APMPI_Type_match_size
01083 #define  MPI_Message_c2f  AMPI_Message_c2f
01084 #define PMPI_Message_c2f APMPI_Message_c2f
01085 #define  MPI_Message_f2c  AMPI_Message_f2c
01086 #define PMPI_Message_f2c APMPI_Message_f2c
01087 #define  MPI_Status_c2f  AMPI_Status_c2f
01088 #define PMPI_Status_c2f APMPI_Status_c2f
01089 #define  MPI_Status_c2f08  AMPI_Status_c2f08
01090 #define PMPI_Status_c2f08 APMPI_Status_c2f08
01091 #define  MPI_Status_f082c  AMPI_Status_f082c
01092 #define PMPI_Status_f082c APMPI_Status_f082c
01093 #define  MPI_Status_f2c  AMPI_Status_f2c
01094 #define PMPI_Status_f2c APMPI_Status_f2c
01095 
01096 #define  MPI_T_category_changed  AMPI_T_category_changed
01097 #define PMPI_T_category_changed APMPI_T_category_changed
01098 #define  MPI_T_category_get_categories  AMPI_T_category_get_categories
01099 #define PMPI_T_category_get_categories APMPI_T_category_get_categories
01100 #define  MPI_T_category_get_cvars  AMPI_T_category_get_cvars
01101 #define PMPI_T_category_get_cvars APMPI_T_category_get_cvars
01102 #define  MPI_T_category_get_index  AMPI_T_category_get_index
01103 #define PMPI_T_category_get_index APMPI_T_category_get_index
01104 #define  MPI_T_category_get_info  AMPI_T_category_get_info
01105 #define PMPI_T_category_get_info APMPI_T_category_get_info
01106 #define  MPI_T_category_get_num  AMPI_T_category_get_num
01107 #define PMPI_T_category_get_num APMPI_T_category_get_num
01108 #define  MPI_T_category_get_pvars  AMPI_T_category_get_pvars
01109 #define PMPI_T_category_get_pvars APMPI_T_category_get_pvars
01110 #define  MPI_T_cvar_get_index  AMPI_T_cvar_get_index
01111 #define PMPI_T_cvar_get_index APMPI_T_cvar_get_index
01112 #define  MPI_T_cvar_get_info  AMPI_T_cvar_get_info
01113 #define PMPI_T_cvar_get_info APMPI_T_cvar_get_info
01114 #define  MPI_T_cvar_get_num  AMPI_T_cvar_get_num
01115 #define PMPI_T_cvar_get_num APMPI_T_cvar_get_num
01116 #define  MPI_T_cvar_handle_alloc  AMPI_T_cvar_handle_alloc
01117 #define PMPI_T_cvar_handle_alloc APMPI_T_cvar_handle_alloc
01118 #define  MPI_T_cvar_handle_free  AMPI_T_cvar_handle_free
01119 #define PMPI_T_cvar_handle_free APMPI_T_cvar_handle_free
01120 #define  MPI_T_cvar_read  AMPI_T_cvar_read
01121 #define PMPI_T_cvar_read APMPI_T_cvar_read
01122 #define  MPI_T_cvar_write  AMPI_T_cvar_write
01123 #define PMPI_T_cvar_write APMPI_T_cvar_write
01124 #define  MPI_T_enum_get_info  AMPI_T_enum_get_info
01125 #define PMPI_T_enum_get_info APMPI_T_enum_get_info
01126 #define  MPI_T_enum_get_item  AMPI_T_enum_get_item
01127 #define PMPI_T_enum_get_item APMPI_T_enum_get_item
01128 #define  MPI_T_finalize  AMPI_T_finalize
01129 #define PMPI_T_finalize APMPI_T_finalize
01130 #define  MPI_T_init_thread  AMPI_T_init_thread
01131 #define PMPI_T_init_thread APMPI_T_init_thread
01132 #define  MPI_T_pvar_get_index  AMPI_T_pvar_get_index
01133 #define PMPI_T_pvar_get_index APMPI_T_pvar_get_index
01134 #define  MPI_T_pvar_get_info  AMPI_T_pvar_get_info
01135 #define PMPI_T_pvar_get_info APMPI_T_pvar_get_info
01136 #define  MPI_T_pvar_get_num  AMPI_T_pvar_get_num
01137 #define PMPI_T_pvar_get_num APMPI_T_pvar_get_num
01138 #define  MPI_T_pvar_handle_alloc  AMPI_T_pvar_handle_alloc
01139 #define PMPI_T_pvar_handle_alloc APMPI_T_pvar_handle_alloc
01140 #define  MPI_T_pvar_handle_free  AMPI_T_pvar_handle_free
01141 #define PMPI_T_pvar_handle_free APMPI_T_pvar_handle_free
01142 #define  MPI_T_pvar_read  AMPI_T_pvar_read
01143 #define PMPI_T_pvar_read APMPI_T_pvar_read
01144 #define  MPI_T_pvar_readreset  AMPI_T_pvar_readreset
01145 #define PMPI_T_pvar_readreset APMPI_T_pvar_readreset
01146 #define  MPI_T_pvar_reset  AMPI_T_pvar_reset
01147 #define PMPI_T_pvar_reset APMPI_T_pvar_reset
01148 #define  MPI_T_pvar_session_create  AMPI_T_pvar_session_create
01149 #define PMPI_T_pvar_session_create APMPI_T_pvar_session_create
01150 #define  MPI_T_pvar_session_free  AMPI_T_pvar_session_free
01151 #define PMPI_T_pvar_session_free APMPI_T_pvar_session_free
01152 #define  MPI_T_pvar_start  AMPI_T_pvar_start
01153 #define PMPI_T_pvar_start APMPI_T_pvar_start
01154 #define  MPI_T_pvar_stop  AMPI_T_pvar_stop
01155 #define PMPI_T_pvar_stop APMPI_T_pvar_stop
01156 #define  MPI_T_pvar_write  AMPI_T_pvar_write
01157 #define PMPI_T_pvar_write APMPI_T_pvar_write
01158 
01159 #endif //CMK_CONVERSE_MPI
01160 
01161 
01162 
01163 #define MPI_Aint_add(addr, disp) ((MPI_Aint)((char*)(addr) + (disp)))
01164 #define MPI_Aint_diff(addr1, addr2) ((MPI_Aint)((char*)(addr1) - (char*)(addr2)))
01165 
01166 
01167 
01168 
01169 
01170 #define MPI_MAX_OBJECT_NAME  255
01171 #define MPI_MAX_INFO_KEY     255
01172 #define MPI_MAX_INFO_VAL    1024
01173 #define MPI_LOCK_SHARED       54
01174 #define MPI_LOCK_EXCLUSIVE    55
01175 #define MPI_WIN_NULL          -1
01176 
01177 #define MPI_WIN_FLAVOR_CREATE   1
01178 #define MPI_WIN_FLAVOR_ALLOCATE 2
01179 #define MPI_WIN_FLAVOR_DYNAMIC  3
01180 #define MPI_WIN_FLAVOR_SHARED   4
01181 
01182 #define MPI_WIN_UNIFIED  0
01183 #define MPI_WIN_SEPARATE 1
01184 
01185 #define MPI_MODE_NOCHECK    1
01186 #define MPI_MODE_NOPRECEDE  2
01187 #define MPI_MODE_NOPUT      4
01188 #define MPI_MODE_NOSTORE    8
01189 #define MPI_MODE_NOSUCCEED 16
01190 
01191 typedef int MPI_Win;
01192 
01193 typedef void (MPI_Win_errhandler_fn)(MPI_Win *, int *, ...);
01194 typedef void (MPI_Win_errhandler_function)(MPI_Win *, int *, ...);
01195 
01196 typedef int  (MPI_Win_copy_attr_function)(MPI_Win oldwin, int keyval,
01197                                           void *extra_state, void *attribute_val_in,
01198                                           void *attribute_val_out, int *flag);
01199 typedef int  (MPI_Win_delete_attr_function)(MPI_Win win, int keyval,
01200                                             void *attribute_val, void *extra_state);
01201 
01202 
01203 
01204 typedef int MPIX_Grequest_class;
01205 typedef int MPIX_Grequest_poll_function(void *extra_state, MPI_Status *status);
01206 typedef int MPIX_Grequest_wait_function(int count, void **array_of_states,
01207   double timeout, MPI_Status *status);
01208 
01209 
01210 
01211 #define MPI_Comm_c2f(comm) (MPI_Fint)(comm)
01212 #define MPI_Comm_f2c(comm) (MPI_Comm)(comm)
01213 #define MPI_Type_c2f(datatype) (MPI_Fint)(datatype)
01214 #define MPI_Type_f2c(datatype) (MPI_Datatype)(datatype)
01215 #define MPI_Group_c2f(group) (MPI_Fint)(group)
01216 #define MPI_Group_f2c(group) (MPI_Group)(group)
01217 #define MPI_Info_c2f(info) (MPI_Fint)(info)
01218 #define MPI_Info_f2c(info) (MPI_Info)(info)
01219 #define MPI_Request_f2c(request) (MPI_Request)(request)
01220 #define MPI_Request_c2f(request) (MPI_Fint)(request)
01221 #define MPI_Op_c2f(op) (MPI_Fint)(op)
01222 #define MPI_Op_f2c(op) (MPI_Op)(op)
01223 #define MPI_Errhandler_c2f(errhandler) (MPI_Fint)(errhandler)
01224 #define MPI_Errhandler_f2c(errhandler) (MPI_Errhandler)(errhandler)
01225 #define MPI_Win_c2f(win) (MPI_Fint)(win)
01226 #define MPI_Win_f2c(win) (MPI_Win)(win)
01227 
01228 
01229 
01230 
01231 
01232 #ifndef HAVE_MPI_DATAREP_FUNCTIONS
01233 #define HAVE_MPI_DATAREP_FUNCTIONS
01234 typedef int (MPI_Datarep_conversion_function)(void *, MPI_Datatype, int, 
01235              void *, MPI_Offset, void *);
01236 typedef int (MPI_Datarep_extent_function)(MPI_Datatype datatype, MPI_Aint *,
01237                       void *);
01238 #endif
01239 
01240 #include "mpio.h"
01241 
01242 
01243 
01244 
01245 
01246 #define MPI_ARGV_NULL (char **)0
01247 #define MPI_ARGVS_NULL (char ***)0
01248 #define MPI_MAX_PORT_NAME 256
01249 #define MPI_ORDER_C 56 
01250 #define MPI_ORDER_FORTRAN 57 
01251 #define MPI_TYPECLASS_INTEGER -1
01252 #define MPI_TYPECLASS_REAL -2
01253 #define MPI_TYPECLASS_COMPLEX -3
01254 #define MPI_DISTRIBUTE_BLOCK 121  
01255 #define MPI_DISTRIBUTE_CYCLIC 122  
01256 #define MPI_DISTRIBUTE_NONE 123 
01257 #define MPI_DISTRIBUTE_DFLT_DARG -49767 
01258 #define MPI_INTEGER1 MPI_CHAR
01259 #define MPI_INTEGER2 MPI_SHORT
01260 #define MPI_INTEGER4 MPI_INT
01261 #define MPI_INTEGER8 MPI_LONG_LONG_INT
01262 #define MPI_REAL4 MPI_FLOAT
01263 #define MPI_REAL8 MPI_DOUBLE
01264 #define MPI_REAL16 MPI_LONG_DOUBLE
01265 #define MPI_COMPLEX8 MPI_FLOAT_COMPLEX
01266 #define MPI_COMPLEX16 MPI_DOUBLE_COMPLEX
01267 #define MPI_COMPLEX32 MPI_LONG_DOUBLE_COMPLEX
01268 #define MPI_C_FLOAT_COMPLEX MPI_FLOAT_COMPLEX
01269 #define MPI_C_DOUBLE_COMPLEX MPI_DOUBLE_COMPLEX
01270 #define MPI_C_LONG_DOUBLE_COMPLEX MPI_LONG_DOUBLE_COMPLEX
01271 #define MPI_CXX_BOOL MPI_C_BOOL
01272 #define MPI_CXX_FLOAT_COMPLEX MPI_C_FLOAT_COMPLEX
01273 #define MPI_CXX_DOUBLE_COMPLEX MPI_C_DOUBLE_COMPLEX
01274 #define MPI_CXX_LONG_DOUBLE_COMPLEX MPI_C_LONG_DOUBLE_COMPLEX
01275 
01276 
01277 #define MPI_Win_free_errhandler (void*)
01278 
01279 
01280 #define MPI_ERR_RMA_RANGE 54
01281 #define MPI_ERR_RMA_ATTACH 55
01282 #define MPI_ERR_RMA_SHARED 56
01283 #define MPI_ERR_RMA_FLAVOR 57
01284 
01285 
01286 typedef int MPI_T_enum;
01287 typedef int MPI_T_cvar_handle;
01288 typedef int MPI_T_pvar_handle;
01289 typedef int MPI_T_pvar_session;
01290 #define MPI_T_ENUM_NULL (-1)
01291 #define MPI_T_CVAR_HANDLE_NULL (-1)
01292 #define MPI_T_PVAR_HANDLE_NULL (-1)
01293 #define MPI_T_PVAR_SESSION_NULL (-1)
01294 #define MPI_T_VERBOSITY_USER_BASIC 1
01295 #define MPI_T_VERBOSITY_USER_DETAIL 2
01296 #define MPI_T_VERBOSITY_USER_ALL 3
01297 #define MPI_T_VERBOSITY_TUNER_BASIC 4
01298 #define MPI_T_VERBOSITY_TUNER_DETAIL 5
01299 #define MPI_T_VERBOSITY_TUNER_ALL 6
01300 #define MPI_T_VERBOSITY_MPIDEV_BASIC 7
01301 #define MPI_T_VERBOSITY_MPIDEV_DETAIL 8
01302 #define MPI_T_VERBOSITY_MPIDEV_ALL 9
01303 #define MPI_T_BIND_NO_OBJECT 1
01304 #define MPI_T_BIND_MPI_COMM 2
01305 #define MPI_T_BIND_MPI_DATATYPE 3
01306 #define MPI_T_BIND_MPI_ERRHANDLER 4
01307 #define MPI_T_BIND_MPI_FILE 5
01308 #define MPI_T_BIND_MPI_GROUP 6
01309 #define MPI_T_BIND_MPI_OP 7
01310 #define MPI_T_BIND_MPI_REQUEST 8
01311 #define MPI_T_BIND_MPI_WIN 9
01312 #define MPI_T_BIND_MPI_MESSAGE 10
01313 #define MPI_T_BIND_MPI_INFO 11
01314 #define MPI_T_SCOPE_CONSTANT 1
01315 #define MPI_T_SCOPE_READONLY 2
01316 #define MPI_T_SCOPE_LOCAL 3
01317 #define MPI_T_SCOPE_GROUP 4
01318 #define MPI_T_SCOPE_GROUP_EQ 5
01319 #define MPI_T_SCOPE_ALL 6
01320 #define MPI_T_SCOPE_ALL_EQ 7
01321 #define MPI_T_PVAR_ALL_HANDLES (-1)
01322 #define MPI_T_PVAR_CLASS_STATE 1
01323 #define MPI_T_PVAR_CLASS_LEVEL 2
01324 #define MPI_T_PVAR_CLASS_SIZE 3
01325 #define MPI_T_PVAR_CLASS_PERCENTAGE 4
01326 #define MPI_T_PVAR_CLASS_HIGHWATERMARK 5
01327 #define MPI_T_PVAR_CLASS_LOWWATERMARK 6
01328 #define MPI_T_PVAR_CLASS_COUNTER 7
01329 #define MPI_T_PVAR_CLASS_AGGREGATE 8
01330 #define MPI_T_PVAR_CLASS_TIMER 9
01331 #define MPI_T_PVAR_CLASS_GENERIC 10
01332 #define MPI_T_ERR_MEMORY 58
01333 #define MPI_T_ERR_NOT_INITIALIZED 59
01334 #define MPI_T_ERR_CANNOT_INIT 60
01335 #define MPI_T_ERR_INVALID_INDEX 61
01336 #define MPI_T_ERR_INVALID_ITEM 62
01337 #define MPI_T_ERR_INVALID_NAME 63
01338 #define MPI_T_ERR_INVALID_HANDLE 64
01339 #define MPI_T_ERR_OUT_OF_HANDLES 65
01340 #define MPI_T_ERR_OUT_OF_SESSIONS 66
01341 #define MPI_T_ERR_INVALID_SESSION 67
01342 #define MPI_T_ERR_CVAR_SET_NOT_NOW 68
01343 #define MPI_T_ERR_CVAR_SET_NEVER 69
01344 #define MPI_T_ERR_CVAR_READ 70
01345 #define MPI_T_ERR_CVAR_WRITE 71
01346 #define MPI_T_ERR_PVAR_START 72
01347 #define MPI_T_ERR_PVAR_STOP 73
01348 #define MPI_T_ERR_PVAR_READ 74
01349 #define MPI_T_ERR_PVAR_WRITE 75
01350 #define MPI_T_ERR_PVAR_RESET 76
01351 #define MPI_T_ERR_PVAR_READRESET 77
01352 #define MPI_T_ERR_PVAR_NO_STARTSTOP 78
01353 #define MPI_T_ERR_PVAR_NO_WRITE 79
01354 #define MPI_T_ERR_PVAR_NO_ATOMIC 80
01355 
01356 
01357 #define MPIX_ERR_PROC_FAILED 77
01358 #define MPIX_ERR_PROC_FAILED_PENDING 78
01359 #define MPIX_ERR_REVOKED 79
01360 #define MPIX_Comm_agree (void*)
01361 #define MPIX_Comm_failure_ack (void*)
01362 #define MPIX_Comm_shrink (void*)
01363 #define MPIX_Comm_failure_get_acked (void*)
01364 #define MPIX_Comm_revoke (void*)
01365 
01366 typedef void (MPI_File_errhandler_function)(MPI_File *file, int *err, ...);
01367 
01368 typedef struct {
01369   MPI_Fint count_lo, count_hi_and_cancelled, MPI_SOURCE, MPI_TAG, MPI_ERROR;
01370 } MPI_F08_status;
01371 
01372 
01373 
01374 
01375 #if defined __cplusplus && __cplusplus >= 201402L
01376 # define AMPI_UNIMPLEMENTED [[deprecated("currently unimplemented in AMPI")]]
01377 #elif defined __GNUC__ || defined __clang__
01378 # define AMPI_UNIMPLEMENTED __attribute__((deprecated("currently unimplemented in AMPI")))
01379 #elif defined _MSC_VER
01380 # define AMPI_UNIMPLEMENTED __declspec(deprecated("currently unimplemented in AMPI"))
01381 #else
01382 # define AMPI_UNIMPLEMENTED
01383 #endif
01384 
01385 #undef AMPI_INTERNAL_SKIP_FUNCTIONS
01386 
01387 #define AMPI_FUNC AMPI_API_DEF
01388 #define AMPI_FUNC_NOIMPL AMPI_UNIMPLEMENTED AMPI_FUNC
01389 #define AMPI_CUSTOM_FUNC AMPI_CUSTOM_API_DEF
01390 
01391 #include "ampi_functions.h"
01392 
01393 #undef AMPI_FUNC
01394 #undef AMPI_FUNC_NOIMPL
01395 #undef AMPI_CUSTOM_FUNC
01396 
01397 
01398 #ifdef __cplusplus
01399 }
01400 #endif
01401 
01402 
01403 #undef AMPI_API_DEF
01404 #undef AMPI_CUSTOM_API_DEF
01405 
01406 #endif