SimGrid  3.20
Versatile Simulation of Distributed Systems
smpi.h File Reference
#include <unistd.h>
#include <sys/time.h>
#include <simgrid/forward.h>
#include <smpi/forward.hpp>
#include <stddef.h>
#include <xbt/misc.h>

Classes

struct  MPI_Status
 

Macros

#define MPI_CALL(type, name, args)
 
#define MPI_THREAD_SINGLE   0
 
#define MPI_THREAD_FUNNELED   1
 
#define MPI_THREAD_SERIALIZED   2
 
#define MPI_THREAD_MULTIPLE   3
 
#define MPI_MAX_PROCESSOR_NAME   100
 
#define MPI_MAX_NAME_STRING   100
 
#define MPI_MAX_ERROR_STRING   100
 
#define MPI_MAX_DATAREP_STRIN   100
 
#define MPI_MAX_INFO_KEY   100
 
#define MPI_MAX_INFO_VAL   100
 
#define MPI_MAX_OBJECT_NAME   100
 
#define MPI_MAX_PORT_NAME   100
 
#define MPI_MAX_LIBRARY_VERSION_STRING   100
 
#define SMPI_RAND_SEED   5
 
#define MPI_ANY_SOURCE   -555
 
#define MPI_BOTTOM   (void *)-111
 
#define MPI_PROC_NULL   -666
 
#define MPI_ANY_TAG   -444
 
#define MPI_UNDEFINED   -333
 
#define MPI_IN_PLACE   (void *)-222
 
#define MPI_SUCCESS   0
 
#define MPI_ERR_COMM   1
 
#define MPI_ERR_ARG   2
 
#define MPI_ERR_TYPE   3
 
#define MPI_ERR_REQUEST   4
 
#define MPI_ERR_INTERN   5
 
#define MPI_ERR_COUNT   6
 
#define MPI_ERR_RANK   7
 
#define MPI_ERR_TAG   8
 
#define MPI_ERR_TRUNCATE   9
 
#define MPI_ERR_GROUP   10
 
#define MPI_ERR_OP   11
 
#define MPI_ERR_OTHER   12
 
#define MPI_ERR_IN_STATUS   13
 
#define MPI_ERR_PENDING   14
 
#define MPI_ERR_BUFFER   15
 
#define MPI_ERR_NAME   16
 
#define MPI_ERR_DIMS   17
 
#define MPI_ERR_TOPOLOGY   18
 
#define MPI_ERR_NO_MEM   19
 
#define MPI_ERR_WIN   20
 
#define MPI_ERR_INFO_VALUE   21
 
#define MPI_ERR_INFO_KEY   22
 
#define MPI_ERR_INFO_NOKEY   23
 
#define MPI_ERR_ROOT   24
 
#define MPI_ERR_UNKNOWN   25
 
#define MPI_ERR_KEYVAL   26
 
#define MPI_ERR_BASE   27
 
#define MPI_ERR_SPAWN   28
 
#define MPI_ERR_PORT   29
 
#define MPI_ERR_SERVICE   30
 
#define MPI_ERR_SIZE   31
 
#define MPI_ERR_DISP   32
 
#define MPI_ERR_INFO   33
 
#define MPI_ERR_LOCKTYPE   34
 
#define MPI_ERR_ASSERT   35
 
#define MPI_RMA_CONFLICT   36
 
#define MPI_RMA_SYNC   37
 
#define MPI_ERR_FILE   38
 
#define MPI_ERR_NOT_SAME   39
 
#define MPI_ERR_AMODE   40
 
#define MPI_ERR_UNSUPPORTED_DATAREP   41
 
#define MPI_ERR_UNSUPPORTED_OPERATION   42
 
#define MPI_ERR_NO_SUCH_FILE   43
 
#define MPI_ERR_FILE_EXISTS   44
 
#define MPI_ERR_BAD_FILE   45
 
#define MPI_ERR_ACCESS   46
 
#define MPI_ERR_NO_SPACE   47
 
#define MPI_ERR_QUOTA   48
 
#define MPI_ERR_READ_ONLY   49
 
#define MPI_ERR_FILE_IN_USE   50
 
#define MPI_ERR_DUP_DATAREP   51
 
#define MPI_ERR_CONVERSION   52
 
#define MPI_ERR_IO   53
 
#define MPI_ERR_RMA_ATTACH   54
 
#define MPI_ERR_RMA_CONFLICT   55
 
#define MPI_ERR_RMA_RANGE   56
 
#define MPI_ERR_RMA_SHARED   57
 
#define MPI_ERR_RMA_SYNC   58
 
#define MPI_ERR_RMA_FLAVOR   59
 
#define MPI_T_ERR_CANNOT_INIT   60
 
#define MPI_T_ERR_NOT_INITIALIZED   61
 
#define MPI_T_ERR_MEMORY   62
 
#define MPI_T_ERR_INVALID_INDEX   63
 
#define MPI_T_ERR_INVALID_ITEM   64
 
#define MPI_T_ERR_INVALID_SESSION   65
 
#define MPI_T_ERR_INVALID_HANDLE   66
 
#define MPI_T_ERR_OUT_OF_HANDLES   67
 
#define MPI_T_ERR_OUT_OF_SESSIONS   68
 
#define MPI_T_ERR_CVAR_SET_NOT_NOW   69
 
#define MPI_T_ERR_CVAR_SET_NEVER   70
 
#define MPI_T_ERR_PVAR_NO_WRITE   71
 
#define MPI_T_ERR_PVAR_NO_STARTSTOP   72
 
#define MPI_T_ERR_PVAR_NO_ATOMIC   73
 
#define MPI_ERRCODES_IGNORE   (int *)0
 
#define MPI_IDENT   0
 
#define MPI_SIMILAR   1
 
#define MPI_UNEQUAL   2
 
#define MPI_CONGRUENT   3
 
#define MPI_BSEND_OVERHEAD   0
 
#define MPI_IO   -1
 
#define MPI_HOST   -2
 
#define MPI_WTIME_IS_GLOBAL   -3
 
#define MPI_APPNUM   -4
 
#define MPI_TAG_UB   -5
 
#define MPI_TAG_LB   -6
 
#define MPI_UNIVERSE_SIZE   -7
 
#define MPI_LASTUSEDCODE   -8
 
#define MPI_MODE_NOSTORE   0x1
 
#define MPI_MODE_NOPUT   0x2
 
#define MPI_MODE_NOPRECEDE   0x4
 
#define MPI_MODE_NOSUCCEED   0x8
 
#define MPI_MODE_NOCHECK   0x10
 
#define MPI_KEYVAL_INVALID   0
 
#define MPI_NULL_COPY_FN   NULL
 
#define MPI_NULL_DELETE_FN   NULL
 
#define MPI_ERR_LASTCODE   74
 
#define MPI_CXX_BOOL   MPI_DATATYPE_NULL
 
#define MPI_CXX_FLOAT_COMPLEX   MPI_DATATYPE_NULL
 
#define MPI_CXX_DOUBLE_COMPLEX   MPI_DATATYPE_NULL
 
#define MPI_CXX_LONG_DOUBLE_COMPLEX   MPI_DATATYPE_NULL
 
#define MPI_DISTRIBUTE_BLOCK   0
 
#define MPI_DISTRIBUTE_NONE   1
 
#define MPI_DISTRIBUTE_CYCLIC   2
 
#define MPI_DISTRIBUTE_DFLT_DARG   3
 
#define MPI_ORDER_C   1
 
#define MPI_ORDER_FORTRAN   0
 
#define MPI_TYPECLASS_REAL   0
 
#define MPI_TYPECLASS_INTEGER   1
 
#define MPI_TYPECLASS_COMPLEX   2
 
#define MPI_ROOT   0
 
#define MPI_INFO_NULL   ((MPI_Info)NULL)
 
#define MPI_COMM_TYPE_SHARED   1
 
#define MPI_WIN_NULL   ((MPI_Win)NULL)
 
#define MPI_VERSION   2
 
#define MPI_SUBVERSION   2
 
#define MPI_UNWEIGHTED   (int *)0
 
#define MPI_ARGV_NULL   (char **)0
 
#define MPI_ARGVS_NULL   (char ***)0
 
#define MPI_LOCK_EXCLUSIVE   1
 
#define MPI_LOCK_SHARED   2
 
#define MPI_MODE_RDONLY   2
 
#define MPI_MODE_RDWR   8
 
#define MPI_MODE_WRONLY   4
 
#define MPI_MODE_CREATE   1
 
#define MPI_MODE_EXCL   64
 
#define MPI_MODE_DELETE_ON_CLOSE   16
 
#define MPI_MODE_UNIQUE_OPEN   32
 
#define MPI_MODE_APPEND   128
 
#define MPI_MODE_SEQUENTIAL   256
 
#define MPI_FILE_NULL   ((MPI_File) 0)
 
#define MPI_DISPLACEMENT_CURRENT   -54278278
 
#define MPI_SEEK_SET   600
 
#define MPI_SEEK_CUR   602
 
#define MPI_SEEK_END   604
 
#define MPI_MAX_DATAREP_STRING   128
 
#define MPI_WIN_BASE   -1
 
#define MPI_WIN_SIZE   -2
 
#define MPI_WIN_DISP_UNIT   -3
 
#define MPI_WIN_CREATE_FLAVOR   -4
 
#define MPI_WIN_MODEL   -5
 
#define MPI_STATUS_IGNORE   ((MPI_Status*)NULL)
 
#define MPI_STATUSES_IGNORE   ((MPI_Status*)NULL)
 
#define MPI_DATATYPE_NULL   ((const MPI_Datatype)NULL)
 
#define MPI_LONG_LONG_INT   MPI_LONG_LONG
 
#define MPI_C_COMPLEX   MPI_C_FLOAT_COMPLEX
 
#define MPI_Count   int
 
#define MPI_COUNT   MPI_INT
 
#define MPI_INTEGER   MPI_LONG
 
#define MPI_2INTEGER   MPI_2LONG
 
#define MPI_LOGICAL   MPI_LONG
 
#define MPI_Fint   int
 
#define MPI_COMPLEX   MPI_C_FLOAT_COMPLEX
 
#define MPI_DOUBLE_COMPLEX   MPI_C_DOUBLE_COMPLEX
 
#define MPI_LOGICAL1   MPI_UINT8_T
 
#define MPI_LOGICAL2   MPI_UINT16_T
 
#define MPI_LOGICAL4   MPI_UINT32_T
 
#define MPI_LOGICAL8   MPI_UINT64_T
 
#define MPI_2REAL   MPI_2FLOAT
 
#define MPI_CHARACTER   MPI_CHAR
 
#define MPI_DOUBLE_PRECISION   MPI_DOUBLE
 
#define MPI_2DOUBLE_PRECISION   MPI_2DOUBLE
 
#define MPI_WIN_FLAVOR_CREATE   0
 
#define MPI_WIN_FLAVOR_ALLOCATE   1
 
#define MPI_WIN_FLAVOR_DYNAMIC   2
 
#define MPI_WIN_FLAVOR_SHARED   3
 
#define MPI_OP_NULL   ((MPI_Op)NULL)
 
#define MPI_GROUP_NULL   ((MPI_Group)NULL)
 
#define MPI_COMM_NULL   ((MPI_Comm)NULL)
 
#define MPI_COMM_SELF   smpi_process_comm_self()
 
#define MPIO_Request   MPI_Request
 
#define MPI_REQUEST_NULL   ((MPI_Request)NULL)
 
#define MPI_FORTRAN_REQUEST_NULL   -1
 
#define MPI_Comm_copy_attr_function   MPI_Copy_function
 
#define MPI_Comm_delete_attr_function   MPI_Delete_function
 
#define MPI_COMM_NULL_COPY_FN   ((MPI_Comm_copy_attr_function*)0)
 
#define MPI_COMM_NULL_DELETE_FN   ((MPI_Comm_delete_attr_function*)0)
 
#define MPI_TYPE_NULL_COPY_FN   ((MPI_Type_copy_attr_function*)0)
 
#define MPI_TYPE_NULL_DELETE_FN   ((MPI_Type_delete_attr_function*)0)
 
#define MPI_WIN_NULL_COPY_FN   ((MPI_Win_copy_attr_function*)0)
 
#define MPI_WIN_NULL_DELETE_FN   ((MPI_Win_delete_attr_function*)0)
 
#define MPI_DUP_FN   MPI_Comm_dup
 
#define MPI_WIN_DUP_FN   ((MPI_Win_copy_attr_function*)MPI_DUP_FN)
 
#define MPI_TYPE_DUP_FN   ((MPI_Type_copy_attr_function*)MPI_DUP_FN)
 
#define MPI_COMM_DUP_FN   ((MPI_Comm_copy_attr_function *)MPI_DUP_FN)
 
#define MPI_INFO_ENV   1
 
#define SMPI_SAMPLE_LOOP(global, iters, thres)
 
#define SMPI_SAMPLE_LOCAL(iters, thres)   SMPI_SAMPLE_LOOP(0, iters, thres)
 
#define SMPI_SAMPLE_GLOBAL(iters, thres)   SMPI_SAMPLE_LOOP(1, iters, thres)
 
#define SMPI_SAMPLE_DELAY(duration)   for(smpi_execute(duration); 0; )
 
#define SMPI_SAMPLE_FLOPS(flops)   for(smpi_execute_flops(flops); 0; )
 
#define SMPI_SHARED_MALLOC(size)   smpi_shared_malloc(size, __FILE__, __LINE__)
 
#define SMPI_PARTIAL_SHARED_MALLOC(size, shared_block_offsets, nb_shared_blocks)   smpi_shared_malloc_partial(size, shared_block_offsets, nb_shared_blocks)
 
#define SMPI_SHARED_FREE(data)   smpi_shared_free(data)
 
#define SMPI_SHARED_CALL(func, input, ...)
 
#define SMPI_VARINIT_GLOBAL(name, type)
 
#define SMPI_VARINIT_GLOBAL_AND_SET(name, type, expr)
 
#define SMPI_VARGET_GLOBAL(name)   name[SIMIX_process_self()->pid]
 
#define SMPI_VARINIT_STATIC(name, type)
 This is used for the old privatization method, i.e., on old machines that do not yet support privatization via mmap. More...
 
#define SMPI_VARINIT_STATIC_AND_SET(name, type, expr)
 
#define SMPI_VARGET_STATIC(name)   name[SIMIX_process_self()->pid]
 

Typedefs

typedef ptrdiff_t MPI_Aint
 
typedef long long MPI_Offset
 
typedef struct s_MPI_File * MPI_File
 
typedef SMPI_DatatypeMPI_Datatype
 
typedef SMPI_WinMPI_Win
 
typedef SMPI_InfoMPI_Info
 
typedef void MPI_User_function(void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
 
typedef SMPI_OpMPI_Op
 
typedef SMPI_GroupMPI_Group
 
typedef SMPI_CommMPI_Comm
 
typedef SMPI_RequestMPI_Request
 
typedef enum SMPI_Topo_type SMPI_Topo_type
 
typedef int MPI_Copy_function(MPI_Comm oldcomm, int keyval, void *extra_state, void *attribute_val_in, void *attribute_val_out, int *flag)
 
typedef int MPI_Delete_function(MPI_Comm comm, int keyval, void *attribute_val, void *extra_state)
 
typedef int MPI_Type_copy_attr_function(MPI_Datatype type, int keyval, void *extra_state, void *attribute_val_in, void *attribute_val_out, int *flag)
 
typedef int MPI_Type_delete_attr_function(MPI_Datatype type, int keyval, void *attribute_val, void *extra_state)
 
typedef int MPI_Win_copy_attr_function(MPI_Win win, int keyval, void *extra_state, void *attribute_val_in, void *attribute_val_out, int *flag)
 
typedef int MPI_Win_delete_attr_function(MPI_Win win, int keyval, void *attribute_val, void *extra_state)
 
typedef int() MPI_Datarep_extent_function(MPI_Datatype, MPI_Aint *, void *)
 
typedef int() MPI_Datarep_conversion_function(void *, MPI_Datatype, int, void *, MPI_Offset, void *)
 
typedef enum MPIR_Combiner_enum MPIR_Combiner_enum
 
typedef void MPI_Handler_function(MPI_Comm *, int *,...)
 
typedef voidMPI_Errhandler
 
typedef void MPI_Comm_errhandler_function(MPI_Comm *, int *,...)
 
typedef void MPI_File_errhandler_function(MPI_File *, int *,...)
 
typedef void MPI_Win_errhandler_function(MPI_Win *, int *,...)
 
typedef int MPI_Grequest_query_function(void *extra_state, MPI_Status *status)
 
typedef int MPI_Grequest_free_function(void *extra_state)
 
typedef int MPI_Grequest_cancel_function(void *extra_state, int complete)
 
typedef MPI_Comm_errhandler_function MPI_Comm_errhandler_fn
 
typedef MPI_File_errhandler_function MPI_File_errhandler_fn
 
typedef MPI_Win_errhandler_function MPI_Win_errhandler_fn
 

Enumerations

enum  SMPI_Topo_type { MPI_GRAPH =1, MPI_CART =2, MPI_DIST_GRAPH =3, MPI_INVALID_TOPO =-1 }
 
enum  MPIR_Combiner_enum {
  MPI_COMBINER_NAMED, MPI_COMBINER_DUP, MPI_COMBINER_CONTIGUOUS, MPI_COMBINER_VECTOR,
  MPI_COMBINER_HVECTOR_INTEGER, MPI_COMBINER_HVECTOR, MPI_COMBINER_INDEXED, MPI_COMBINER_HINDEXED_INTEGER,
  MPI_COMBINER_HINDEXED, MPI_COMBINER_INDEXED_BLOCK, MPI_COMBINER_STRUCT_INTEGER, MPI_COMBINER_STRUCT,
  MPI_COMBINER_SUBARRAY, MPI_COMBINER_DARRAY, MPI_COMBINER_F90_REAL, MPI_COMBINER_F90_COMPLEX,
  MPI_COMBINER_F90_INTEGER, MPI_COMBINER_RESIZED, MPI_COMBINER_HINDEXED_BLOCK
}
 

Functions

 MPI_CALL (int, MPI_Init,(int *argc, char ***argv))
 
 MPI_CALL (int, MPI_Finalize,(void))
 
 MPI_CALL (int, MPI_Finalized,(int *flag))
 
 MPI_CALL (int, MPI_Init_thread,(int *argc, char ***argv, int required, int *provided))
 
 MPI_CALL (int, MPI_Initialized,(int *flag))
 
 MPI_CALL (int, MPI_Query_thread,(int *provided))
 
 MPI_CALL (int, MPI_Is_thread_main,(int *flag))
 
 MPI_CALL (int, MPI_Get_version,(int *version, int *subversion))
 
 MPI_CALL (int, MPI_Get_library_version,(char *version, int *len))
 
 MPI_CALL (int, MPI_Get_processor_name,(char *name, int *resultlen))
 
 MPI_CALL (int, MPI_Abort,(MPI_Comm comm, int errorcode))
 
 MPI_CALL (int, MPI_Alloc_mem,(MPI_Aint size, MPI_Info info, void *baseptr))
 
 MPI_CALL (int, MPI_Free_mem,(void *base))
 
 MPI_CALL (double, MPI_Wtime,(void))
 
 MPI_CALL (double, MPI_Wtick,(void))
 
 MPI_CALL (int, MPI_Address,(void *location, MPI_Aint *address))
 
 MPI_CALL (int, MPI_Get_address,(void *location, MPI_Aint *address))
 
 MPI_CALL (int, MPI_Error_class,(int errorcode, int *errorclass))
 
 MPI_CALL (int, MPI_Attr_delete,(MPI_Comm comm, int keyval))
 
 MPI_CALL (int, MPI_Attr_get,(MPI_Comm comm, int keyval, void *attr_value, int *flag))
 
 MPI_CALL (int, MPI_Attr_put,(MPI_Comm comm, int keyval, void *attr_value))
 
 MPI_CALL (int, MPI_Keyval_create,(MPI_Copy_function *copy_fn, MPI_Delete_function *delete_fn, int *keyval, void *extra_state))
 
 MPI_CALL (int, MPI_Keyval_free,(int *keyval))
 
 MPI_CALL (int, MPI_Type_free,(MPI_Datatype *datatype))
 
 MPI_CALL (int, MPI_Type_size,(MPI_Datatype datatype, int *size))
 
 MPI_CALL (int, MPI_Type_size_x,(MPI_Datatype datatype, MPI_Count *size))
 
 MPI_CALL (int, MPI_Type_get_extent,(MPI_Datatype datatype, MPI_Aint *lb, MPI_Aint *extent))
 
 MPI_CALL (int, MPI_Type_get_true_extent,(MPI_Datatype datatype, MPI_Aint *lb, MPI_Aint *extent))
 
 MPI_CALL (int, MPI_Type_extent,(MPI_Datatype datatype, MPI_Aint *extent))
 
 MPI_CALL (int, MPI_Type_lb,(MPI_Datatype datatype, MPI_Aint *disp))
 
 MPI_CALL (int, MPI_Type_ub,(MPI_Datatype datatype, MPI_Aint *disp))
 
 MPI_CALL (int, MPI_Type_commit,(MPI_Datatype *datatype))
 
 MPI_CALL (int, MPI_Type_hindexed,(int count, int *blocklens, MPI_Aint *indices, MPI_Datatype old_type, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_create_hindexed,(int count, int *blocklens, MPI_Aint *indices, MPI_Datatype old_type, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_create_hindexed_block,(int count, int blocklength, MPI_Aint *indices, MPI_Datatype old_type, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_hvector,(int count, int blocklen, MPI_Aint stride, MPI_Datatype old_type, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_create_hvector,(int count, int blocklen, MPI_Aint stride, MPI_Datatype old_type, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_indexed,(int count, int *blocklens, int *indices, MPI_Datatype old_type, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_create_indexed,(int count, int *blocklens, int *indices, MPI_Datatype old_type, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_create_indexed_block,(int count, int blocklength, int *indices, MPI_Datatype old_type, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_struct,(int count, int *blocklens, MPI_Aint *indices, MPI_Datatype *old_types, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_create_struct,(int count, int *blocklens, MPI_Aint *indices, MPI_Datatype *old_types, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_vector,(int count, int blocklen, int stride, MPI_Datatype old_type, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_contiguous,(int count, MPI_Datatype old_type, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_create_resized,(MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent, MPI_Datatype *newtype))
 
 MPI_CALL (MPI_Datatype, MPI_Type_f2c,(MPI_Fint datatype))
 
 MPI_CALL (MPI_Fint, MPI_Type_c2f,(MPI_Datatype datatype))
 
 MPI_CALL (int, MPI_Get_count,(MPI_Status *status, MPI_Datatype datatype, int *count))
 
 MPI_CALL (int, MPI_Type_get_attr,(MPI_Datatype type, int type_keyval, void *attribute_val, int *flag))
 
 MPI_CALL (int, MPI_Type_set_attr,(MPI_Datatype type, int type_keyval, void *att))
 
 MPI_CALL (int, MPI_Type_delete_attr,(MPI_Datatype type, int comm_keyval))
 
 MPI_CALL (int, MPI_Type_create_keyval,(MPI_Type_copy_attr_function *copy_fn, MPI_Type_delete_attr_function *delete_fn, int *keyval, void *extra_state))
 
 MPI_CALL (int, MPI_Type_free_keyval,(int *keyval))
 
 MPI_CALL (int, MPI_Type_dup,(MPI_Datatype datatype, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_set_name,(MPI_Datatype datatype, char *name))
 
 MPI_CALL (int, MPI_Type_get_name,(MPI_Datatype datatype, char *name, int *len))
 
 MPI_CALL (int, MPI_Pack,(void *inbuf, int incount, MPI_Datatype type, void *outbuf, int outcount, int *position, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Pack_size,(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size))
 
 MPI_CALL (int, MPI_Unpack,(void *inbuf, int insize, int *position, void *outbuf, int outcount, MPI_Datatype type, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Op_create,(MPI_User_function *function, int commute, MPI_Op *op))
 
 MPI_CALL (int, MPI_Op_free,(MPI_Op *op))
 
 MPI_CALL (int, MPI_Op_commutative,(MPI_Op op, int *commute))
 
 MPI_CALL (MPI_Op, MPI_Op_f2c,(MPI_Fint op))
 
 MPI_CALL (MPI_Fint, MPI_Op_c2f,(MPI_Op op))
 
 MPI_CALL (int, MPI_Group_free,(MPI_Group *group))
 
 MPI_CALL (int, MPI_Group_size,(MPI_Group group, int *size))
 
 MPI_CALL (int, MPI_Group_rank,(MPI_Group group, int *rank))
 
 MPI_CALL (int, MPI_Group_translate_ranks,(MPI_Group group1, int n, int *ranks1, MPI_Group group2, int *ranks2))
 
 MPI_CALL (int, MPI_Group_compare,(MPI_Group group1, MPI_Group group2, int *result))
 
 MPI_CALL (int, MPI_Group_union,(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup))
 
 MPI_CALL (int, MPI_Group_intersection,(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup))
 
 MPI_CALL (int, MPI_Group_difference,(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup))
 
 MPI_CALL (int, MPI_Group_incl,(MPI_Group group, int n, int *ranks, MPI_Group *newgroup))
 
 MPI_CALL (int, MPI_Group_excl,(MPI_Group group, int n, int *ranks, MPI_Group *newgroup))
 
 MPI_CALL (int, MPI_Group_range_incl,(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup))
 
 MPI_CALL (int, MPI_Group_range_excl,(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup))
 
 MPI_CALL (MPI_Group, MPI_Group_f2c,(MPI_Fint group))
 
 MPI_CALL (MPI_Fint, MPI_Group_c2f,(MPI_Group group))
 
 MPI_CALL (int, MPI_Comm_rank,(MPI_Comm comm, int *rank))
 
 MPI_CALL (int, MPI_Comm_size,(MPI_Comm comm, int *size))
 
 MPI_CALL (int, MPI_Comm_get_name,(MPI_Comm comm, char *name, int *len))
 
 MPI_CALL (int, MPI_Comm_set_name,(MPI_Comm comm, char *name))
 
 MPI_CALL (int, MPI_Comm_dup,(MPI_Comm comm, MPI_Comm *newcomm))
 
 MPI_CALL (int, MPI_Comm_get_attr,(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag))
 
 MPI_CALL (int, MPI_Comm_set_attr,(MPI_Comm comm, int comm_keyval, void *attribute_val))
 
 MPI_CALL (int, MPI_Comm_delete_attr,(MPI_Comm comm, int comm_keyval))
 
 MPI_CALL (int, MPI_Comm_create_keyval,(MPI_Comm_copy_attr_function *copy_fn, MPI_Comm_delete_attr_function *delete_fn, int *keyval, void *extra_state))
 
 MPI_CALL (int, MPI_Comm_free_keyval,(int *keyval))
 
 MPI_CALL (int, MPI_Comm_group,(MPI_Comm comm, MPI_Group *group))
 
 MPI_CALL (int, MPI_Comm_compare,(MPI_Comm comm1, MPI_Comm comm2, int *result))
 
 MPI_CALL (int, MPI_Comm_create,(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm))
 
 MPI_CALL (int, MPI_Comm_create_group,(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm))
 
 MPI_CALL (int, MPI_Comm_free,(MPI_Comm *comm))
 
 MPI_CALL (int, MPI_Comm_disconnect,(MPI_Comm *comm))
 
 MPI_CALL (int, MPI_Comm_split,(MPI_Comm comm, int color, int key, MPI_Comm *comm_out))
 
 MPI_CALL (MPI_Comm, MPI_Comm_f2c,(MPI_Fint comm))
 
 MPI_CALL (MPI_Fint, MPI_Comm_c2f,(MPI_Comm comm))
 
 MPI_CALL (int, MPI_Send_init,(void *buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm, MPI_Request *request))
 
 MPI_CALL (int, MPI_Recv_init,(void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Request *request))
 
 MPI_CALL (int, MPI_Start,(MPI_Request *request))
 
 MPI_CALL (int, MPI_Startall,(int count, MPI_Request *requests))
 
 MPI_CALL (int, MPI_Request_free,(MPI_Request *request))
 
 MPI_CALL (int, MPI_Irecv,(void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Request *request))
 
 MPI_CALL (int, MPI_Isend,(void *buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm, MPI_Request *request))
 
 MPI_CALL (int, MPI_Recv,(void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Status *status))
 
 MPI_CALL (int, MPI_Send,(void *buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Ssend,(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Ssend_init,(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request))
 
 MPI_CALL (int, MPI_Issend,(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request))
 
 MPI_CALL (int, MPI_Sendrecv,(void *sendbuf, int sendcount, MPI_Datatype sendtype, int dst, int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, int src, int recvtag, MPI_Comm comm, MPI_Status *status))
 
 MPI_CALL (int, MPI_Sendrecv_replace,(void *buf, int count, MPI_Datatype datatype, int dst, int sendtag, int src, int recvtag, MPI_Comm comm, MPI_Status *status))
 
 MPI_CALL (int, MPI_Test,(MPI_Request *request, int *flag, MPI_Status *status))
 
 MPI_CALL (int, MPI_Testany,(int count, MPI_Request requests[], int *index, int *flag, MPI_Status *status))
 
 MPI_CALL (int, MPI_Testall,(int count, MPI_Request *requests, int *flag, MPI_Status *statuses))
 
 MPI_CALL (int, MPI_Testsome,(int incount, MPI_Request requests[], int *outcount, int *indices, MPI_Status status[]))
 
 MPI_CALL (int, MPI_Wait,(MPI_Request *request, MPI_Status *status))
 
 MPI_CALL (int, MPI_Waitany,(int count, MPI_Request requests[], int *index, MPI_Status *status))
 
 MPI_CALL (int, MPI_Waitall,(int count, MPI_Request requests[], MPI_Status status[]))
 
 MPI_CALL (int, MPI_Waitsome,(int incount, MPI_Request requests[], int *outcount, int *indices, MPI_Status status[]))
 
 MPI_CALL (int, MPI_Iprobe,(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status))
 
 MPI_CALL (int, MPI_Probe,(int source, int tag, MPI_Comm comm, MPI_Status *status))
 
 MPI_CALL (MPI_Request, MPI_Request_f2c,(MPI_Fint request))
 
 MPI_CALL (MPI_Fint, MPI_Request_c2f,(MPI_Request request))
 
 MPI_CALL (int, MPI_Bcast,(void *buf, int count, MPI_Datatype datatype, int root, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Barrier,(MPI_Comm comm))
 
 MPI_CALL (int, MPI_Gather,(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Gatherv,(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Allgather,(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Allgatherv,(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Scatter,(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Scatterv,(void *sendbuf, int *sendcounts, int *displs, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Reduce,(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Allreduce,(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Scan,(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Exscan,(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Reduce_scatter,(void *sendbuf, void *recvbuf, int *recvcounts, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Reduce_scatter_block,(void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Alltoall,(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Alltoallv,(void *sendbuf, int *sendcounts, int *senddisps, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *recvdisps, MPI_Datatype recvtype, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Reduce_local,(void *inbuf, void *inoutbuf, int count, MPI_Datatype datatype, MPI_Op op))
 
 MPI_CALL (int, MPI_Info_create,(MPI_Info *info))
 
 MPI_CALL (int, MPI_Info_set,(MPI_Info info, char *key, char *value))
 
 MPI_CALL (int, MPI_Info_get,(MPI_Info info, char *key, int valuelen, char *value, int *flag))
 
 MPI_CALL (int, MPI_Info_free,(MPI_Info *info))
 
 MPI_CALL (int, MPI_Info_delete,(MPI_Info info, char *key))
 
 MPI_CALL (int, MPI_Info_dup,(MPI_Info info, MPI_Info *newinfo))
 
 MPI_CALL (int, MPI_Info_get_nkeys,(MPI_Info info, int *nkeys))
 
 MPI_CALL (int, MPI_Info_get_nthkey,(MPI_Info info, int n, char *key))
 
 MPI_CALL (int, MPI_Info_get_valuelen,(MPI_Info info, char *key, int *valuelen, int *flag))
 
 MPI_CALL (MPI_Info, MPI_Info_f2c,(MPI_Fint info))
 
 MPI_CALL (MPI_Fint, MPI_Info_c2f,(MPI_Info info))
 
 MPI_CALL (int, MPI_Win_free,(MPI_Win *win))
 
 MPI_CALL (int, MPI_Win_create,(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win *win))
 
 MPI_CALL (int, MPI_Win_allocate,(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *base, MPI_Win *win))
 
 MPI_CALL (int, MPI_Win_allocate_shared,(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *base, MPI_Win *win))
 
 MPI_CALL (int, MPI_Win_create_dynamic,(MPI_Info info, MPI_Comm comm, MPI_Win *win))
 
 MPI_CALL (int, MPI_Win_attach,(MPI_Win win, void *base, MPI_Aint size))
 
 MPI_CALL (int, MPI_Win_detach,(MPI_Win win, void *base))
 
 MPI_CALL (int, MPI_Win_set_name,(MPI_Win win, char *name))
 
 MPI_CALL (int, MPI_Win_get_name,(MPI_Win win, char *name, int *len))
 
 MPI_CALL (int, MPI_Win_set_info,(MPI_Win win, MPI_Info info))
 
 MPI_CALL (int, MPI_Win_get_info,(MPI_Win win, MPI_Info *info))
 
 MPI_CALL (int, MPI_Win_get_group,(MPI_Win win, MPI_Group *group))
 
 MPI_CALL (int, MPI_Win_fence,(int assert, MPI_Win win))
 
 MPI_CALL (int, MPI_Win_get_attr,(MPI_Win type, int type_keyval, void *attribute_val, int *flag))
 
 MPI_CALL (int, MPI_Win_set_attr,(MPI_Win type, int type_keyval, void *att))
 
 MPI_CALL (int, MPI_Win_delete_attr,(MPI_Win type, int comm_keyval))
 
 MPI_CALL (int, MPI_Win_create_keyval,(MPI_Win_copy_attr_function *copy_fn, MPI_Win_delete_attr_function *delete_fn, int *keyval, void *extra_state))
 
 MPI_CALL (int, MPI_Win_free_keyval,(int *keyval))
 
 MPI_CALL (int, MPI_Win_complete,(MPI_Win win))
 
 MPI_CALL (int, MPI_Win_post,(MPI_Group group, int assert, MPI_Win win))
 
 MPI_CALL (int, MPI_Win_start,(MPI_Group group, int assert, MPI_Win win))
 
 MPI_CALL (int, MPI_Win_wait,(MPI_Win win))
 
 MPI_CALL (int, MPI_Win_lock,(int lock_type, int rank, int assert, MPI_Win win))
 
 MPI_CALL (int, MPI_Win_lock_all,(int assert, MPI_Win win))
 
 MPI_CALL (int, MPI_Win_unlock,(int rank, MPI_Win win))
 
 MPI_CALL (int, MPI_Win_unlock_all,(MPI_Win win))
 
 MPI_CALL (int, MPI_Win_flush,(int rank, MPI_Win win))
 
 MPI_CALL (int, MPI_Win_flush_local,(int rank, MPI_Win win))
 
 MPI_CALL (int, MPI_Win_flush_all,(MPI_Win win))
 
 MPI_CALL (int, MPI_Win_flush_local_all,(MPI_Win win))
 
 MPI_CALL (int, MPI_Win_shared_query,(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr))
 
 MPI_CALL (int, MPI_Win_sync,(MPI_Win win))
 
 MPI_CALL (MPI_Win, MPI_Win_f2c,(MPI_Fint win))
 
 MPI_CALL (MPI_Fint, MPI_Win_c2f,(MPI_Win win))
 
 MPI_CALL (int, MPI_Get,(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win))
 
 MPI_CALL (int, MPI_Put,(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win))
 
 MPI_CALL (int, MPI_Accumulate,(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win))
 
 MPI_CALL (int, MPI_Get_accumulate,(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, void *result_addr, int result_count, MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win))
 
 MPI_CALL (int, MPI_Rget,(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request))
 
 MPI_CALL (int, MPI_Rput,(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Win win, MPI_Request *request))
 
 MPI_CALL (int, MPI_Raccumulate,(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request))
 
 MPI_CALL (int, MPI_Rget_accumulate,(void *origin_addr, int origin_count, MPI_Datatype origin_datatype, void *result_addr, int result_count, MPI_Datatype result_datatype, int target_rank, MPI_Aint target_disp, int target_count, MPI_Datatype target_datatype, MPI_Op op, MPI_Win win, MPI_Request *request))
 
 MPI_CALL (int, MPI_Fetch_and_op,(void *origin_addr, void *result_addr, MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, MPI_Op op, MPI_Win win))
 
 MPI_CALL (int, MPI_Compare_and_swap,(void *origin_addr, void *compare_addr, void *result_addr, MPI_Datatype datatype, int target_rank, MPI_Aint target_disp, MPI_Win win))
 
 MPI_CALL (int, MPI_Cart_coords,(MPI_Comm comm, int rank, int maxdims, int *coords))
 
 MPI_CALL (int, MPI_Cart_create,(MPI_Comm comm_old, int ndims, int *dims, int *periods, int reorder, MPI_Comm *comm_cart))
 
 MPI_CALL (int, MPI_Cart_get,(MPI_Comm comm, int maxdims, int *dims, int *periods, int *coords))
 
 MPI_CALL (int, MPI_Cart_rank,(MPI_Comm comm, int *coords, int *rank))
 
 MPI_CALL (int, MPI_Cart_shift,(MPI_Comm comm, int direction, int displ, int *source, int *dest))
 
 MPI_CALL (int, MPI_Cart_sub,(MPI_Comm comm, int *remain_dims, MPI_Comm *comm_new))
 
 MPI_CALL (int, MPI_Cartdim_get,(MPI_Comm comm, int *ndims))
 
 MPI_CALL (int, MPI_Dims_create,(int nnodes, int ndims, int *dims))
 
 MPI_CALL (MPI_Errhandler, MPI_Errhandler_f2c,(MPI_Fint errhandler))
 
 MPI_CALL (MPI_Fint, MPI_Errhandler_c2f,(MPI_Errhandler errhandler))
 
 MPI_CALL (int, MPI_Cart_map,(MPI_Comm comm_old, int ndims, int *dims, int *periods, int *newrank))
 
 MPI_CALL (int, MPI_Graph_create,(MPI_Comm comm_old, int nnodes, int *index, int *edges, int reorder, MPI_Comm *comm_graph))
 
 MPI_CALL (int, MPI_Graph_get,(MPI_Comm comm, int maxindex, int maxedges, int *index, int *edges))
 
 MPI_CALL (int, MPI_Graph_map,(MPI_Comm comm_old, int nnodes, int *index, int *edges, int *newrank))
 
 MPI_CALL (int, MPI_Graph_neighbors,(MPI_Comm comm, int rank, int maxneighbors, int *neighbors))
 
 MPI_CALL (int, MPI_Graph_neighbors_count,(MPI_Comm comm, int rank, int *nneighbors))
 
 MPI_CALL (int, MPI_Graphdims_get,(MPI_Comm comm, int *nnodes, int *nedges))
 
 MPI_CALL (int, MPI_Topo_test,(MPI_Comm comm, int *top_type))
 
 MPI_CALL (int, MPI_Errhandler_create,(MPI_Handler_function *function, MPI_Errhandler *errhandler))
 
 MPI_CALL (int, MPI_Errhandler_free,(MPI_Errhandler *errhandler))
 
 MPI_CALL (int, MPI_Errhandler_get,(MPI_Comm comm, MPI_Errhandler *errhandler))
 
 MPI_CALL (int, MPI_Error_string,(int errorcode, char *string, int *resultlen))
 
 MPI_CALL (int, MPI_Errhandler_set,(MPI_Comm comm, MPI_Errhandler errhandler))
 
 MPI_CALL (int, MPI_Comm_set_errhandler,(MPI_Comm comm, MPI_Errhandler errhandler))
 
 MPI_CALL (int, MPI_Comm_get_errhandler,(MPI_Comm comm, MPI_Errhandler *errhandler))
 
 MPI_CALL (int, MPI_Comm_create_errhandler,(MPI_Comm_errhandler_fn *function, MPI_Errhandler *errhandler))
 
 MPI_CALL (int, MPI_Comm_call_errhandler,(MPI_Comm comm, int errorcode))
 
 MPI_CALL (int, MPI_Add_error_class,(int *errorclass))
 
 MPI_CALL (int, MPI_Add_error_code,(int errorclass, int *errorcode))
 
 MPI_CALL (int, MPI_Add_error_string,(int errorcode, char *string))
 
 MPI_CALL (int, MPI_Cancel,(MPI_Request *request))
 
 MPI_CALL (int, MPI_Buffer_attach,(void *buffer, int size))
 
 MPI_CALL (int, MPI_Buffer_detach,(void *buffer, int *size))
 
 MPI_CALL (int, MPI_Comm_test_inter,(MPI_Comm comm, int *flag))
 
 MPI_CALL (int, MPI_Intercomm_create,(MPI_Comm local_comm, int local_leader, MPI_Comm peer_comm, int remote_leader, int tag, MPI_Comm *comm_out))
 
 MPI_CALL (int, MPI_Intercomm_merge,(MPI_Comm comm, int high, MPI_Comm *comm_out))
 
 MPI_CALL (int, MPI_Bsend,(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Bsend_init,(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request))
 
 MPI_CALL (int, MPI_Ibsend,(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request))
 
 MPI_CALL (int, MPI_Comm_remote_group,(MPI_Comm comm, MPI_Group *group))
 
 MPI_CALL (int, MPI_Comm_remote_size,(MPI_Comm comm, int *size))
 
 MPI_CALL (int, MPI_Rsend,(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Rsend_init,(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request))
 
 MPI_CALL (int, MPI_Irsend,(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request))
 
 MPI_CALL (int, MPI_Test_cancelled,(MPI_Status *status, int *flag))
 
 MPI_CALL (int, MPI_Get_elements,(MPI_Status *status, MPI_Datatype datatype, int *elements))
 
 MPI_CALL (int, MPI_Pcontrol,(const int level,...))
 
 MPI_CALL (int, MPI_Win_set_errhandler,(MPI_Win win, MPI_Errhandler errhandler))
 
 MPI_CALL (int, MPI_Type_get_envelope,(MPI_Datatype datatype, int *num_integers, int *num_addresses, int *num_datatypes, int *combiner))
 
 MPI_CALL (int, MPI_Type_get_contents,(MPI_Datatype datatype, int max_integers, int max_addresses, int max_datatypes, int *array_of_integers, MPI_Aint *array_of_addresses, MPI_Datatype *array_of_datatypes))
 
 MPI_CALL (int, MPI_Type_create_darray,(int size, int rank, int ndims, int *array_of_gsizes, int *array_of_distribs, int *array_of_dargs, int *array_of_psizes, int order, MPI_Datatype oldtype, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Pack_external_size,(char *datarep, int incount, MPI_Datatype datatype, MPI_Aint *size))
 
 MPI_CALL (int, MPI_Pack_external,(char *datarep, void *inbuf, int incount, MPI_Datatype datatype, void *outbuf, MPI_Aint outcount, MPI_Aint *position))
 
 MPI_CALL (int, MPI_Unpack_external,(char *datarep, void *inbuf, MPI_Aint insize, MPI_Aint *position, void *outbuf, int outcount, MPI_Datatype datatype))
 
 MPI_CALL (int, MPI_Type_create_subarray,(int ndims, int *array_of_sizes, int *array_of_subsizes, int *array_of_starts, int order, MPI_Datatype oldtype, MPI_Datatype *newtype))
 
 MPI_CALL (int, MPI_Type_match_size,(int typeclass, int size, MPI_Datatype *datatype))
 
 MPI_CALL (int, MPI_Alltoallw,(void *sendbuf, int *sendcnts, int *sdispls, MPI_Datatype *sendtypes, void *recvbuf, int *recvcnts, int *rdispls, MPI_Datatype *recvtypes, MPI_Comm comm))
 
 MPI_CALL (int, MPI_Comm_set_info,(MPI_Comm comm, MPI_Info info))
 
 MPI_CALL (int, MPI_Comm_get_info,(MPI_Comm comm, MPI_Info *info))
 
 MPI_CALL (int, MPI_Comm_dup_with_info,(MPI_Comm comm, MPI_Info info, MPI_Comm *newcomm))
 
 MPI_CALL (int, MPI_Comm_split_type,(MPI_Comm comm, int split_type, int key, MPI_Info info, MPI_Comm *newcomm))
 
 MPI_CALL (int, MPI_Comm_connect,(char *port_name, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *newcomm))
 
 MPI_CALL (int, MPI_Request_get_status,(MPI_Request request, int *flag, MPI_Status *status))
 
 MPI_CALL (int, MPI_Grequest_start,(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function *free_fn, MPI_Grequest_cancel_function *cancel_fn, void *extra_state, MPI_Request *request))
 
 MPI_CALL (int, MPI_Grequest_complete,(MPI_Request request))
 
 MPI_CALL (int, MPI_Status_set_cancelled,(MPI_Status *status, int flag))
 
 MPI_CALL (int, MPI_Status_set_elements,(MPI_Status *status, MPI_Datatype datatype, int count))
 
 MPI_CALL (int, MPI_Unpublish_name,(char *service_name, MPI_Info info, char *port_name))
 
 MPI_CALL (int, MPI_Publish_name,(char *service_name, MPI_Info info, char *port_name))
 
 MPI_CALL (int, MPI_Lookup_name,(char *service_name, MPI_Info info, char *port_name))
 
 MPI_CALL (int, MPI_Comm_join,(int fd, MPI_Comm *intercomm))
 
 MPI_CALL (int, MPI_Open_port,(MPI_Info info, char *port_name))
 
 MPI_CALL (int, MPI_Close_port,(char *port_name))
 
 MPI_CALL (int, MPI_Comm_accept,(char *port_name, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *newcomm))
 
 MPI_CALL (int, MPI_Comm_spawn,(char *command, char **argv, int maxprocs, MPI_Info info, int root, MPI_Comm comm, MPI_Comm *intercomm, int *array_of_errcodes))
 
 MPI_CALL (int, MPI_Comm_spawn_multiple,(int count, char **array_of_commands, char ***array_of_argv, int *array_of_maxprocs, MPI_Info *array_of_info, int root, MPI_Comm comm, MPI_Comm *intercomm, int *array_of_errcodes))
 
 MPI_CALL (int, MPI_Comm_get_parent,(MPI_Comm *parent))
 
 MPI_CALL (int, MPI_Win_test,(MPI_Win win, int *flag))
 
 MPI_CALL (MPI_Fint, MPI_File_c2f,(MPI_File file))
 
 MPI_CALL (MPI_File, MPI_File_f2c,(MPI_Fint file))
 
 MPI_CALL (int, MPI_Register_datarep,(char *datarep, MPI_Datarep_conversion_function *read_conversion_fn, MPI_Datarep_conversion_function *write_conversion_fn, MPI_Datarep_extent_function *dtype_file_extent_fn, void *extra_state))
 
 MPI_CALL (int, MPI_File_call_errhandler,(MPI_File fh, int errorcode))
 
 MPI_CALL (int, MPI_File_create_errhandler,(MPI_File_errhandler_function *function, MPI_Errhandler *errhandler))
 
 MPI_CALL (int, MPI_File_set_errhandler,(MPI_File file, MPI_Errhandler errhandler))
 
 MPI_CALL (int, MPI_File_get_errhandler,(MPI_File file, MPI_Errhandler *errhandler))
 
 MPI_CALL (int, MPI_File_open,(MPI_Comm comm, char *filename, int amode, MPI_Info info, MPI_File *fh))
 
 MPI_CALL (int, MPI_File_close,(MPI_File *fh))
 
 MPI_CALL (int, MPI_File_delete,(char *filename, MPI_Info info))
 
 MPI_CALL (int, MPI_File_set_size,(MPI_File fh, MPI_Offset size))
 
 MPI_CALL (int, MPI_File_preallocate,(MPI_File fh, MPI_Offset size))
 
 MPI_CALL (int, MPI_File_get_size,(MPI_File fh, MPI_Offset *size))
 
 MPI_CALL (int, MPI_File_get_group,(MPI_File fh, MPI_Group *group))
 
 MPI_CALL (int, MPI_File_get_amode,(MPI_File fh, int *amode))
 
 MPI_CALL (int, MPI_File_set_info,(MPI_File fh, MPI_Info info))
 
 MPI_CALL (int, MPI_File_get_info,(MPI_File fh, MPI_Info *info_used))
 
 MPI_CALL (int, MPI_File_set_view,(MPI_File fh, MPI_Offset disp, MPI_Datatype etype, MPI_Datatype filetype, char *datarep, MPI_Info info))
 
 MPI_CALL (int, MPI_File_get_view,(MPI_File fh, MPI_Offset *disp, MPI_Datatype *etype, MPI_Datatype *filetype, char *datarep))
 
 MPI_CALL (int, MPI_File_read_at,(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_read_at_all,(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_write_at,(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_write_at_all,(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_iread_at,(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Request *request))
 
 MPI_CALL (int, MPI_File_iwrite_at,(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Request *request))
 
 MPI_CALL (int, MPI_File_iread_at_all,(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Request *request))
 
 MPI_CALL (int, MPI_File_iwrite_at_all,(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype, MPI_Request *request))
 
 MPI_CALL (int, MPI_File_read,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_read_all,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_write,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_write_all,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_iread,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request))
 
 MPI_CALL (int, MPI_File_iwrite,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request))
 
 MPI_CALL (int, MPI_File_iread_all,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request))
 
 MPI_CALL (int, MPI_File_iwrite_all,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request))
 
 MPI_CALL (int, MPI_File_seek,(MPI_File fh, MPI_Offset offset, int whenace))
 
 MPI_CALL (int, MPI_File_get_position,(MPI_File fh, MPI_Offset *offset))
 
 MPI_CALL (int, MPI_File_get_byte_offset,(MPI_File fh, MPI_Offset offset, MPI_Offset *disp))
 
 MPI_CALL (int, MPI_File_read_shared,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_write_shared,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_iread_shared,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request))
 
 MPI_CALL (int, MPI_File_iwrite_shared,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Request *request))
 
 MPI_CALL (int, MPI_File_read_ordered,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_write_ordered,(MPI_File fh, void *buf, int count, MPI_Datatype datatype, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_seek_shared,(MPI_File fh, MPI_Offset offset, int whence))
 
 MPI_CALL (int, MPI_File_get_position_shared,(MPI_File fh, MPI_Offset *offset))
 
 MPI_CALL (int, MPI_File_read_at_all_begin,(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype))
 
 MPI_CALL (int, MPI_File_read_at_all_end,(MPI_File fh, void *buf, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_write_at_all_begin,(MPI_File fh, MPI_Offset offset, void *buf, int count, MPI_Datatype datatype))
 
 MPI_CALL (int, MPI_File_write_at_all_end,(MPI_File fh, void *buf, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_read_all_begin,(MPI_File fh, void *buf, int count, MPI_Datatype datatype))
 
 MPI_CALL (int, MPI_File_read_all_end,(MPI_File fh, void *buf, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_write_all_begin,(MPI_File fh, void *buf, int count, MPI_Datatype datatype))
 
 MPI_CALL (int, MPI_File_write_all_end,(MPI_File fh, void *buf, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_read_ordered_begin,(MPI_File fh, void *buf, int count, MPI_Datatype datatype))
 
 MPI_CALL (int, MPI_File_read_ordered_end,(MPI_File fh, void *buf, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_write_ordered_begin,(MPI_File fh, void *buf, int count, MPI_Datatype datatype))
 
 MPI_CALL (int, MPI_File_write_ordered_end,(MPI_File fh, void *buf, MPI_Status *status))
 
 MPI_CALL (int, MPI_File_get_type_extent,(MPI_File fh, MPI_Datatype datatype, MPI_Aint *extent))
 
 MPI_CALL (int, MPI_File_set_atomicity,(MPI_File fh, int flag))
 
 MPI_CALL (int, MPI_File_get_atomicity,(MPI_File fh, int *flag))
 
 MPI_CALL (int, MPI_File_sync,(MPI_File fh))
 
int smpi_global_size ()
 
MPI_Comm smpi_process_comm_self ()
 
voidsmpi_process_get_user_data ()
 
void smpi_process_set_user_data (void *)
 
void smpi_execute_flops (double flops)
 
void smpi_execute (double duration)
 
void smpi_execute_benched (double duration)
 
double smpi_get_host_power_peak_at (int pstate_index)
 Return the speed of the processor (in flop/s) at a given pstate. More...
 
double smpi_get_host_current_power_peak ()
 Return the current speed of the processor (in flop/s) More...
 
int smpi_get_host_nb_pstates ()
 Return the number of pstates defined for the current host. More...
 
void smpi_set_host_pstate (int pstate_index)
 Sets the pstate at which the processor should run. More...
 
int smpi_get_host_pstate ()
 Gets the pstate at which the processor currently running. More...
 
double smpi_get_host_consumed_energy ()
 Return the total energy consumed by a host (in Joules) More...
 
unsigned long long smpi_rastro_resolution ()
 
unsigned long long smpi_rastro_timestamp ()
 
void smpi_sample_1 (int global, const char *file, int line, int iters, double threshold)
 
int smpi_sample_2 (int global, const char *file, int line)
 
void smpi_sample_3 (int global, const char *file, int line)
 
void smpi_comm_set_copy_data_callback (void(*callback)(smx_activity_t, void *, size_t))
 Need a public setter for SMPI copy_callback function, so users can define their own while still using default SIMIX_copy_callback for S4U copies. More...
 
void smpi_trace_set_call_location (const char *file, int line)
 Functions for call location tracing. More...
 
void smpi_trace_set_call_location_ (const char *file, int *line)
 Fortran binding. More...
 
void smpi_trace_set_call_location__ (const char *file, int *line)
 Fortran binding + -fsecond-underscore. More...
 
voidsmpi_shared_malloc (size_t size, const char *file, int line)
 
voidsmpi_shared_malloc_partial (size_t size, size_t *shared_block_offsets, int nb_shared_blocks)
 
void smpi_shared_free (void *data)
 
int smpi_shared_known_call (const char *func, const char *input)
 
voidsmpi_shared_get_call (const char *func, const char *input)
 
voidsmpi_shared_set_call (const char *func, const char *input, void *data)
 
int smpi_main (const char *program, int argc, char *argv[])
 
int smpi_process_index ()
 
void smpi_process_init (int *argc, char ***argv)
 
void smpi_replay_init (int *argc, char ***argv)
 Only initialize the replay, don't do it for real. More...
 
void smpi_replay_main (int *argc, char ***argv)
 actually run the replay after initialization More...
 
void smpi_replay_run (int *argc, char ***argv)
 chain a replay initialization and a replay start More...
 
void SMPI_app_instance_register (const char *name, xbt_main_func_t code, int num_processes)
 Registers a running instance of a MPI program. More...
 
void SMPI_init ()
 
void SMPI_finalize ()
 
void smpi_register_static (void *arg, void_f_pvoid_t free_fn)
 
void smpi_free_static ()
 

Variables

const MPI_Datatype MPI_CHAR
 
const MPI_Datatype MPI_SHORT
 
const MPI_Datatype MPI_INT
 
const MPI_Datatype MPI_LONG
 
const MPI_Datatype MPI_LONG_LONG
 
const MPI_Datatype MPI_SIGNED_CHAR
 
const MPI_Datatype MPI_UNSIGNED_CHAR
 
const MPI_Datatype MPI_UNSIGNED_SHORT
 
const MPI_Datatype MPI_UNSIGNED
 
const MPI_Datatype MPI_UNSIGNED_LONG
 
const MPI_Datatype MPI_UNSIGNED_LONG_LONG
 
const MPI_Datatype MPI_FLOAT
 
const MPI_Datatype MPI_DOUBLE
 
const MPI_Datatype MPI_LONG_DOUBLE
 
const MPI_Datatype MPI_WCHAR
 
const MPI_Datatype MPI_C_BOOL
 
const MPI_Datatype MPI_INT8_T
 
const MPI_Datatype MPI_INT16_T
 
const MPI_Datatype MPI_INT32_T
 
const MPI_Datatype MPI_INT64_T
 
const MPI_Datatype MPI_UINT8_T
 
const MPI_Datatype MPI_BYTE
 
const MPI_Datatype MPI_UINT16_T
 
const MPI_Datatype MPI_UINT32_T
 
const MPI_Datatype MPI_UINT64_T
 
const MPI_Datatype MPI_C_FLOAT_COMPLEX
 
const MPI_Datatype MPI_C_DOUBLE_COMPLEX
 
const MPI_Datatype MPI_C_LONG_DOUBLE_COMPLEX
 
const MPI_Datatype MPI_AINT
 
const MPI_Datatype MPI_OFFSET
 
const MPI_Datatype MPI_LB
 
const MPI_Datatype MPI_UB
 
const MPI_Datatype MPI_FLOAT_INT
 
const MPI_Datatype MPI_LONG_INT
 
const MPI_Datatype MPI_DOUBLE_INT
 
const MPI_Datatype MPI_SHORT_INT
 
const MPI_Datatype MPI_2INT
 
const MPI_Datatype MPI_LONG_DOUBLE_INT
 
const MPI_Datatype MPI_2FLOAT
 
const MPI_Datatype MPI_2DOUBLE
 
const MPI_Datatype MPI_2LONG
 
const MPI_Datatype MPI_REAL
 
const MPI_Datatype MPI_REAL4
 
const MPI_Datatype MPI_REAL8
 
const MPI_Datatype MPI_REAL16
 
const MPI_Datatype MPI_COMPLEX8
 
const MPI_Datatype MPI_COMPLEX16
 
const MPI_Datatype MPI_COMPLEX32
 
const MPI_Datatype MPI_INTEGER1
 
const MPI_Datatype MPI_INTEGER2
 
const MPI_Datatype MPI_INTEGER4
 
const MPI_Datatype MPI_INTEGER8
 
const MPI_Datatype MPI_INTEGER16
 
MPI_Op MPI_MAX
 
MPI_Op MPI_MIN
 
MPI_Op MPI_MAXLOC
 
MPI_Op MPI_MINLOC
 
MPI_Op MPI_SUM
 
MPI_Op MPI_PROD
 
MPI_Op MPI_LAND
 
MPI_Op MPI_LOR
 
MPI_Op MPI_LXOR
 
MPI_Op MPI_BAND
 
MPI_Op MPI_BOR
 
MPI_Op MPI_BXOR
 
MPI_Op MPI_REPLACE
 
MPI_Op MPI_NO_OP
 
MPI_Group MPI_GROUP_EMPTY
 
MPI_Comm MPI_COMM_WORLD
 Setting MPI_COMM_WORLD to MPI_COMM_UNINITIALIZED (it's a variable) is important because the implementation of MPI_Comm checks "this == MPI_COMM_UNINITIALIZED"? If yes, it uses smpi_process()->comm_world() instead of "this". More...
 
const MPI_Datatype MPI_PACKED
 
MPI_ErrhandlerMPI_ERRORS_RETURN
 
MPI_ErrhandlerMPI_ERRORS_ARE_FATAL
 
MPI_ErrhandlerMPI_ERRHANDLER_NULL
 

Macro Definition Documentation

◆ MPI_CALL

#define MPI_CALL (   type,
  name,
  args 
)
Value:
type name args __attribute__((weak)); \
type P##name args
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out MPI_Comm MPI_Group int MPI_Comm comm_out int int int dims void void int MPI_Datatype MPI_Op MPI_Comm comm void int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void MPI_Aint address char int len int int subversion void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win MPI_Group MPI_Group int result MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int rank MPI_Group int int MPI_Group int ranks2 MPI_Info info MPI_Info MPI_Info newinfo MPI_Info char int char int flag MPI_Info int char key MPI_Info char char value int char argv int int MPI_Comm int MPI_Status status void int MPI_Datatype int int MPI_Comm MPI_Request request int flag int keyval MPI_Op op int MPI_Datatype MPI_Comm int size int int MPI_Comm MPI_Status status int provided void int MPI_Datatype int int MPI_Comm MPI_Request request void void int MPI_Datatype MPI_Op op void void int MPI_Datatype MPI_Op MPI_Comm comm MPI_Request request void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win MPI_Request request void void int MPI_Datatype MPI_Op MPI_Comm comm void int int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void int MPI_Datatype int int int int MPI_Comm MPI_Status status void int MPI_Datatype int int MPI_Comm comm void int MPI_Datatype int int MPI_Comm comm MPI_Request request int MPI_Request int int MPI_Status status int MPI_Request int int MPI_Status statuses int MPI_Datatype MPI_Datatype newtype int int MPI_Aint MPI_Datatype MPI_Datatype new_type int int int MPI_Datatype MPI_Datatype newtype MPI_Type_copy_attr_function MPI_Type_delete_attr_function int void extra_state int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype int type_keyval MPI_Datatype MPI_Aint extent MPI_Datatype datatype MPI_Datatype MPI_Aint MPI_Aint extent MPI_Datatype MPI_Aint MPI_Aint extent int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype MPI_Aint disp MPI_Datatype char * name
Definition: smpi_mpi.cpp:205
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out MPI_Comm MPI_Group int MPI_Comm comm_out int int int dims void void int MPI_Datatype MPI_Op MPI_Comm comm void int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void MPI_Aint address char int len int int subversion void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win MPI_Group MPI_Group int result MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int rank MPI_Group int int MPI_Group int ranks2 MPI_Info info MPI_Info MPI_Info newinfo MPI_Info char int char int flag MPI_Info int char key MPI_Info char char value int char argv int int MPI_Comm int MPI_Status status void int MPI_Datatype int int MPI_Comm MPI_Request request int flag int keyval MPI_Op op int MPI_Datatype MPI_Comm int size int int MPI_Comm MPI_Status status int provided void int MPI_Datatype int int MPI_Comm MPI_Request request void void int MPI_Datatype MPI_Op op void void int MPI_Datatype MPI_Op MPI_Comm comm MPI_Request request void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win MPI_Request request void void int MPI_Datatype MPI_Op MPI_Comm comm void int int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void int MPI_Datatype int int int int MPI_Comm MPI_Status status void int MPI_Datatype int int MPI_Comm comm void int MPI_Datatype int int MPI_Comm comm MPI_Request request int MPI_Request int int MPI_Status status int MPI_Request int int MPI_Status statuses int MPI_Datatype MPI_Datatype newtype int int MPI_Aint MPI_Datatype MPI_Datatype new_type int int int MPI_Datatype MPI_Datatype newtype MPI_Type_copy_attr_function MPI_Type_delete_attr_function int void extra_state int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype type
Definition: smpi_mpi.cpp:191
Examples:
include/smpi/smpi.h.

◆ MPI_THREAD_SINGLE

#define MPI_THREAD_SINGLE   0

◆ MPI_THREAD_FUNNELED

#define MPI_THREAD_FUNNELED   1

◆ MPI_THREAD_SERIALIZED

#define MPI_THREAD_SERIALIZED   2

◆ MPI_THREAD_MULTIPLE

#define MPI_THREAD_MULTIPLE   3

◆ MPI_MAX_PROCESSOR_NAME

#define MPI_MAX_PROCESSOR_NAME   100

◆ MPI_MAX_NAME_STRING

#define MPI_MAX_NAME_STRING   100

◆ MPI_MAX_ERROR_STRING

#define MPI_MAX_ERROR_STRING   100

◆ MPI_MAX_DATAREP_STRIN

#define MPI_MAX_DATAREP_STRIN   100

◆ MPI_MAX_INFO_KEY

#define MPI_MAX_INFO_KEY   100

◆ MPI_MAX_INFO_VAL

#define MPI_MAX_INFO_VAL   100

◆ MPI_MAX_OBJECT_NAME

#define MPI_MAX_OBJECT_NAME   100

◆ MPI_MAX_PORT_NAME

#define MPI_MAX_PORT_NAME   100

◆ MPI_MAX_LIBRARY_VERSION_STRING

#define MPI_MAX_LIBRARY_VERSION_STRING   100

◆ SMPI_RAND_SEED

#define SMPI_RAND_SEED   5

◆ MPI_ANY_SOURCE

#define MPI_ANY_SOURCE   -555

◆ MPI_BOTTOM

#define MPI_BOTTOM   (void *)-111

◆ MPI_PROC_NULL

#define MPI_PROC_NULL   -666

◆ MPI_ANY_TAG

#define MPI_ANY_TAG   -444

◆ MPI_UNDEFINED

#define MPI_UNDEFINED   -333

◆ MPI_IN_PLACE

#define MPI_IN_PLACE   (void *)-222

◆ MPI_SUCCESS

#define MPI_SUCCESS   0

◆ MPI_ERR_COMM

#define MPI_ERR_COMM   1

◆ MPI_ERR_ARG

#define MPI_ERR_ARG   2

◆ MPI_ERR_TYPE

#define MPI_ERR_TYPE   3

◆ MPI_ERR_REQUEST

#define MPI_ERR_REQUEST   4

◆ MPI_ERR_INTERN

#define MPI_ERR_INTERN   5

◆ MPI_ERR_COUNT

#define MPI_ERR_COUNT   6

◆ MPI_ERR_RANK

#define MPI_ERR_RANK   7

◆ MPI_ERR_TAG

#define MPI_ERR_TAG   8

◆ MPI_ERR_TRUNCATE

#define MPI_ERR_TRUNCATE   9

◆ MPI_ERR_GROUP

#define MPI_ERR_GROUP   10

◆ MPI_ERR_OP

#define MPI_ERR_OP   11

◆ MPI_ERR_OTHER

#define MPI_ERR_OTHER   12

◆ MPI_ERR_IN_STATUS

#define MPI_ERR_IN_STATUS   13

◆ MPI_ERR_PENDING

#define MPI_ERR_PENDING   14

◆ MPI_ERR_BUFFER

#define MPI_ERR_BUFFER   15

◆ MPI_ERR_NAME

#define MPI_ERR_NAME   16

◆ MPI_ERR_DIMS

#define MPI_ERR_DIMS   17

◆ MPI_ERR_TOPOLOGY

#define MPI_ERR_TOPOLOGY   18

◆ MPI_ERR_NO_MEM

#define MPI_ERR_NO_MEM   19

◆ MPI_ERR_WIN

#define MPI_ERR_WIN   20

◆ MPI_ERR_INFO_VALUE

#define MPI_ERR_INFO_VALUE   21

◆ MPI_ERR_INFO_KEY

#define MPI_ERR_INFO_KEY   22

◆ MPI_ERR_INFO_NOKEY

#define MPI_ERR_INFO_NOKEY   23

◆ MPI_ERR_ROOT

#define MPI_ERR_ROOT   24

◆ MPI_ERR_UNKNOWN

#define MPI_ERR_UNKNOWN   25

◆ MPI_ERR_KEYVAL

#define MPI_ERR_KEYVAL   26

◆ MPI_ERR_BASE

#define MPI_ERR_BASE   27

◆ MPI_ERR_SPAWN

#define MPI_ERR_SPAWN   28

◆ MPI_ERR_PORT

#define MPI_ERR_PORT   29

◆ MPI_ERR_SERVICE

#define MPI_ERR_SERVICE   30

◆ MPI_ERR_SIZE

#define MPI_ERR_SIZE   31

◆ MPI_ERR_DISP

#define MPI_ERR_DISP   32

◆ MPI_ERR_INFO

#define MPI_ERR_INFO   33

◆ MPI_ERR_LOCKTYPE

#define MPI_ERR_LOCKTYPE   34

◆ MPI_ERR_ASSERT

#define MPI_ERR_ASSERT   35

◆ MPI_RMA_CONFLICT

#define MPI_RMA_CONFLICT   36

◆ MPI_RMA_SYNC

#define MPI_RMA_SYNC   37

◆ MPI_ERR_FILE

#define MPI_ERR_FILE   38

◆ MPI_ERR_NOT_SAME

#define MPI_ERR_NOT_SAME   39

◆ MPI_ERR_AMODE

#define MPI_ERR_AMODE   40

◆ MPI_ERR_UNSUPPORTED_DATAREP

#define MPI_ERR_UNSUPPORTED_DATAREP   41

◆ MPI_ERR_UNSUPPORTED_OPERATION

#define MPI_ERR_UNSUPPORTED_OPERATION   42

◆ MPI_ERR_NO_SUCH_FILE

#define MPI_ERR_NO_SUCH_FILE   43

◆ MPI_ERR_FILE_EXISTS

#define MPI_ERR_FILE_EXISTS   44

◆ MPI_ERR_BAD_FILE

#define MPI_ERR_BAD_FILE   45

◆ MPI_ERR_ACCESS

#define MPI_ERR_ACCESS   46

◆ MPI_ERR_NO_SPACE

#define MPI_ERR_NO_SPACE   47

◆ MPI_ERR_QUOTA

#define MPI_ERR_QUOTA   48

◆ MPI_ERR_READ_ONLY

#define MPI_ERR_READ_ONLY   49

◆ MPI_ERR_FILE_IN_USE

#define MPI_ERR_FILE_IN_USE   50

◆ MPI_ERR_DUP_DATAREP

#define MPI_ERR_DUP_DATAREP   51

◆ MPI_ERR_CONVERSION

#define MPI_ERR_CONVERSION   52

◆ MPI_ERR_IO

#define MPI_ERR_IO   53

◆ MPI_ERR_RMA_ATTACH

#define MPI_ERR_RMA_ATTACH   54

◆ MPI_ERR_RMA_CONFLICT

#define MPI_ERR_RMA_CONFLICT   55

◆ MPI_ERR_RMA_RANGE

#define MPI_ERR_RMA_RANGE   56

◆ MPI_ERR_RMA_SHARED

#define MPI_ERR_RMA_SHARED   57

◆ MPI_ERR_RMA_SYNC

#define MPI_ERR_RMA_SYNC   58

◆ MPI_ERR_RMA_FLAVOR

#define MPI_ERR_RMA_FLAVOR   59

◆ MPI_T_ERR_CANNOT_INIT

#define MPI_T_ERR_CANNOT_INIT   60

◆ MPI_T_ERR_NOT_INITIALIZED

#define MPI_T_ERR_NOT_INITIALIZED   61

◆ MPI_T_ERR_MEMORY

#define MPI_T_ERR_MEMORY   62

◆ MPI_T_ERR_INVALID_INDEX

#define MPI_T_ERR_INVALID_INDEX   63

◆ MPI_T_ERR_INVALID_ITEM

#define MPI_T_ERR_INVALID_ITEM   64

◆ MPI_T_ERR_INVALID_SESSION

#define MPI_T_ERR_INVALID_SESSION   65

◆ MPI_T_ERR_INVALID_HANDLE

#define MPI_T_ERR_INVALID_HANDLE   66

◆ MPI_T_ERR_OUT_OF_HANDLES

#define MPI_T_ERR_OUT_OF_HANDLES   67

◆ MPI_T_ERR_OUT_OF_SESSIONS

#define MPI_T_ERR_OUT_OF_SESSIONS   68

◆ MPI_T_ERR_CVAR_SET_NOT_NOW

#define MPI_T_ERR_CVAR_SET_NOT_NOW   69

◆ MPI_T_ERR_CVAR_SET_NEVER

#define MPI_T_ERR_CVAR_SET_NEVER   70

◆ MPI_T_ERR_PVAR_NO_WRITE

#define MPI_T_ERR_PVAR_NO_WRITE   71

◆ MPI_T_ERR_PVAR_NO_STARTSTOP

#define MPI_T_ERR_PVAR_NO_STARTSTOP   72

◆ MPI_T_ERR_PVAR_NO_ATOMIC

#define MPI_T_ERR_PVAR_NO_ATOMIC   73

◆ MPI_ERRCODES_IGNORE

#define MPI_ERRCODES_IGNORE   (int *)0

◆ MPI_IDENT

#define MPI_IDENT   0

◆ MPI_SIMILAR

#define MPI_SIMILAR   1

◆ MPI_UNEQUAL

#define MPI_UNEQUAL   2

◆ MPI_CONGRUENT

#define MPI_CONGRUENT   3

◆ MPI_BSEND_OVERHEAD

#define MPI_BSEND_OVERHEAD   0

◆ MPI_IO

#define MPI_IO   -1

◆ MPI_HOST

#define MPI_HOST   -2

◆ MPI_WTIME_IS_GLOBAL

#define MPI_WTIME_IS_GLOBAL   -3

◆ MPI_APPNUM

#define MPI_APPNUM   -4

◆ MPI_TAG_UB

#define MPI_TAG_UB   -5

◆ MPI_TAG_LB

#define MPI_TAG_LB   -6

◆ MPI_UNIVERSE_SIZE

#define MPI_UNIVERSE_SIZE   -7

◆ MPI_LASTUSEDCODE

#define MPI_LASTUSEDCODE   -8

◆ MPI_MODE_NOSTORE

#define MPI_MODE_NOSTORE   0x1

◆ MPI_MODE_NOPUT

#define MPI_MODE_NOPUT   0x2

◆ MPI_MODE_NOPRECEDE

#define MPI_MODE_NOPRECEDE   0x4

◆ MPI_MODE_NOSUCCEED

#define MPI_MODE_NOSUCCEED   0x8

◆ MPI_MODE_NOCHECK

#define MPI_MODE_NOCHECK   0x10

◆ MPI_KEYVAL_INVALID

#define MPI_KEYVAL_INVALID   0

◆ MPI_NULL_COPY_FN

#define MPI_NULL_COPY_FN   NULL

◆ MPI_NULL_DELETE_FN

#define MPI_NULL_DELETE_FN   NULL

◆ MPI_ERR_LASTCODE

#define MPI_ERR_LASTCODE   74

◆ MPI_CXX_BOOL

#define MPI_CXX_BOOL   MPI_DATATYPE_NULL

◆ MPI_CXX_FLOAT_COMPLEX

#define MPI_CXX_FLOAT_COMPLEX   MPI_DATATYPE_NULL

◆ MPI_CXX_DOUBLE_COMPLEX

#define MPI_CXX_DOUBLE_COMPLEX   MPI_DATATYPE_NULL

◆ MPI_CXX_LONG_DOUBLE_COMPLEX

#define MPI_CXX_LONG_DOUBLE_COMPLEX   MPI_DATATYPE_NULL

◆ MPI_DISTRIBUTE_BLOCK

#define MPI_DISTRIBUTE_BLOCK   0

◆ MPI_DISTRIBUTE_NONE

#define MPI_DISTRIBUTE_NONE   1

◆ MPI_DISTRIBUTE_CYCLIC

#define MPI_DISTRIBUTE_CYCLIC   2

◆ MPI_DISTRIBUTE_DFLT_DARG

#define MPI_DISTRIBUTE_DFLT_DARG   3

◆ MPI_ORDER_C

#define MPI_ORDER_C   1

◆ MPI_ORDER_FORTRAN

#define MPI_ORDER_FORTRAN   0

◆ MPI_TYPECLASS_REAL

#define MPI_TYPECLASS_REAL   0

◆ MPI_TYPECLASS_INTEGER

#define MPI_TYPECLASS_INTEGER   1

◆ MPI_TYPECLASS_COMPLEX

#define MPI_TYPECLASS_COMPLEX   2

◆ MPI_ROOT

#define MPI_ROOT   0

◆ MPI_INFO_NULL

#define MPI_INFO_NULL   ((MPI_Info)NULL)

◆ MPI_COMM_TYPE_SHARED

#define MPI_COMM_TYPE_SHARED   1

◆ MPI_WIN_NULL

#define MPI_WIN_NULL   ((MPI_Win)NULL)

◆ MPI_VERSION

#define MPI_VERSION   2

◆ MPI_SUBVERSION

#define MPI_SUBVERSION   2

◆ MPI_UNWEIGHTED

#define MPI_UNWEIGHTED   (int *)0

◆ MPI_ARGV_NULL

#define MPI_ARGV_NULL   (char **)0

◆ MPI_ARGVS_NULL

#define MPI_ARGVS_NULL   (char ***)0

◆ MPI_LOCK_EXCLUSIVE

#define MPI_LOCK_EXCLUSIVE   1

◆ MPI_LOCK_SHARED

#define MPI_LOCK_SHARED   2

◆ MPI_MODE_RDONLY

#define MPI_MODE_RDONLY   2

◆ MPI_MODE_RDWR

#define MPI_MODE_RDWR   8

◆ MPI_MODE_WRONLY

#define MPI_MODE_WRONLY   4

◆ MPI_MODE_CREATE

#define MPI_MODE_CREATE   1

◆ MPI_MODE_EXCL

#define MPI_MODE_EXCL   64

◆ MPI_MODE_DELETE_ON_CLOSE

#define MPI_MODE_DELETE_ON_CLOSE   16

◆ MPI_MODE_UNIQUE_OPEN

#define MPI_MODE_UNIQUE_OPEN   32

◆ MPI_MODE_APPEND

#define MPI_MODE_APPEND   128

◆ MPI_MODE_SEQUENTIAL

#define MPI_MODE_SEQUENTIAL   256

◆ MPI_FILE_NULL

#define MPI_FILE_NULL   ((MPI_File) 0)

◆ MPI_DISPLACEMENT_CURRENT

#define MPI_DISPLACEMENT_CURRENT   -54278278

◆ MPI_SEEK_SET

#define MPI_SEEK_SET   600

◆ MPI_SEEK_CUR

#define MPI_SEEK_CUR   602

◆ MPI_SEEK_END

#define MPI_SEEK_END   604

◆ MPI_MAX_DATAREP_STRING

#define MPI_MAX_DATAREP_STRING   128

◆ MPI_WIN_BASE

#define MPI_WIN_BASE   -1

◆ MPI_WIN_SIZE

#define MPI_WIN_SIZE   -2

◆ MPI_WIN_DISP_UNIT

#define MPI_WIN_DISP_UNIT   -3

◆ MPI_WIN_CREATE_FLAVOR

#define MPI_WIN_CREATE_FLAVOR   -4

◆ MPI_WIN_MODEL

#define MPI_WIN_MODEL   -5

◆ MPI_STATUS_IGNORE

#define MPI_STATUS_IGNORE   ((MPI_Status*)NULL)

◆ MPI_STATUSES_IGNORE

#define MPI_STATUSES_IGNORE   ((MPI_Status*)NULL)

◆ MPI_DATATYPE_NULL

#define MPI_DATATYPE_NULL   ((const MPI_Datatype)NULL)

◆ MPI_LONG_LONG_INT

#define MPI_LONG_LONG_INT   MPI_LONG_LONG

◆ MPI_C_COMPLEX

#define MPI_C_COMPLEX   MPI_C_FLOAT_COMPLEX

◆ MPI_Count

#define MPI_Count   int
Examples:
include/smpi/smpi.h.

◆ MPI_COUNT

#define MPI_COUNT   MPI_INT

◆ MPI_INTEGER

#define MPI_INTEGER   MPI_LONG

◆ MPI_2INTEGER

#define MPI_2INTEGER   MPI_2LONG

◆ MPI_LOGICAL

#define MPI_LOGICAL   MPI_LONG

◆ MPI_Fint

#define MPI_Fint   int
Examples:
include/smpi/smpi.h.

◆ MPI_COMPLEX

#define MPI_COMPLEX   MPI_C_FLOAT_COMPLEX

◆ MPI_DOUBLE_COMPLEX

#define MPI_DOUBLE_COMPLEX   MPI_C_DOUBLE_COMPLEX

◆ MPI_LOGICAL1

#define MPI_LOGICAL1   MPI_UINT8_T

◆ MPI_LOGICAL2

#define MPI_LOGICAL2   MPI_UINT16_T

◆ MPI_LOGICAL4

#define MPI_LOGICAL4   MPI_UINT32_T

◆ MPI_LOGICAL8

#define MPI_LOGICAL8   MPI_UINT64_T

◆ MPI_2REAL

#define MPI_2REAL   MPI_2FLOAT

◆ MPI_CHARACTER

#define MPI_CHARACTER   MPI_CHAR

◆ MPI_DOUBLE_PRECISION

#define MPI_DOUBLE_PRECISION   MPI_DOUBLE

◆ MPI_2DOUBLE_PRECISION

#define MPI_2DOUBLE_PRECISION   MPI_2DOUBLE

◆ MPI_WIN_FLAVOR_CREATE

#define MPI_WIN_FLAVOR_CREATE   0

◆ MPI_WIN_FLAVOR_ALLOCATE

#define MPI_WIN_FLAVOR_ALLOCATE   1

◆ MPI_WIN_FLAVOR_DYNAMIC

#define MPI_WIN_FLAVOR_DYNAMIC   2

◆ MPI_WIN_FLAVOR_SHARED

#define MPI_WIN_FLAVOR_SHARED   3

◆ MPI_OP_NULL

#define MPI_OP_NULL   ((MPI_Op)NULL)

◆ MPI_GROUP_NULL

#define MPI_GROUP_NULL   ((MPI_Group)NULL)

◆ MPI_COMM_NULL

#define MPI_COMM_NULL   ((MPI_Comm)NULL)

◆ MPI_COMM_SELF

#define MPI_COMM_SELF   smpi_process_comm_self()

◆ MPIO_Request

#define MPIO_Request   MPI_Request

◆ MPI_REQUEST_NULL

#define MPI_REQUEST_NULL   ((MPI_Request)NULL)

◆ MPI_FORTRAN_REQUEST_NULL

#define MPI_FORTRAN_REQUEST_NULL   -1

◆ MPI_Comm_copy_attr_function

#define MPI_Comm_copy_attr_function   MPI_Copy_function
Examples:
include/smpi/smpi.h.

◆ MPI_Comm_delete_attr_function

#define MPI_Comm_delete_attr_function   MPI_Delete_function
Examples:
include/smpi/smpi.h.

◆ MPI_COMM_NULL_COPY_FN

#define MPI_COMM_NULL_COPY_FN   ((MPI_Comm_copy_attr_function*)0)

◆ MPI_COMM_NULL_DELETE_FN

#define MPI_COMM_NULL_DELETE_FN   ((MPI_Comm_delete_attr_function*)0)

◆ MPI_TYPE_NULL_COPY_FN

#define MPI_TYPE_NULL_COPY_FN   ((MPI_Type_copy_attr_function*)0)

◆ MPI_TYPE_NULL_DELETE_FN

#define MPI_TYPE_NULL_DELETE_FN   ((MPI_Type_delete_attr_function*)0)

◆ MPI_WIN_NULL_COPY_FN

#define MPI_WIN_NULL_COPY_FN   ((MPI_Win_copy_attr_function*)0)

◆ MPI_WIN_NULL_DELETE_FN

#define MPI_WIN_NULL_DELETE_FN   ((MPI_Win_delete_attr_function*)0)

◆ MPI_DUP_FN

#define MPI_DUP_FN   MPI_Comm_dup

◆ MPI_WIN_DUP_FN

#define MPI_WIN_DUP_FN   ((MPI_Win_copy_attr_function*)MPI_DUP_FN)

◆ MPI_TYPE_DUP_FN

#define MPI_TYPE_DUP_FN   ((MPI_Type_copy_attr_function*)MPI_DUP_FN)

◆ MPI_COMM_DUP_FN

#define MPI_COMM_DUP_FN   ((MPI_Comm_copy_attr_function *)MPI_DUP_FN)

◆ MPI_INFO_ENV

#define MPI_INFO_ENV   1

◆ SMPI_SAMPLE_LOOP

#define SMPI_SAMPLE_LOOP (   global,
  iters,
  thres 
)
Value:
for (smpi_sample_1(global, __FILE__, __LINE__, iters, thres); smpi_sample_2(global, __FILE__, __LINE__); \
smpi_sample_3(global, __FILE__, __LINE__))
void smpi_sample_1(int global, const char *file, int line, int iters, double threshold)
Definition: smpi_bench.cpp:311
int smpi_sample_2(int global, const char *file, int line)
Definition: smpi_bench.cpp:349

◆ SMPI_SAMPLE_LOCAL

#define SMPI_SAMPLE_LOCAL (   iters,
  thres 
)    SMPI_SAMPLE_LOOP(0, iters, thres)

◆ SMPI_SAMPLE_GLOBAL

#define SMPI_SAMPLE_GLOBAL (   iters,
  thres 
)    SMPI_SAMPLE_LOOP(1, iters, thres)

◆ SMPI_SAMPLE_DELAY

#define SMPI_SAMPLE_DELAY (   duration)    for(smpi_execute(duration); 0; )

◆ SMPI_SAMPLE_FLOPS

#define SMPI_SAMPLE_FLOPS (   flops)    for(smpi_execute_flops(flops); 0; )

◆ SMPI_SHARED_MALLOC

#define SMPI_SHARED_MALLOC (   size)    smpi_shared_malloc(size, __FILE__, __LINE__)

◆ SMPI_PARTIAL_SHARED_MALLOC

#define SMPI_PARTIAL_SHARED_MALLOC (   size,
  shared_block_offsets,
  nb_shared_blocks 
)    smpi_shared_malloc_partial(size, shared_block_offsets, nb_shared_blocks)

◆ SMPI_SHARED_FREE

#define SMPI_SHARED_FREE (   data)    smpi_shared_free(data)

◆ SMPI_SHARED_CALL

#define SMPI_SHARED_CALL (   func,
  input,
  ... 
)
Value:
: smpi_shared_set_call(#func, input, (func(__VA_ARGS__))))
static int input(void)
void * smpi_shared_get_call(const char *func, const char *input)
Definition: smpi_shared.cpp:466
int smpi_shared_known_call(const char *func, const char *input)
Definition: smpi_shared.cpp:460
void * smpi_shared_set_call(const char *func, const char *input, void *data)
Definition: smpi_shared.cpp:472

◆ SMPI_VARINIT_GLOBAL

#define SMPI_VARINIT_GLOBAL (   name,
  type 
)
Value:
type *name = NULL; \
static void __attribute__((constructor)) __preinit_##name(void) { \
if(!name) \
name = (type*)calloc(smpi_global_size(), sizeof(type)); \
} \
static void __attribute__((destructor)) __postfini_##name(void) { \
free(name); \
name = NULL; \
}
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out MPI_Comm MPI_Group int MPI_Comm comm_out int int int dims void void int MPI_Datatype MPI_Op MPI_Comm comm void int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void MPI_Aint address char int len int int subversion void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win MPI_Group MPI_Group int result MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int rank MPI_Group int int MPI_Group int ranks2 MPI_Info info MPI_Info MPI_Info newinfo MPI_Info char int char int flag MPI_Info int char key MPI_Info char char value int char argv int int MPI_Comm int MPI_Status status void int MPI_Datatype int int MPI_Comm MPI_Request request int flag int keyval MPI_Op op int MPI_Datatype MPI_Comm int size int int MPI_Comm MPI_Status status int provided void int MPI_Datatype int int MPI_Comm MPI_Request request void void int MPI_Datatype MPI_Op op void void int MPI_Datatype MPI_Op MPI_Comm comm MPI_Request request void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win MPI_Request request void void int MPI_Datatype MPI_Op MPI_Comm comm void int int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void int MPI_Datatype int int int int MPI_Comm MPI_Status status void int MPI_Datatype int int MPI_Comm comm void int MPI_Datatype int int MPI_Comm comm MPI_Request request int MPI_Request int int MPI_Status status int MPI_Request int int MPI_Status statuses int MPI_Datatype MPI_Datatype newtype int int MPI_Aint MPI_Datatype MPI_Datatype new_type int int int MPI_Datatype MPI_Datatype newtype MPI_Type_copy_attr_function MPI_Type_delete_attr_function int void extra_state int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype int type_keyval MPI_Datatype MPI_Aint extent MPI_Datatype datatype MPI_Datatype MPI_Aint MPI_Aint extent MPI_Datatype MPI_Aint MPI_Aint extent int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype MPI_Aint disp MPI_Datatype char * name
Definition: smpi_mpi.cpp:205
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out MPI_Comm MPI_Group int MPI_Comm comm_out int int int dims void void int MPI_Datatype MPI_Op MPI_Comm comm void int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void MPI_Aint address char int len int int subversion void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win MPI_Group MPI_Group int result MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int rank MPI_Group int int MPI_Group int ranks2 MPI_Info info MPI_Info MPI_Info newinfo MPI_Info char int char int flag MPI_Info int char key MPI_Info char char value int char argv int int MPI_Comm int MPI_Status status void int MPI_Datatype int int MPI_Comm MPI_Request request int flag int keyval MPI_Op op int MPI_Datatype MPI_Comm int size int int MPI_Comm MPI_Status status int provided void int MPI_Datatype int int MPI_Comm MPI_Request request void void int MPI_Datatype MPI_Op op void void int MPI_Datatype MPI_Op MPI_Comm comm MPI_Request request void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win MPI_Request request void void int MPI_Datatype MPI_Op MPI_Comm comm void int int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void int MPI_Datatype int int int int MPI_Comm MPI_Status status void int MPI_Datatype int int MPI_Comm comm void int MPI_Datatype int int MPI_Comm comm MPI_Request request int MPI_Request int int MPI_Status status int MPI_Request int int MPI_Status statuses int MPI_Datatype MPI_Datatype newtype int int MPI_Aint MPI_Datatype MPI_Datatype new_type int int int MPI_Datatype MPI_Datatype newtype MPI_Type_copy_attr_function MPI_Type_delete_attr_function int void extra_state int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype type
Definition: smpi_mpi.cpp:191
int smpi_global_size()
Definition: smpi_global.cpp:124

◆ SMPI_VARINIT_GLOBAL_AND_SET

#define SMPI_VARINIT_GLOBAL_AND_SET (   name,
  type,
  expr 
)
Value:
type *name = NULL; \
static void __attribute__((constructor)) __preinit_##name(void) { \
size_t size = smpi_global_size(); \
size_t i; \
type value = expr; \
if(!name) { \
name = (type*)malloc(size * sizeof(type)); \
for(i = 0; i < size; i++) { \
name[i] = value; \
} \
} \
} \
static void __attribute__((destructor)) __postfini_##name(void) { \
free(name); \
name = NULL; \
}
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out MPI_Comm MPI_Group int MPI_Comm comm_out int int int dims void void int MPI_Datatype MPI_Op MPI_Comm comm void int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void MPI_Aint address char int len int int subversion void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win MPI_Group MPI_Group int result MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int rank MPI_Group int int MPI_Group int ranks2 MPI_Info info MPI_Info MPI_Info newinfo MPI_Info char int char * value
Definition: smpi_mpi.cpp:131
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out MPI_Comm MPI_Group int MPI_Comm comm_out int int int dims void void int MPI_Datatype MPI_Op MPI_Comm comm void int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void MPI_Aint address char int len int int subversion void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win MPI_Group MPI_Group int result MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int rank MPI_Group int int MPI_Group int ranks2 MPI_Info info MPI_Info MPI_Info newinfo MPI_Info char int char int flag MPI_Info int char key MPI_Info char char value int char argv int int MPI_Comm int MPI_Status status void int MPI_Datatype int int MPI_Comm MPI_Request request int flag int keyval MPI_Op op int MPI_Datatype MPI_Comm int size int int MPI_Comm MPI_Status status int provided void int MPI_Datatype int int MPI_Comm MPI_Request request void void int MPI_Datatype MPI_Op op void void int MPI_Datatype MPI_Op MPI_Comm comm MPI_Request request void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win MPI_Request request void void int MPI_Datatype MPI_Op MPI_Comm comm void int int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void int MPI_Datatype int int int int MPI_Comm MPI_Status status void int MPI_Datatype int int MPI_Comm comm void int MPI_Datatype int int MPI_Comm comm MPI_Request request int MPI_Request int int MPI_Status status int MPI_Request int int MPI_Status statuses int MPI_Datatype MPI_Datatype newtype int int MPI_Aint MPI_Datatype MPI_Datatype new_type int int int MPI_Datatype MPI_Datatype newtype MPI_Type_copy_attr_function MPI_Type_delete_attr_function int void extra_state int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype int type_keyval MPI_Datatype MPI_Aint extent MPI_Datatype datatype MPI_Datatype MPI_Aint MPI_Aint extent MPI_Datatype MPI_Aint MPI_Aint extent int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype MPI_Aint disp MPI_Datatype char * name
Definition: smpi_mpi.cpp:205
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out MPI_Comm MPI_Group int MPI_Comm comm_out int int int dims void void int MPI_Datatype MPI_Op MPI_Comm comm void int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void MPI_Aint address char int len int int subversion void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win MPI_Group MPI_Group int result MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int rank MPI_Group int int MPI_Group int ranks2 MPI_Info info MPI_Info MPI_Info newinfo MPI_Info char int char int flag MPI_Info int char key MPI_Info char char value int char argv int int MPI_Comm int MPI_Status status void int MPI_Datatype int int MPI_Comm MPI_Request request int flag int keyval MPI_Op op int MPI_Datatype MPI_Comm int size int int MPI_Comm MPI_Status status int provided void int MPI_Datatype int int MPI_Comm MPI_Request request void void int MPI_Datatype MPI_Op op void void int MPI_Datatype MPI_Op MPI_Comm comm MPI_Request request void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win MPI_Request request void void int MPI_Datatype MPI_Op MPI_Comm comm void int int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void int MPI_Datatype int int int int MPI_Comm MPI_Status status void int MPI_Datatype int int MPI_Comm comm void int MPI_Datatype int int MPI_Comm comm MPI_Request request int MPI_Request int int MPI_Status status int MPI_Request int int MPI_Status statuses int MPI_Datatype MPI_Datatype newtype int int MPI_Aint MPI_Datatype MPI_Datatype new_type int int int MPI_Datatype MPI_Datatype newtype MPI_Type_copy_attr_function MPI_Type_delete_attr_function int void extra_state int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype type
Definition: smpi_mpi.cpp:191
int smpi_global_size()
Definition: smpi_global.cpp:124
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint size
Definition: smpi_mpi.cpp:64

◆ SMPI_VARGET_GLOBAL

#define SMPI_VARGET_GLOBAL (   name)    name[SIMIX_process_self()->pid]

◆ SMPI_VARINIT_STATIC

#define SMPI_VARINIT_STATIC (   name,
  type 
)
Value:
static type *name = NULL; \
if(!name) { \
name = (type*)calloc(smpi_global_size(), sizeof(type)); \
smpi_register_static(name, xbt_free_f); \
}
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out MPI_Comm MPI_Group int MPI_Comm comm_out int int int dims void void int MPI_Datatype MPI_Op MPI_Comm comm void int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void MPI_Aint address char int len int int subversion void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win MPI_Group MPI_Group int result MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int rank MPI_Group int int MPI_Group int ranks2 MPI_Info info MPI_Info MPI_Info newinfo MPI_Info char int char int flag MPI_Info int char key MPI_Info char char value int char argv int int MPI_Comm int MPI_Status status void int MPI_Datatype int int MPI_Comm MPI_Request request int flag int keyval MPI_Op op int MPI_Datatype MPI_Comm int size int int MPI_Comm MPI_Status status int provided void int MPI_Datatype int int MPI_Comm MPI_Request request void void int MPI_Datatype MPI_Op op void void int MPI_Datatype MPI_Op MPI_Comm comm MPI_Request request void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win MPI_Request request void void int MPI_Datatype MPI_Op MPI_Comm comm void int int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void int MPI_Datatype int int int int MPI_Comm MPI_Status status void int MPI_Datatype int int MPI_Comm comm void int MPI_Datatype int int MPI_Comm comm MPI_Request request int MPI_Request int int MPI_Status status int MPI_Request int int MPI_Status statuses int MPI_Datatype MPI_Datatype newtype int int MPI_Aint MPI_Datatype MPI_Datatype new_type int int int MPI_Datatype MPI_Datatype newtype MPI_Type_copy_attr_function MPI_Type_delete_attr_function int void extra_state int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype int type_keyval MPI_Datatype MPI_Aint extent MPI_Datatype datatype MPI_Datatype MPI_Aint MPI_Aint extent MPI_Datatype MPI_Aint MPI_Aint extent int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype MPI_Aint disp MPI_Datatype char * name
Definition: smpi_mpi.cpp:205
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out MPI_Comm MPI_Group int MPI_Comm comm_out int int int dims void void int MPI_Datatype MPI_Op MPI_Comm comm void int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void MPI_Aint address char int len int int subversion void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win MPI_Group MPI_Group int result MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int rank MPI_Group int int MPI_Group int ranks2 MPI_Info info MPI_Info MPI_Info newinfo MPI_Info char int char int flag MPI_Info int char key MPI_Info char char value int char argv int int MPI_Comm int MPI_Status status void int MPI_Datatype int int MPI_Comm MPI_Request request int flag int keyval MPI_Op op int MPI_Datatype MPI_Comm int size int int MPI_Comm MPI_Status status int provided void int MPI_Datatype int int MPI_Comm MPI_Request request void void int MPI_Datatype MPI_Op op void void int MPI_Datatype MPI_Op MPI_Comm comm MPI_Request request void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win MPI_Request request void void int MPI_Datatype MPI_Op MPI_Comm comm void int int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void int MPI_Datatype int int int int MPI_Comm MPI_Status status void int MPI_Datatype int int MPI_Comm comm void int MPI_Datatype int int MPI_Comm comm MPI_Request request int MPI_Request int int MPI_Status status int MPI_Request int int MPI_Status statuses int MPI_Datatype MPI_Datatype newtype int int MPI_Aint MPI_Datatype MPI_Datatype new_type int int int MPI_Datatype MPI_Datatype newtype MPI_Type_copy_attr_function MPI_Type_delete_attr_function int void extra_state int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype type
Definition: smpi_mpi.cpp:191
void xbt_free_f(void *p)
like free, but you can be sure that it is a function
Definition: xbt_main.cpp:140
int smpi_global_size()
Definition: smpi_global.cpp:124

This is used for the old privatization method, i.e., on old machines that do not yet support privatization via mmap.

◆ SMPI_VARINIT_STATIC_AND_SET

#define SMPI_VARINIT_STATIC_AND_SET (   name,
  type,
  expr 
)
Value:
static type *name = NULL; \
if(!name) { \
size_t size = smpi_global_size(); \
size_t i; \
type value = expr; \
name = (type*)malloc(size * sizeof(type)); \
for(i = 0; i < size; i++) { \
name[i] = value; \
} \
smpi_register_static(name, xbt_free_f); \
}
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out MPI_Comm MPI_Group int MPI_Comm comm_out int int int dims void void int MPI_Datatype MPI_Op MPI_Comm comm void int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void MPI_Aint address char int len int int subversion void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win MPI_Group MPI_Group int result MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int rank MPI_Group int int MPI_Group int ranks2 MPI_Info info MPI_Info MPI_Info newinfo MPI_Info char int char * value
Definition: smpi_mpi.cpp:131
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out MPI_Comm MPI_Group int MPI_Comm comm_out int int int dims void void int MPI_Datatype MPI_Op MPI_Comm comm void int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void MPI_Aint address char int len int int subversion void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win MPI_Group MPI_Group int result MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int rank MPI_Group int int MPI_Group int ranks2 MPI_Info info MPI_Info MPI_Info newinfo MPI_Info char int char int flag MPI_Info int char key MPI_Info char char value int char argv int int MPI_Comm int MPI_Status status void int MPI_Datatype int int MPI_Comm MPI_Request request int flag int keyval MPI_Op op int MPI_Datatype MPI_Comm int size int int MPI_Comm MPI_Status status int provided void int MPI_Datatype int int MPI_Comm MPI_Request request void void int MPI_Datatype MPI_Op op void void int MPI_Datatype MPI_Op MPI_Comm comm MPI_Request request void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win MPI_Request request void void int MPI_Datatype MPI_Op MPI_Comm comm void int int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void int MPI_Datatype int int int int MPI_Comm MPI_Status status void int MPI_Datatype int int MPI_Comm comm void int MPI_Datatype int int MPI_Comm comm MPI_Request request int MPI_Request int int MPI_Status status int MPI_Request int int MPI_Status statuses int MPI_Datatype MPI_Datatype newtype int int MPI_Aint MPI_Datatype MPI_Datatype new_type int int int MPI_Datatype MPI_Datatype newtype MPI_Type_copy_attr_function MPI_Type_delete_attr_function int void extra_state int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype int type_keyval MPI_Datatype MPI_Aint extent MPI_Datatype datatype MPI_Datatype MPI_Aint MPI_Aint extent MPI_Datatype MPI_Aint MPI_Aint extent int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype MPI_Aint disp MPI_Datatype char * name
Definition: smpi_mpi.cpp:205
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint MPI_Info void baseptr void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Comm int keyval MPI_Comm int void attr_value void int MPI_Datatype int MPI_Comm comm MPI_Comm int int int int MPI_Comm comm_cart MPI_Comm int int int int coords MPI_Comm int int int int dest MPI_Comm MPI_Comm int result MPI_Comm MPI_Group MPI_Comm newcomm MPI_Comm comm int keyval MPI_Comm int void int flag MPI_Comm MPI_Group group MPI_Comm int void attribute_val MPI_Comm int int MPI_Comm comm_out MPI_Comm MPI_Group int MPI_Comm comm_out int int int dims void void int MPI_Datatype MPI_Op MPI_Comm comm void int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void MPI_Aint address char int len int int subversion void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win MPI_Group MPI_Group int result MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int int MPI_Group newgroup MPI_Group int rank MPI_Group int int MPI_Group int ranks2 MPI_Info info MPI_Info MPI_Info newinfo MPI_Info char int char int flag MPI_Info int char key MPI_Info char char value int char argv int int MPI_Comm int MPI_Status status void int MPI_Datatype int int MPI_Comm MPI_Request request int flag int keyval MPI_Op op int MPI_Datatype MPI_Comm int size int int MPI_Comm MPI_Status status int provided void int MPI_Datatype int int MPI_Comm MPI_Request request void void int MPI_Datatype MPI_Op op void void int MPI_Datatype MPI_Op MPI_Comm comm MPI_Request request void int MPI_Datatype void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win MPI_Request request void void int MPI_Datatype MPI_Op MPI_Comm comm void int int MPI_Datatype void int MPI_Datatype int MPI_Comm comm void int MPI_Datatype int int int int MPI_Comm MPI_Status status void int MPI_Datatype int int MPI_Comm comm void int MPI_Datatype int int MPI_Comm comm MPI_Request request int MPI_Request int int MPI_Status status int MPI_Request int int MPI_Status statuses int MPI_Datatype MPI_Datatype newtype int int MPI_Aint MPI_Datatype MPI_Datatype new_type int int int MPI_Datatype MPI_Datatype newtype MPI_Type_copy_attr_function MPI_Type_delete_attr_function int void extra_state int int MPI_Aint MPI_Datatype MPI_Datatype newtype MPI_Datatype type
Definition: smpi_mpi.cpp:191
void xbt_free_f(void *p)
like free, but you can be sure that it is a function
Definition: xbt_main.cpp:140
int smpi_global_size()
Definition: smpi_global.cpp:124
void int MPI_Datatype int MPI_Aint int MPI_Datatype MPI_Op MPI_Win win void int MPI_Datatype void int MPI_Datatype MPI_Comm comm MPI_Aint size
Definition: smpi_mpi.cpp:64

◆ SMPI_VARGET_STATIC

#define SMPI_VARGET_STATIC (   name)    name[SIMIX_process_self()->pid]

Typedef Documentation

◆ MPI_Aint

typedef ptrdiff_t MPI_Aint
Examples:
include/smpi/smpi.h.

◆ MPI_Offset

typedef long long MPI_Offset
Examples:
include/smpi/smpi.h.

◆ MPI_File

typedef struct s_MPI_File* MPI_File
Examples:
include/smpi/smpi.h.

◆ MPI_Datatype

◆ MPI_Win

typedef SMPI_Win* MPI_Win
Examples:
include/smpi/smpi.h.

◆ MPI_Info

typedef SMPI_Info* MPI_Info
Examples:
include/smpi/smpi.h.

◆ MPI_User_function

typedef void MPI_User_function(void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
Examples:
include/smpi/smpi.h.

◆ MPI_Op

typedef SMPI_Op* MPI_Op
Examples:
include/smpi/smpi.h.

◆ MPI_Group

◆ MPI_Comm

typedef SMPI_Comm* MPI_Comm
Examples:
include/smpi/smpi.h.

◆ MPI_Request

◆ SMPI_Topo_type

◆ MPI_Copy_function

typedef int MPI_Copy_function(MPI_Comm oldcomm, int keyval, void *extra_state, void *attribute_val_in, void *attribute_val_out, int *flag)
Examples:
include/smpi/smpi.h.

◆ MPI_Delete_function

typedef int MPI_Delete_function(MPI_Comm comm, int keyval, void *attribute_val, void *extra_state)
Examples:
include/smpi/smpi.h.

◆ MPI_Type_copy_attr_function

typedef int MPI_Type_copy_attr_function(MPI_Datatype type, int keyval, void *extra_state, void *attribute_val_in, void *attribute_val_out, int *flag)
Examples:
include/smpi/smpi.h.

◆ MPI_Type_delete_attr_function

typedef int MPI_Type_delete_attr_function(MPI_Datatype type, int keyval, void *attribute_val, void *extra_state)
Examples:
include/smpi/smpi.h.

◆ MPI_Win_copy_attr_function

typedef int MPI_Win_copy_attr_function(MPI_Win win, int keyval, void *extra_state, void *attribute_val_in, void *attribute_val_out, int *flag)
Examples:
include/smpi/smpi.h.

◆ MPI_Win_delete_attr_function

typedef int MPI_Win_delete_attr_function(MPI_Win win, int keyval, void *attribute_val, void *extra_state)
Examples:
include/smpi/smpi.h.

◆ MPI_Datarep_extent_function

typedef int() MPI_Datarep_extent_function(MPI_Datatype, MPI_Aint *, void *)
Examples:
include/smpi/smpi.h.

◆ MPI_Datarep_conversion_function

typedef int() MPI_Datarep_conversion_function(void *, MPI_Datatype, int, void *, MPI_Offset, void *)
Examples:
include/smpi/smpi.h.

◆ MPIR_Combiner_enum

◆ MPI_Handler_function

typedef void MPI_Handler_function(MPI_Comm *, int *,...)
Examples:
include/smpi/smpi.h.

◆ MPI_Errhandler

◆ MPI_Comm_errhandler_function

typedef void MPI_Comm_errhandler_function(MPI_Comm *, int *,...)
Examples:
include/smpi/smpi.h.

◆ MPI_File_errhandler_function

typedef void MPI_File_errhandler_function(MPI_File *, int *,...)
Examples:
include/smpi/smpi.h.

◆ MPI_Win_errhandler_function

typedef void MPI_Win_errhandler_function(MPI_Win *, int *,...)
Examples:
include/smpi/smpi.h.

◆ MPI_Grequest_query_function

typedef int MPI_Grequest_query_function(void *extra_state, MPI_Status *status)
Examples:
include/smpi/smpi.h.

◆ MPI_Grequest_free_function

typedef int MPI_Grequest_free_function(void *extra_state)
Examples:
include/smpi/smpi.h.

◆ MPI_Grequest_cancel_function

typedef int MPI_Grequest_cancel_function(void *extra_state, int complete)
Examples:
include/smpi/smpi.h.

◆ MPI_Comm_errhandler_fn

◆ MPI_File_errhandler_fn

◆ MPI_Win_errhandler_fn

Enumeration Type Documentation

◆ SMPI_Topo_type

Enumerator
MPI_GRAPH 
MPI_CART 
MPI_DIST_GRAPH 
MPI_INVALID_TOPO 
Examples:
include/smpi/smpi.h.

◆ MPIR_Combiner_enum

Enumerator
MPI_COMBINER_NAMED 
MPI_COMBINER_DUP 
MPI_COMBINER_CONTIGUOUS 
MPI_COMBINER_VECTOR 
MPI_COMBINER_HVECTOR_INTEGER 
MPI_COMBINER_HVECTOR 
MPI_COMBINER_INDEXED 
MPI_COMBINER_HINDEXED_INTEGER 
MPI_COMBINER_HINDEXED 
MPI_COMBINER_INDEXED_BLOCK 
MPI_COMBINER_STRUCT_INTEGER 
MPI_COMBINER_STRUCT 
MPI_COMBINER_SUBARRAY 
MPI_COMBINER_DARRAY 
MPI_COMBINER_F90_REAL 
MPI_COMBINER_F90_COMPLEX 
MPI_COMBINER_F90_INTEGER 
MPI_COMBINER_RESIZED 
MPI_COMBINER_HINDEXED_BLOCK 
Examples:
include/smpi/smpi.h.

Function Documentation

◆ MPI_CALL() [1/335]

MPI_CALL ( int  ,
MPI_Init  ,
(int *argc, char ***argv  
)

◆ MPI_CALL() [2/335]

MPI_CALL ( int  ,
MPI_Finalize  ,
(void  
)

◆ MPI_CALL() [3/335]

MPI_CALL ( int  ,
MPI_Finalized  ,
(int *flag  
)

◆ MPI_CALL() [4/335]

MPI_CALL ( int  ,
MPI_Init_thread  ,
(int *argc, char ***argv, int required, int *provided  
)

◆ MPI_CALL() [5/335]

MPI_CALL ( int  ,
MPI_Initialized  ,
(int *flag  
)

◆ MPI_CALL() [6/335]

MPI_CALL ( int  ,
MPI_Query_thread  ,
(int *provided  
)

◆ MPI_CALL() [7/335]

MPI_CALL ( int  ,
MPI_Is_thread_main  ,
(int *flag  
)

◆ MPI_CALL() [8/335]

MPI_CALL ( int  ,
MPI_Get_version  ,
(int *version, int *subversion  
)

◆ MPI_CALL() [9/335]

MPI_CALL ( int  ,
MPI_Get_library_version  ,
(char *version, int *len  
)

◆ MPI_CALL() [10/335]

MPI_CALL ( int  ,
MPI_Get_processor_name  ,
(char *name, int *resultlen)   
)

◆ MPI_CALL() [11/335]

MPI_CALL ( int  ,
MPI_Abort  ,
(MPI_Comm comm, int errorcode  
)

◆ MPI_CALL() [12/335]

MPI_CALL ( int  ,
MPI_Alloc_mem  ,
(MPI_Aint size, MPI_Info info, void *baseptr  
)

◆ MPI_CALL() [13/335]

MPI_CALL ( int  ,
MPI_Free_mem  ,
(void *base  
)

◆ MPI_CALL() [14/335]

MPI_CALL ( double  ,
MPI_Wtime  ,
(void  
)

◆ MPI_CALL() [15/335]

MPI_CALL ( double  ,
MPI_Wtick  ,
(void  
)

◆ MPI_CALL() [16/335]

MPI_CALL ( int  ,
MPI_Address  ,
(void *location, MPI_Aint *address  
)

◆ MPI_CALL() [17/335]

MPI_CALL ( int  ,
MPI_Get_address  ,
(void *location, MPI_Aint *address  
)

◆ MPI_CALL() [18/335]

MPI_CALL ( int  ,
MPI_Error_class  ,
(int errorcode, int *errorclass  
)

◆ MPI_CALL() [19/335]

MPI_CALL ( int  ,
MPI_Attr_delete  ,
(MPI_Comm comm, int keyval  
)

◆ MPI_CALL() [20/335]

MPI_CALL ( int  ,
MPI_Attr_get  ,
(MPI_Comm comm, int keyval, void *attr_value, int *flag  
)

◆ MPI_CALL() [21/335]

MPI_CALL ( int  ,
MPI_Attr_put  ,
(MPI_Comm comm, int keyval, void *attr_value  
)

◆ MPI_CALL() [22/335]

◆ MPI_CALL() [23/335]

MPI_CALL ( int  ,
MPI_Keyval_free  ,
(int *keyval  
)

◆ MPI_CALL() [24/335]

MPI_CALL ( int  ,
MPI_Type_free  ,
(MPI_Datatype *datatype  
)

◆ MPI_CALL() [25/335]

MPI_CALL ( int  ,
MPI_Type_size  ,
(MPI_Datatype datatype, int *size  
)

◆ MPI_CALL() [26/335]

MPI_CALL ( int  ,
MPI_Type_size_x  ,
(MPI_Datatype datatype, MPI_Count *size  
)

◆ MPI_CALL() [27/335]

MPI_CALL ( int  ,
MPI_Type_get_extent  ,
(MPI_Datatype datatype, MPI_Aint *lb, MPI_Aint *extent  
)

◆ MPI_CALL() [28/335]

◆ MPI_CALL() [29/335]

MPI_CALL ( int  ,
MPI_Type_extent  ,
(MPI_Datatype datatype, MPI_Aint *extent  
)

◆ MPI_CALL() [30/335]

MPI_CALL ( int  ,
MPI_Type_lb  ,
(MPI_Datatype datatype, MPI_Aint *disp  
)

◆ MPI_CALL() [31/335]

MPI_CALL ( int  ,
MPI_Type_ub  ,
(MPI_Datatype datatype, MPI_Aint *disp  
)

◆ MPI_CALL() [32/335]

MPI_CALL ( int  ,
MPI_Type_commit  ,
(MPI_Datatype *datatype  
)

◆ MPI_CALL() [33/335]

MPI_CALL ( int  ,
MPI_Type_hindexed  ,
(int count, int *blocklens, MPI_Aint *indices, MPI_Datatype old_type, MPI_Datatype *newtype  
)

◆ MPI_CALL() [34/335]

◆ MPI_CALL() [35/335]

◆ MPI_CALL() [36/335]

MPI_CALL ( int  ,
MPI_Type_hvector  ,
(int count, int blocklen, MPI_Aint stride, MPI_Datatype old_type, MPI_Datatype *newtype  
)

◆ MPI_CALL() [37/335]

◆ MPI_CALL() [38/335]

MPI_CALL ( int  ,
MPI_Type_indexed  ,
(int count, int *blocklens, int *indices, MPI_Datatype old_type, MPI_Datatype *newtype  
)

◆ MPI_CALL() [39/335]

MPI_CALL ( int  ,
MPI_Type_create_indexed  ,
(int count, int *blocklens, int *indices, MPI_Datatype old_type, MPI_Datatype *newtype  
)

◆ MPI_CALL() [40/335]

◆ MPI_CALL() [41/335]

MPI_CALL ( int  ,
MPI_Type_struct  ,
(int count, int *blocklens, MPI_Aint *indices, MPI_Datatype *old_types, MPI_Datatype *newtype  
)

◆ MPI_CALL() [42/335]

◆ MPI_CALL() [43/335]

MPI_CALL ( int  ,
MPI_Type_vector  ,
(int count, int blocklen, int stride, MPI_Datatype old_type, MPI_Datatype *newtype  
)

◆ MPI_CALL() [44/335]

MPI_CALL ( int  ,
MPI_Type_contiguous  ,
(int count, MPI_Datatype old_type, MPI_Datatype *newtype  
)

◆ MPI_CALL() [45/335]

MPI_CALL ( int  ,
MPI_Type_create_resized  ,
(MPI_Datatype oldtype, MPI_Aint lb, MPI_Aint extent, MPI_Datatype *newtype  
)

◆ MPI_CALL() [46/335]

MPI_CALL ( MPI_Datatype  ,
MPI_Type_f2c  ,
(MPI_Fint datatype  
)

◆ MPI_CALL() [47/335]

MPI_CALL ( MPI_Fint  ,
MPI_Type_c2f  ,
(MPI_Datatype datatype  
)

◆ MPI_CALL() [48/335]

MPI_CALL ( int  ,
MPI_Get_count  ,
(MPI_Status *status, MPI_Datatype datatype, int *count  
)

◆ MPI_CALL() [49/335]

MPI_CALL ( int  ,
MPI_Type_get_attr  ,
(MPI_Datatype type, int type_keyval, void *attribute_val, int *flag  
)

◆ MPI_CALL() [50/335]

MPI_CALL ( int  ,
MPI_Type_set_attr  ,
(MPI_Datatype type, int type_keyval, void *att)   
)

◆ MPI_CALL() [51/335]

MPI_CALL ( int  ,
MPI_Type_delete_attr  ,
(MPI_Datatype type, int comm_keyval  
)

◆ MPI_CALL() [52/335]

◆ MPI_CALL() [53/335]

MPI_CALL ( int  ,
MPI_Type_free_keyval  ,
(int *keyval  
)

◆ MPI_CALL() [54/335]

MPI_CALL ( int  ,
MPI_Type_dup  ,
(MPI_Datatype datatype, MPI_Datatype *newtype  
)

◆ MPI_CALL() [55/335]

MPI_CALL ( int  ,
MPI_Type_set_name  ,
(MPI_Datatype datatype, char *name  
)

◆ MPI_CALL() [56/335]

MPI_CALL ( int  ,
MPI_Type_get_name  ,
(MPI_Datatype datatype, char *name, int *len  
)

◆ MPI_CALL() [57/335]

MPI_CALL ( int  ,
MPI_Pack  ,
(void *inbuf, int incount, MPI_Datatype type, void *outbuf, int outcount, int *position, MPI_Comm comm  
)

◆ MPI_CALL() [58/335]

MPI_CALL ( int  ,
MPI_Pack_size  ,
(int incount, MPI_Datatype datatype, MPI_Comm comm, int *size  
)

◆ MPI_CALL() [59/335]

MPI_CALL ( int  ,
MPI_Unpack  ,
(void *inbuf, int insize, int *position, void *outbuf, int outcount, MPI_Datatype type, MPI_Comm comm  
)

◆ MPI_CALL() [60/335]

MPI_CALL ( int  ,
MPI_Op_create  ,
(MPI_User_function *function, int commute, MPI_Op *op  
)

◆ MPI_CALL() [61/335]

MPI_CALL ( int  ,
MPI_Op_free  ,
(MPI_Op *op  
)

◆ MPI_CALL() [62/335]

MPI_CALL ( int  ,
MPI_Op_commutative  ,
(MPI_Op op, int *commute)   
)

◆ MPI_CALL() [63/335]

MPI_CALL ( MPI_Op  ,
MPI_Op_f2c  ,
(MPI_Fint op  
)

◆ MPI_CALL() [64/335]

MPI_CALL ( MPI_Fint  ,
MPI_Op_c2f  ,
(MPI_Op op  
)

◆ MPI_CALL() [65/335]

MPI_CALL ( int  ,
MPI_Group_free  ,
(MPI_Group *group  
)

◆ MPI_CALL() [66/335]

MPI_CALL ( int  ,
MPI_Group_size  ,
(MPI_Group group, int *size  
)

◆ MPI_CALL() [67/335]

MPI_CALL ( int  ,
MPI_Group_rank  ,
(MPI_Group group, int *rank  
)

◆ MPI_CALL() [68/335]

MPI_CALL ( int  ,
MPI_Group_translate_ranks  ,
(MPI_Group group1, int n, int *ranks1, MPI_Group group2, int *ranks2  
)

◆ MPI_CALL() [69/335]

MPI_CALL ( int  ,
MPI_Group_compare  ,
(MPI_Group group1, MPI_Group group2, int *result  
)

◆ MPI_CALL() [70/335]

MPI_CALL ( int  ,
MPI_Group_union  ,
(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup  
)

◆ MPI_CALL() [71/335]

◆ MPI_CALL() [72/335]

◆ MPI_CALL() [73/335]

MPI_CALL ( int  ,
MPI_Group_incl  ,
(MPI_Group group, int n, int *ranks, MPI_Group *newgroup  
)

◆ MPI_CALL() [74/335]

MPI_CALL ( int  ,
MPI_Group_excl  ,
(MPI_Group group, int n, int *ranks, MPI_Group *newgroup  
)

◆ MPI_CALL() [75/335]

MPI_CALL ( int  ,
MPI_Group_range_incl  ,
(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup  
)

◆ MPI_CALL() [76/335]

MPI_CALL ( int  ,
MPI_Group_range_excl  ,
(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup  
)

◆ MPI_CALL() [77/335]

MPI_CALL ( MPI_Group  ,
MPI_Group_f2c  ,
(MPI_Fint group  
)

◆ MPI_CALL() [78/335]

MPI_CALL ( MPI_Fint  ,
MPI_Group_c2f  ,
(MPI_Group group  
)

◆ MPI_CALL() [79/335]

MPI_CALL ( int  ,
MPI_Comm_rank  ,
(MPI_Comm comm, int *rank  
)

◆ MPI_CALL() [80/335]

MPI_CALL ( int  ,
MPI_Comm_size  ,
(MPI_Comm comm, int *size  
)

◆ MPI_CALL() [81/335]

MPI_CALL ( int  ,
MPI_Comm_get_name  ,
(MPI_Comm comm, char *name, int *len  
)

◆ MPI_CALL() [82/335]

MPI_CALL ( int  ,
MPI_Comm_set_name  ,
(MPI_Comm comm, char *name  
)

◆ MPI_CALL() [83/335]

MPI_CALL ( int  ,
MPI_Comm_dup  ,
(MPI_Comm comm, MPI_Comm *newcomm  
)

◆ MPI_CALL() [84/335]

MPI_CALL ( int  ,
MPI_Comm_get_attr  ,
(MPI_Comm comm, int comm_keyval, void *attribute_val, int *flag  
)

◆ MPI_CALL() [85/335]

MPI_CALL ( int  ,
MPI_Comm_set_attr  ,
(MPI_Comm comm, int comm_keyval, void *attribute_val  
)

◆ MPI_CALL() [86/335]

MPI_CALL ( int  ,
MPI_Comm_delete_attr  ,
(MPI_Comm comm, int comm_keyval  
)

◆ MPI_CALL() [87/335]

◆ MPI_CALL() [88/335]

MPI_CALL ( int  ,
MPI_Comm_free_keyval  ,
(int *keyval  
)

◆ MPI_CALL() [89/335]

MPI_CALL ( int  ,
MPI_Comm_group  ,
(MPI_Comm comm, MPI_Group *group  
)

◆ MPI_CALL() [90/335]

MPI_CALL ( int  ,
MPI_Comm_compare  ,
(MPI_Comm comm1, MPI_Comm comm2, int *result  
)

◆ MPI_CALL() [91/335]

MPI_CALL ( int  ,
MPI_Comm_create  ,
(MPI_Comm comm, MPI_Group group, MPI_Comm *newcomm  
)

◆ MPI_CALL() [92/335]

MPI_CALL ( int  ,
MPI_Comm_create_group  ,
(MPI_Comm comm, MPI_Group group, int tag, MPI_Comm *newcomm  
)

◆ MPI_CALL() [93/335]

MPI_CALL ( int  ,
MPI_Comm_free  ,
(MPI_Comm *comm  
)

◆ MPI_CALL() [94/335]

MPI_CALL ( int  ,
MPI_Comm_disconnect  ,
(MPI_Comm *comm  
)

◆ MPI_CALL() [95/335]

MPI_CALL ( int  ,
MPI_Comm_split  ,
(MPI_Comm comm, int color, int key, MPI_Comm *comm_out  
)

◆ MPI_CALL() [96/335]

MPI_CALL ( MPI_Comm  ,
MPI_Comm_f2c  ,
(MPI_Fint comm  
)

◆ MPI_CALL() [97/335]

MPI_CALL ( MPI_Fint  ,
MPI_Comm_c2f  ,
(MPI_Comm comm  
)

◆ MPI_CALL() [98/335]

MPI_CALL ( int  ,
MPI_Send_init  ,
(void *buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm, MPI_Request *request  
)

◆ MPI_CALL() [99/335]

MPI_CALL ( int  ,
MPI_Recv_init  ,
(void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Request *request  
)

◆ MPI_CALL() [100/335]

MPI_CALL ( int  ,
MPI_Start  ,
(MPI_Request *request  
)

◆ MPI_CALL() [101/335]

MPI_CALL ( int  ,
MPI_Startall  ,
(int count, MPI_Request *requests  
)

◆ MPI_CALL() [102/335]

MPI_CALL ( int  ,
MPI_Request_free  ,
(MPI_Request *request  
)

◆ MPI_CALL() [103/335]

MPI_CALL ( int  ,
MPI_Irecv  ,
(void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Request *request  
)

◆ MPI_CALL() [104/335]

MPI_CALL ( int  ,
MPI_Isend  ,
(void *buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm, MPI_Request *request  
)

◆ MPI_CALL() [105/335]

MPI_CALL ( int  ,
MPI_Recv  ,
(void *buf, int count, MPI_Datatype datatype, int src, int tag, MPI_Comm comm, MPI_Status *status  
)

◆ MPI_CALL() [106/335]

MPI_CALL ( int  ,
MPI_Send  ,
(void *buf, int count, MPI_Datatype datatype, int dst, int tag, MPI_Comm comm  
)

◆ MPI_CALL() [107/335]

MPI_CALL ( int  ,
MPI_Ssend  ,
(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm  
)

◆ MPI_CALL() [108/335]

MPI_CALL ( int  ,
MPI_Ssend_init  ,
(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request  
)

◆ MPI_CALL() [109/335]

MPI_CALL ( int  ,
MPI_Issend  ,
(void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request  
)

◆ MPI_CALL() [110/335]

◆ MPI_CALL() [111/335]

MPI_CALL ( int  ,
MPI_Sendrecv_replace  ,
(void *buf, int count, MPI_Datatype datatype, int dst, int sendtag, int src, int recvtag, MPI_Comm comm, MPI_Status *status  
)

◆ MPI_CALL() [112/335]

MPI_CALL ( int  ,
MPI_Test  ,
(MPI_Request *request, int *flag, MPI_Status *status  
)

◆ MPI_CALL() [113/335]

MPI_CALL ( int  ,
MPI_Testany  ,
(int count, MPI_Request requests[], int *index, int *flag, MPI_Status *status  
)

◆ MPI_CALL() [114/335]

MPI_CALL ( int  ,
MPI_Testall  ,
(int count, MPI_Request *requests, int *flag, MPI_Status *statuses  
)

◆ MPI_CALL() [115/335]

MPI_CALL ( int  ,
MPI_Testsome  ,
(int incount, MPI_Request requests[], int *outcount, int *indices, MPI_Status status[])   
)

◆ MPI_CALL() [116/335]

MPI_CALL ( int  ,
MPI_Wait  ,
(MPI_Request *request, MPI_Status *status  
)

◆ MPI_CALL() [117/335]

MPI_CALL ( int  ,
MPI_Waitany  ,
(int count, MPI_Request requests[], int *index, MPI_Status *status  
)

◆ MPI_CALL() [118/335]

MPI_CALL ( int  ,
MPI_Waitall  ,
(int count, MPI_Request requests[], MPI_Status status[])   
)

◆ MPI_CALL() [119/335]

MPI_CALL ( int  ,
MPI_Waitsome  ,
(int incount, MPI_Request requests[], int *outcount, int *indices, MPI_Status status[])   
)

◆ MPI_CALL() [120/335]

MPI_CALL ( int  ,
MPI_Iprobe  ,
(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status  
)

◆ MPI_CALL() [121/335]

MPI_CALL ( int  ,
MPI_Probe  ,
(int source, int tag, MPI_Comm comm, MPI_Status *status  
)

◆ MPI_CALL() [122/335]

MPI_CALL ( MPI_Request  ,
MPI_Request_f2c  ,
(MPI_Fint request  
)

◆ MPI_CALL() [123/335]

MPI_CALL ( MPI_Fint  ,
MPI_Request_c2f  ,
(MPI_Request request  
)

◆ MPI_CALL() [124/335]

MPI_CALL ( int  ,
MPI_Bcast  ,
(void *buf, int count, MPI_Datatype datatype, int root, MPI_Comm comm  
)

◆ MPI_CALL() [125/335]

MPI_CALL ( int  ,
MPI_Barrier  ,
(MPI_Comm comm  
)

◆ MPI_CALL() [126/335]

◆ MPI_CALL() [127/335]

MPI_CALL ( int  ,
MPI_Gatherv  ,
(void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *displs, MPI_Datatype recvtype, int root, MPI_Comm comm  
)

◆ MPI_CALL() [128/335]

◆ MPI_CALL() [129/335]

◆ MPI_CALL() [130/335]

◆ MPI_CALL() [131/335]

◆ MPI_CALL() [132/335]

MPI_CALL ( int  ,
MPI_Reduce  ,
(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm  
)

◆ MPI_CALL() [133/335]

MPI_CALL ( int  ,
MPI_Allreduce  ,
(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm  
)

◆ MPI_CALL() [134/335]

MPI_CALL ( int  ,
MPI_Scan  ,
(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm  
)

◆ MPI_CALL() [135/335]

MPI_CALL ( int  ,
MPI_Exscan  ,
(void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm  
)

◆ MPI_CALL() [136/335]

◆ MPI_CALL() [137/335]

◆ MPI_CALL() [138/335]

◆ MPI_CALL() [139/335]

MPI_CALL ( int  ,
MPI_Alltoallv  ,
(void *sendbuf, int *sendcounts, int *senddisps, MPI_Datatype sendtype, void *recvbuf, int *recvcounts, int *recvdisps, MPI_Datatype recvtype, MPI_Comm comm  
)

◆ MPI_CALL() [140/335]

MPI_CALL ( int  ,
MPI_Reduce_local  ,
(void *inbuf, void *inoutbuf, int count, MPI_Datatype datatype, MPI_Op op  
)

◆ MPI_CALL() [141/335]

MPI_CALL ( int  ,
MPI_Info_create  ,
(MPI_Info *info  
)

◆ MPI_CALL() [142/335]

MPI_CALL ( int  ,
MPI_Info_set  ,
(MPI_Info info, char *key, char *value  
)

◆ MPI_CALL() [143/335]

MPI_CALL ( int  ,
MPI_Info_get  ,
(MPI_Info info, char *key, int valuelen, char *value, int *flag  
)

◆ MPI_CALL() [144/335]

MPI_CALL ( int  ,
MPI_Info_free  ,
(MPI_Info *info  
)

◆ MPI_CALL() [145/335]

MPI_CALL ( int  ,
MPI_Info_delete  ,
(MPI_Info info, char *key  
)

◆ MPI_CALL() [146/335]

MPI_CALL ( int  ,
MPI_Info_dup  ,
(MPI_Info info, MPI_Info *newinfo  
)

◆ MPI_CALL() [147/335]

MPI_CALL ( int  ,
MPI_Info_get_nkeys  ,
(MPI_Info info, int *nkeys)   
)

◆ MPI_CALL() [148/335]

MPI_CALL ( int  ,
MPI_Info_get_nthkey  ,
(MPI_Info info, int n, char *key  
)

◆ MPI_CALL() [149/335]

MPI_CALL ( int  ,
MPI_Info_get_valuelen  ,
(MPI_Info info, char *key, int *valuelen, int *flag  
)

◆ MPI_CALL() [150/335]

MPI_CALL ( MPI_Info  ,
MPI_Info_f2c  ,
(MPI_Fint info  
)

◆ MPI_CALL() [151/335]

MPI_CALL ( MPI_Fint  ,
MPI_Info_c2f  ,
(MPI_Info info  
)

◆ MPI_CALL() [152/335]

MPI_CALL ( int  ,
MPI_Win_free  ,
(MPI_Win *win  
)

◆ MPI_CALL() [153/335]

MPI_CALL ( int  ,
MPI_Win_create  ,
(void *base, MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, MPI_Win *win  
)

◆ MPI_CALL() [154/335]

MPI_CALL ( int  ,
MPI_Win_allocate  ,
(MPI_Aint size, int disp_unit, MPI_Info info, MPI_Comm comm, void *base, MPI_Win *win  
)

◆ MPI_CALL() [155/335]

◆ MPI_CALL() [156/335]

MPI_CALL ( int  ,
MPI_Win_create_dynamic  ,
(MPI_Info info, MPI_Comm comm, MPI_Win *win  
)

◆ MPI_CALL() [157/335]

MPI_CALL ( int  ,
MPI_Win_attach  ,
(MPI_Win win, void *base, MPI_Aint size  
)

◆ MPI_CALL() [158/335]

MPI_CALL ( int  ,
MPI_Win_detach  ,
(MPI_Win win, void *base  
)

◆ MPI_CALL() [159/335]

MPI_CALL ( int  ,
MPI_Win_set_name  ,
(MPI_Win win, char *name  
)

◆ MPI_CALL() [160/335]

MPI_CALL ( int  ,
MPI_Win_get_name  ,
(MPI_Win win, char *name, int *len  
)

◆ MPI_CALL() [161/335]

MPI_CALL ( int  ,
MPI_Win_set_info  ,
(MPI_Win win, MPI_Info info  
)

◆ MPI_CALL() [162/335]

MPI_CALL ( int  ,
MPI_Win_get_info  ,
(MPI_Win win, MPI_Info *info  
)

◆ MPI_CALL() [163/335]

MPI_CALL ( int  ,
MPI_Win_get_group  ,
(MPI_Win win, MPI_Group *group  
)

◆ MPI_CALL() [164/335]

MPI_CALL ( int  ,
MPI_Win_fence  ,
(int assert, MPI_Win win  
)

◆ MPI_CALL() [165/335]

MPI_CALL ( int  ,
MPI_Win_get_attr  ,
(MPI_Win type, int type_keyval, void *attribute_val, int *flag  
)

◆ MPI_CALL() [166/335]

MPI_CALL ( int  ,
MPI_Win_set_attr  ,
(MPI_Win type, int type_keyval, void *att)   
)

◆ MPI_CALL() [167/335]

MPI_CALL ( int  ,
MPI_Win_delete_attr  ,
(MPI_Win type, int comm_keyval  
)

◆ MPI_CALL() [168/335]

◆ MPI_CALL() [169/335]

MPI_CALL ( int  ,
MPI_Win_free_keyval  ,
(int *keyval  
)

◆ MPI_CALL() [170/335]

MPI_CALL ( int  ,
MPI_Win_complete  ,
(MPI_Win win  
)

◆ MPI_CALL() [171/335]

MPI_CALL ( int  ,
MPI_Win_post  ,
(MPI_Group group, int assert, MPI_Win win  
)

◆ MPI_CALL() [172/335]

MPI_CALL ( int  ,
MPI_Win_start  ,
(MPI_Group group, int assert, MPI_Win win  
)

◆ MPI_CALL() [173/335]

MPI_CALL ( int  ,
MPI_Win_wait  ,
(MPI_Win win  
)

◆ MPI_CALL() [174/335]

MPI_CALL ( int  ,
MPI_Win_lock  ,
(int lock_type, int rank, int assert, MPI_Win win  
)

◆ MPI_CALL() [175/335]

MPI_CALL ( int  ,
MPI_Win_lock_all  ,
(int assert, MPI_Win win  
)

◆ MPI_CALL() [176/335]

MPI_CALL ( int  ,
MPI_Win_unlock  ,
(int rank, MPI_Win win  
)

◆ MPI_CALL() [177/335]

MPI_CALL ( int  ,
MPI_Win_unlock_all  ,
(MPI_Win win  
)

◆ MPI_CALL() [178/335]

MPI_CALL ( int  ,
MPI_Win_flush  ,
(int rank, MPI_Win win  
)

◆ MPI_CALL() [179/335]

MPI_CALL ( int  ,
MPI_Win_flush_local  ,
(int rank, MPI_Win win  
)

◆ MPI_CALL() [180/335]

MPI_CALL ( int  ,
MPI_Win_flush_all  ,
(MPI_Win win  
)

◆ MPI_CALL() [181/335]

MPI_CALL ( int  ,
MPI_Win_flush_local_all  ,
(MPI_Win win  
)

◆ MPI_CALL() [182/335]

MPI_CALL ( int  ,
MPI_Win_shared_query  ,
(MPI_Win win, int rank, MPI_Aint *size, int *disp_unit, void *baseptr  
)

◆ MPI_CALL() [183/335]

MPI_CALL ( int  ,
MPI_Win_sync  ,
(MPI_Win win  
)

◆ MPI_CALL() [184/335]

MPI_CALL ( MPI_Win  ,
MPI_Win_f2c  ,
(MPI_Fint win  
)

◆ MPI_CALL() [185/335]

MPI_CALL ( MPI_Fint  ,
MPI_Win_c2f  ,
(MPI_Win win  
)

◆ MPI_CALL() [186/335]

◆ MPI_CALL() [187/335]

◆ MPI_CALL() [188/335]

◆ MPI_CALL() [189/335]

◆ MPI_CALL() [190/335]

◆ MPI_CALL() [191/335]

◆ MPI_CALL() [192/335]

◆ MPI_CALL() [193/335]

◆ MPI_CALL() [194/335]

◆ MPI_CALL() [195/335]

◆ MPI_CALL() [196/335]

MPI_CALL ( int  ,
MPI_Cart_coords  ,
(MPI_Comm comm, int rank, int maxdims, int *coords  
)

◆ MPI_CALL() [197/335]

MPI_CALL ( int  ,
MPI_Cart_create  ,
(MPI_Comm comm_old, int ndims, int *dims, int *periods, int reorder, MPI_Comm *comm_cart  
)

◆ MPI_CALL() [198/335]

MPI_CALL ( int  ,
MPI_Cart_get  ,
(MPI_Comm comm, int maxdims, int *dims, int *periods, int *coords  
)

◆ MPI_CALL() [199/335]

MPI_CALL ( int  ,
MPI_Cart_rank  ,
(MPI_Comm comm, int *coords, int *rank  
)

◆ MPI_CALL() [200/335]

MPI_CALL ( int  ,
MPI_Cart_shift  ,
(MPI_Comm comm, int direction, int displ, int *source, int *dest  
)

◆ MPI_CALL() [201/335]

MPI_CALL ( int  ,
MPI_Cart_sub  ,
(MPI_Comm comm, int *remain_dims, MPI_Comm *comm_new)   
)

◆ MPI_CALL() [202/335]

MPI_CALL ( int  ,
MPI_Cartdim_get  ,
(MPI_Comm comm, int *ndims  
)

◆ MPI_CALL() [203/335]

MPI_CALL ( int  ,
MPI_Dims_create  ,
(int nnodes, int ndims, int *dims  
)

◆ MPI_CALL() [204/335]

◆ MPI_CALL() [205/335]

◆ MPI_CALL() [206/335]

MPI_CALL ( int  ,
MPI_Cart_map  ,
(MPI_Comm comm_old, int ndims, int *dims, int *periods, int *newrank  
)

◆ MPI_CALL() [207/335]

MPI_CALL ( int  ,
MPI_Graph_create  ,
(MPI_Comm comm_old, int nnodes, int *index, int *edges, int reorder, MPI_Comm *comm_graph)   
)

◆ MPI_CALL() [208/335]

MPI_CALL ( int  ,
MPI_Graph_get  ,
(MPI_Comm comm, int maxindex, int maxedges, int *index, int *edges  
)

◆ MPI_CALL() [209/335]

MPI_CALL ( int  ,
MPI_Graph_map  ,
(MPI_Comm comm_old, int nnodes, int *index, int *edges, int *newrank  
)

◆ MPI_CALL() [210/335]

MPI_CALL ( int  ,
MPI_Graph_neighbors  ,
(MPI_Comm comm, int rank, int maxneighbors, int *neighbors  
)

◆ MPI_CALL() [211/335]

MPI_CALL ( int  ,
MPI_Graph_neighbors_count  ,
(MPI_Comm comm, int rank, int *nneighbors)   
)

◆ MPI_CALL() [212/335]

MPI_CALL ( int  ,
MPI_Graphdims_get  ,
(MPI_Comm comm, int *nnodes, int *nedges  
)

◆ MPI_CALL() [213/335]

MPI_CALL ( int  ,
MPI_Topo_test  ,
(MPI_Comm comm, int *top_type  
)

◆ MPI_CALL() [214/335]

◆ MPI_CALL() [215/335]

MPI_CALL ( int  ,
MPI_Errhandler_free  ,
(MPI_Errhandler *errhandler  
)

◆ MPI_CALL() [216/335]

MPI_CALL ( int  ,
MPI_Errhandler_get  ,
(MPI_Comm comm, MPI_Errhandler *errhandler  
)

◆ MPI_CALL() [217/335]

MPI_CALL ( int  ,
MPI_Error_string  ,
(int errorcode, char *string, int *resultlen)   
)

◆ MPI_CALL() [218/335]

MPI_CALL ( int  ,
MPI_Errhandler_set  ,
(MPI_Comm comm, MPI_Errhandler errhandler  
)

◆ MPI_CALL() [219/335]

◆ MPI_CALL() [220/335]

MPI_CALL ( int  ,
MPI_Comm_get_errhandler  ,
(MPI_Comm comm, MPI_Errhandler *errhandler  
)

◆ MPI_CALL() [221/335]

◆ MPI_CALL() [222/335]

MPI_CALL ( int  ,
MPI_Comm_call_errhandler  ,
(MPI_Comm comm, int errorcode  
)

◆ MPI_CALL() [223/335]

MPI_CALL ( int  ,
MPI_Add_error_class  ,
(int *errorclass  
)

◆ MPI_CALL() [224/335]

MPI_CALL ( int  ,
MPI_Add_error_code  ,
(int errorclass, int *errorcode  
)

◆ MPI_CALL() [225/335]

MPI_CALL ( int  ,
MPI_Add_error_string  ,
(int errorcode, char *string  
)

◆ MPI_CALL() [226/335]

MPI_CALL ( int  ,
MPI_Cancel  ,
(MPI_Request *request  
)

◆ MPI_CALL() [227/335]

MPI_CALL ( int  ,
MPI_Buffer_attach  ,
(void *buffer, int size  
)

◆ MPI_CALL() [228/335]

MPI_CALL ( int  ,
MPI_Buffer_detach  ,
(void *buffer, int *size  
)

◆ MPI_CALL() [229/335]

MPI_CALL ( int  ,
MPI_Comm_test_inter  ,
(MPI_Comm comm, int *flag  
)

◆ MPI_CALL() [230/335]

◆ MPI_CALL() [231/335]

MPI_CALL ( int  ,
MPI_Intercomm_merge  ,
(MPI_Comm comm, int high, MPI_Comm *comm_out  
)

◆ MPI_CALL() [232/335]

<
MPI_CALL ( int