13enum MPI_Datatype :
int {
35enum MPI_Op :
int { MPI_SUM, MPI_PROD, MPI_MAX, MPI_MIN, MPI_MAXLOC, MPI_MINLOC };
37typedef void *MPI_Comm;
38typedef void *MPI_Request;
39typedef struct ompi_status_public_t MPI_Status;
40typedef void *MPI_Comm;
42typedef void *MPI_Errhandler;
43#define MPI_IN_PLACE nullptr
44#define MPI_COMM_WORLD nullptr
45#define MPI_STATUS_IGNORE nullptr
46#define MPI_ERRORS_RETURN nullptr
47#define MPI_REQUEST_NULL nullptr
50enum MPI_thread_level :
int {
53 MPI_THREAD_SERIALIZED,
57struct ompi_status_public_t {
71int MPI_Init(
int *argc,
char ***argv);
73int MPI_Init_thread(
int *argc,
char ***argv,
int threadlevel,
int *provided);
75int MPI_Comm_rank(MPI_Comm comm,
int *rank);
77int MPI_Comm_size(MPI_Comm comm,
int *size);
79int MPI_Comm_split(MPI_Comm comm,
int color,
int key, MPI_Comm *newcomm);
81int MPI_Comm_set_errhandler(MPI_Comm comm, MPI_Errhandler errhandler);
83int MPI_Bcast(
void *buffer,
int count, MPI_Datatype datatype,
int root, MPI_Comm comm);
85int MPI_Reduce(
const void *sendbuf,
void *recvbuf,
int count, MPI_Datatype datatype,
86 MPI_Op op,
int root, MPI_Comm comm);
88int MPI_Ireduce(
const void *sendbuf,
void *recvbuf,
int count, MPI_Datatype datatype,
89 MPI_Op op,
int root, MPI_Comm comm, MPI_Request *request);
91int MPI_Allreduce(
const void *sendbuf,
void *recvbuf,
int count, MPI_Datatype datatype,
92 MPI_Op op, MPI_Comm comm);
94int MPI_Iallreduce(
const void *sendbuf,
void *recvbuf,
int count, MPI_Datatype datatype,
95 MPI_Op op, MPI_Comm comm, MPI_Request *request);
97int MPI_Send(
const void *buf,
int count, MPI_Datatype datatype,
int dest,
int tag,
100int MPI_Isend(
const void *buf,
int count, MPI_Datatype datatype,
int dest,
int tag,
101 MPI_Comm comm, MPI_Request *request);
103int MPI_Recv(
void *buf,
int count, MPI_Datatype datatype,
int source,
int tag,
104 MPI_Comm comm, MPI_Status *status);
106int MPI_Irecv(
void *buf,
int count, MPI_Datatype datatype,
int source,
int tag,
107 MPI_Comm comm, MPI_Request *request);
109int MPI_Wait(MPI_Request *request, MPI_Status *status);
111int MPI_Waitall(
int count, MPI_Request array_of_requests[],
112 MPI_Status *array_of_statuses);
114int MPI_Barrier(MPI_Comm comm);
116int MPI_Ibarrier(MPI_Comm comm, MPI_Request *request);
118int MPI_Cancel(MPI_Request *request);
120int MPI_Test(MPI_Request *request,
int *flag, MPI_Status *status);
122int MPI_Test_cancelled(
const MPI_Status *status,
int *flag);
124int MPI_Request_free(MPI_Request *request);
126int MPI_Abort(MPI_Comm comm,
int errorcode);
128MPI_Fint MPI_Comm_c2f(MPI_Comm comm);