CommDist.h 823 Bytes
Newer Older
iker_martin's avatar
iker_martin committed
1
2
3
4
5
#include <stdio.h>
#include <stdlib.h>
#include <mpi.h>
#include <string.h>

6
#define MAL_COMM_COMPLETED 0
7
#define MAL_COMM_UNINITIALIZED 2
8
9
10
11
#define MAL_ASYNC_PENDING 1

#define MAL_USE_NORMAL 0
#define MAL_USE_IBARRIER 1
12
13
#define MAL_USE_POINT 2
#define MAL_USE_THREAD 3
iker_martin's avatar
iker_martin committed
14
15
16
17
18

int send_sync(char *array, int qty, int myId, int numP, int root, MPI_Comm intercomm, int numP_child);
void recv_sync(char **array, int qty, int myId, int numP, int root, MPI_Comm intercomm, int numP_parents);


19
20
int send_async(char *array, int qty, int myId, int numP, int root, MPI_Comm intercomm, int numP_child, MPI_Request **comm_req, int parents_wait);
void recv_async(char **array, int qty, int myId, int numP, int root, MPI_Comm intercomm, int numP_parents, int parents_wait);
21
22


iker_martin's avatar
iker_martin committed
23
void malloc_comm_array(char **array, int qty, int myId, int numP);