-
Notifications
You must be signed in to change notification settings - Fork 0
/
mpiortholib.h
101 lines (90 loc) · 4.06 KB
/
mpiortholib.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
/* Jesper Larsson Traff, January 2021 */
#define TUW_ROWMAJOR 1
#define TUW_COLMAJOR 2
#define TUW_MANHATTAN_DISTANCE 1
#define TUW_CHEBYCHEV_DISTANCE 2
int TUW_Comm_base(MPI_Comm comm, MPI_Comm *basecomm);
int TUW_Cart_name(MPI_Comm comm,
int d, int dimorder, int order[], int periodic[], int *size);
int TUW_Cart_test(MPI_Comm cart, int *flag, int *d, int *size);
int TUW_Cart_testall(MPI_Comm cart, int *flag, int *d, int *size);
int TUW_Cart_get(MPI_Comm cart, int *dimorder,
int maxd, int order[], int periodic[]);
int TUW_Cart_rank(MPI_Comm cart, int coordinates[], int *rank);
int TUW_Cart_coordinates(MPI_Comm cart, int rank, int coordinates[]);
int TUW_Cart_relative_rank(MPI_Comm cart, int source, int relative[],
int *rank);
int TUW_Cart_relative_coordinates(MPI_Comm cart, int source, int dest,
int relative[]);
int TUW_Cart_relative_shift(MPI_Comm cart, int rank, int relative[],
int *inrank, int *outrank);
int TUW_Cart_allranks(MPI_Comm cart, int n, int coordinates[], int ranks[]);
int TUW_Cart_allranks_relative(MPI_Comm cart, int source,
int n, int reatives[], int ranks[]);
int TUW_Cart_neighbors_count(MPI_Comm cart, int rank,
int metric, int shadow, int depth, int *size);
int TUW_Cart_neighbors(MPI_Comm cart, int rank,
int metric, int shadow, int depth, int maxsize,
int neighbors[]);
int TUW_Cart_stencil_count(MPI_Comm cart, int metric, int depth, int *size);
int TUW_Cart_stencil(MPI_Comm cart, int metric, int depth,
int maxsize, int coordinates[]);
int TUW_Cart_stencil_diff(MPI_Comm cart,
int n0, int coordinates0[],
int n1, int coordinates1[],
int *n, int coordinates[]);
int TUW_Cart_create_sub(MPI_Comm cart, int dimension[], MPI_Comm *subcart);
int TUW_Comm_subgraph(MPI_Comm distcomm, MPI_Comm subcomm,
MPI_Comm *subdistcomm);
// "hidden" predicate
int tuw_isCartesian(MPI_Comm comm, MPI_Comm cart);
// The collectives
int TUW_Barrier(MPI_Comm comm);
int TUW_Bcast(void *buffer, int count, MPI_Datatype datatype, int root,
MPI_Comm comm);
int TUW_Gather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
void *recvbuf, int recvcount, MPI_Datatype recvtype, int root,
MPI_Comm comm);
int TUW_Gatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
void *recvbuf, int recvcounts[], int recvdispls[],
MPI_Datatype recvtype, int root,
MPI_Comm comm);
int TUW_Scatter(void *sendbuf, int sendcount, MPI_Datatype sendtype,
void *recvbuf, int recvcount, MPI_Datatype recvtype, int root,
MPI_Comm comm);
int TUW_Scatterv(void *sendbuf, int sendcounts[], int senddispls[],
MPI_Datatype sendtype,
void *recvbuf, int recvcount, MPI_Datatype recvtype, int root,
MPI_Comm comm);
int TUW_Allgather(void *sendbuf, int sendcount, MPI_Datatype sendtype,
void *recvbuf, int recvcount, MPI_Datatype recvtype,
MPI_Comm comm);
int TUW_Allgatherv(void *sendbuf, int sendcount, MPI_Datatype sendtype,
void *recvbuf, int recvcounts[], int recvdispls[],
MPI_Datatype recvtype,
MPI_Comm comm);
int TUW_Alltoall(void *sendbuf, int sendcount, MPI_Datatype sendtype,
void *recvbuf, int recvcount, MPI_Datatype recvtype,
MPI_Comm comm);
int TUW_Alltoallv(void *sendbuf, int sendcounts[], int senddispls[],
MPI_Datatype sendtype,
void *recvbuf, int recvcounts[], int recvdispls[],
MPI_Datatype recvtype,
MPI_Comm comm);
int TUW_Alltoallw(void *sendbuf, int sendcounts[], MPI_Aint senddispls[],
MPI_Datatype sendtypes[],
void *recvbuf, int recvcounts[], MPI_Aint recvdispls[],
MPI_Datatype recvtypes[],
MPI_Comm comm);
int TUW_Reduce(void *sendbuf,
void *recvbuf, int count, MPI_Datatype datatype,
MPI_Op op, int root, MPI_Comm comm);
int TUW_Allreduce(void *sendbuf,
void *recvbuf, int count, MPI_Datatype datatype,
MPI_Op op, MPI_Comm comm);
int TUW_Reduce_scatter_block(void *sendbuf,
void *recvbuf, int count, MPI_Datatype datatype,
MPI_Op op, MPI_Comm comm);
int TUW_Reduce_scatter(void *sendbuf,
void *recvbuf, int counts[], MPI_Datatype datatype,
MPI_Op op, MPI_Comm comm);