NewMadeleine

Documentation

« back to PM2 home.
nm_mpi_group.h
Go to the documentation of this file.
1/*
2 * NewMadeleine
3 * Copyright (C) 2006-2024 (see AUTHORS file)
4 *
5 * This program is free software; you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation; either version 2 of the License, or (at
8 * your option) any later version.
9 *
10 * This program is distributed in the hope that it will be useful, but
11 * WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13 * General Public License for more details.
14 */
15
16
17#ifndef NM_MPI_GROUP_H
18#define NM_MPI_GROUP_H
19
21/* @{ */
22
24/* @{ */
25
26
34 int*size);
42 int *rank);
43
52 MPI_Group group2,
53 MPI_Group*newgroup);
54
63 MPI_Group group2,
64 MPI_Group*newgroup);
65
74 MPI_Group group2,
75 MPI_Group*newgroup);
76
85 MPI_Group group2,
86 int*result);
87
97 int n,
98 const int*ranks,
99 MPI_Group*newgroup);
100
110 int n,
111 int ranges[][3],
112 MPI_Group*newgroup);
113
123 int n,
124 const int*ranks,
125 MPI_Group*newgroup);
126
136 int n,
137 int ranges[][3],
138 MPI_Group*newgroup);
139
146
158 int n,
159 const int *ranks1,
160 MPI_Group group2,
161 int *ranks2);
162
163
164/* @}*/
165/* @}*/
166
167#endif /* NM_MPI_GROUP_H */
int MPI_Group_rank(MPI_Group group, int *rank)
Returns the rank of this process in the given group.
int MPI_Group_incl(MPI_Group group, int n, const int *ranks, MPI_Group *newgroup)
Produces a group by reordering an existing group and taking only listed members.
int MPI_Group_range_excl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup)
Produces a group by excluding ranges of processes from an existing group.
int MPI_Group_free(MPI_Group *group)
Frees a group.
int MPI_Group_range_incl(MPI_Group group, int n, int ranges[][3], MPI_Group *newgroup)
Creates a new group from ranges of ranks in an existing group.
int MPI_Group_translate_ranks(MPI_Group group1, int n, const int *ranks1, MPI_Group group2, int *ranks2)
Maps the rank of a set of processes in group1 to their rank in group2.
int MPI_Group_size(MPI_Group group, int *size)
Returns the size of a group.
int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result)
Compares two groups.
int MPI_Group_intersection(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup)
Produces a group as the intersection of two existing groups.
int MPI_Group_union(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup)
Produces a group by combining two groups.
int MPI_Group_excl(MPI_Group group, int n, const int *ranks, MPI_Group *newgroup)
Produces a group by reordering an existing group and taking only unlisted members.
int MPI_Group_difference(MPI_Group group1, MPI_Group group2, MPI_Group *newgroup)
Produces a group from the difference of two groups.
int MPI_Group
Group handle.
nm_len_t size
size of the onsided data (not incuding target-side completion)