52 #include "RTOp_ConfigDefs.hpp"
62 typedef int MPI_Datatype;
63 #define MPI_CHAR ((MPI_Datatype)1)
64 #define MPI_INT ((MPI_Datatype)6)
65 #define MPI_FLOAT ((MPI_Datatype)10)
66 #define MPI_DOUBLE ((MPI_Datatype)11)
68 #define MPI_COMM_WORLD 91
69 #define MPI_COMM_NULL ((MPI_Comm)0)
71 #define MPI_OP_NULL ((MPI_Op)0)
72 #define MPI_MAX (MPI_Op)(100)
73 #define MPI_MIN (MPI_Op)(101)
74 #define MPI_SUM (MPI_Op)(102)
75 #define MPI_DATATYPE_NULL ((MPI_Datatype)0)
76 typedef struct {
int MPI_SOURCE;
int MPI_TAG;
int MPI_ERROR; } RTOP_MPI_Status;
77 typedef void (MPI_User_function) (
void *,
void *,
int *, MPI_Datatype * );
82 #define EXPORT_MPI_API
83 EXPORT_MPI_API
int MPI_Init(
int *,
char ***);
84 EXPORT_MPI_API
int MPI_Finalize(
void);
85 EXPORT_MPI_API
int MPI_Comm_size(MPI_Comm,
int *);
86 EXPORT_MPI_API
int MPI_Comm_rank(MPI_Comm,
int *);
87 EXPORT_MPI_API
int MPI_Type_struct(
int,
int *, MPI_Aint *, MPI_Datatype *, MPI_Datatype *);
88 EXPORT_MPI_API
int MPI_Type_commit(MPI_Datatype *);
89 EXPORT_MPI_API
int MPI_Type_free(MPI_Datatype *);
90 EXPORT_MPI_API
int MPI_Op_create(MPI_User_function *,
int, MPI_Op *);
91 EXPORT_MPI_API
int MPI_Op_free( MPI_Op *);
92 EXPORT_MPI_API
int MPI_Send(
void*,
int, MPI_Datatype,
int,
int, MPI_Comm);
93 EXPORT_MPI_API
int MPI_Recv(
void*,
int, MPI_Datatype,
int,
int, MPI_Comm, RTOP_MPI_Status*);
94 EXPORT_MPI_API
int MPI_Sendrecv_replace(
void*,
int, MPI_Datatype,
int,
int,
int,
int, MPI_Comm, RTOP_MPI_Status*);
95 EXPORT_MPI_API
int MPI_Reduce(
void* ,
void*,
int, MPI_Datatype, MPI_Op,
int, MPI_Comm);
96 EXPORT_MPI_API
int MPI_Allreduce(
void* ,
void*,
int, MPI_Datatype, MPI_Op, MPI_Comm);
97 EXPORT_MPI_API
int MPI_Barrier(MPI_Comm);
98 EXPORT_MPI_API
int MPI_Bcast(
void*,
int, MPI_Datatype,
int, MPI_Comm );
99 EXPORT_MPI_API
int MPI_Gather(
void* ,
int, MPI_Datatype,
void*,
int, MPI_Datatype,
int, MPI_Comm);
typedef void(CALL_API *RTOp_reduct_op_func_ptr_t)(void *