NewMadeleine

Documentation

« back to PM2 home.
nm_mpi_collective.h
Go to the documentation of this file.
1/*
2 * NewMadeleine
3 * Copyright (C) 2006-2026 (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_COLLECTIVE_H
18#define NM_MPI_COLLECTIVE_H
19
33typedef void MPI_User_function(void*invec, void*inoutvec, int*len, MPI_Datatype*datatype);
34
35typedef void MPI_User_function_c(void*invec, void*inoutvec, MPI_Count*len, MPI_Datatype*datatype);
36
43
45
47
58int MPI_Bcast(void*buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm);
59
60int MPI_Bcast_c(void*buffer, MPI_Count count, MPI_Datatype datatype, int root, MPI_Comm comm);
61
62int MPI_Ibcast(void*buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Request*request);
63
64int MPI_Ibcast_c(void*buffer, MPI_Count count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Request*request);
65
66int MPI_Bcast_init(void*buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request*request);
67
68int MPI_Bcast_init_c(void*buffer, MPI_Count count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request*request);
69
83int MPI_Gather(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
84 void*recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm);
85
87 void*recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm);
88
89int MPI_Igather(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
90 void*recvbuf, int recvcount, MPI_Datatype recvtype,
91 int root, MPI_Comm comm, MPI_Request*request);
92
95 int root, MPI_Comm comm, MPI_Request*request);
96
97int MPI_Gather_init(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
98 void*recvbuf, int recvcount, MPI_Datatype recvtype,
99 int root, MPI_Comm comm, MPI_Info info, MPI_Request*request);
100
102 void*recvbuf, MPI_Count recvcount, MPI_Datatype recvtype,
103 int root, MPI_Comm comm, MPI_Info info, MPI_Request*request);
104
124int MPI_Gatherv(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
125 void*recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype,
126 int root, MPI_Comm comm);
127
129 void*recvbuf, const MPI_Count recvcounts[], const MPI_Aint displs[], MPI_Datatype recvtype,
130 int root, MPI_Comm comm);
131
144int MPI_Allgather(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
145 void*recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm);
146
148 void*recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, MPI_Comm comm);
149
150int MPI_Iallgather(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
151 void*recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request*request);
152
154 void*recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request*request);
155
156int MPI_Allgather_init(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
157 void*recvbuf, int recvcount, MPI_Datatype recvtype,
158 MPI_Comm comm, MPI_Info info, MPI_Request*request);
159
161 void*recvbuf, MPI_Count recvcount, MPI_Datatype recvtype,
162 MPI_Comm comm, MPI_Info info, MPI_Request*request);
163
177int MPI_Allgatherv(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
178 void*recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm);
179
181 void*recvbuf, const MPI_Count recvcounts[], const MPI_Aint displs[], MPI_Datatype recvtype, MPI_Comm comm);
182
195int MPI_Scatter(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
196 void*recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm);
197
199 void*recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm);
200
201int MPI_Scatterv(const void*sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype,
202 void*recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm);
203
204int MPI_Scatterv_c(const void*sendbuf, const MPI_Count sendcounts[], const MPI_Aint displs[], MPI_Datatype sendtype,
205 void*recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm);
206
207int MPI_Iscatter(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
208 void*recvbuf, int recvcount, MPI_Datatype recvtype, int root,
209 MPI_Comm comm, MPI_Request*request);
210
212 void*recvbuf, MPI_Count recvcount, MPI_Datatype recvtype,
213 int root, MPI_Comm comm, MPI_Request*request);
214
215int MPI_Scatter_init(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
216 void*recvbuf, int recvcount, MPI_Datatype recvtype, int root,
217 MPI_Comm comm, MPI_Info info, MPI_Request*request);
218
220 void*recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root,
221 MPI_Comm comm, MPI_Info info, MPI_Request*request);
222
237int MPI_Alltoall(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
238 void*recvbuf, int recvcount, MPI_Datatype recvType, MPI_Comm comm);
239
241 void*recvbuf, MPI_Count recvcount, MPI_Datatype recvType, MPI_Comm comm);
242
243int MPI_Ialltoall(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
244 void*recvbuf, int recvcount, MPI_Datatype recvType, MPI_Comm comm, MPI_Request*request);
245
247 void*recvbuf, MPI_Count recvcount, MPI_Datatype recvType, MPI_Comm comm, MPI_Request*request);
248
249int MPI_Alltoall_init(const void*sendbuf, int sendcount, MPI_Datatype sendtype,
250 void*recvbuf, int recvcount, MPI_Datatype recvtype,
251 MPI_Comm comm, MPI_Info info, MPI_Request*request);
252
254 void*recvbuf, MPI_Count recvcount, MPI_Datatype recvtype,
255 MPI_Comm comm, MPI_Info info, MPI_Request*request);
256
257
278int MPI_Alltoallv(const void*sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
279 void*recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvType, MPI_Comm comm);
280
281int MPI_Alltoallv_c(const void*sendbuf, const MPI_Count sendcounts[], const MPI_Aint sdispls[], MPI_Datatype sendtype,
282 void*recvbuf, const MPI_Count recvcounts[], const MPI_Aint rdispls[], MPI_Datatype recvType, MPI_Comm comm);
283
284int MPI_Ialltoallv(const void*sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
285 void*recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
286 MPI_Comm comm, MPI_Request*request);
287
288int MPI_Ialltoallv_c(const void*sendbuf, const MPI_Count sendcounts[], const MPI_Aint sdispls[], MPI_Datatype sendtype,
289 void*recvbuf, const MPI_Count recvcounts[], const MPI_Aint rdispls[], MPI_Datatype recvtype,
290 MPI_Comm comm, MPI_Request*request);
291
292int MPI_Alltoallv_init(const void*sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype,
293 void*recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype,
294 MPI_Comm comm, MPI_Info info, MPI_Request*request);
295
296int MPI_Alltoallv_init_c(const void*sendbuf, const MPI_Count sendcounts[], const MPI_Aint sdispls[], MPI_Datatype sendtype,
297 void*recvbuf, const MPI_Count recvcounts[], const MPI_Aint rdispls[], MPI_Datatype recvtype,
298 MPI_Comm comm, MPI_Info info, MPI_Request*request);
299
308int MPI_Op_create(MPI_User_function*function, int commute, MPI_Op*op);
309
310int MPI_Op_create_c(MPI_User_function_c*function, int commute, MPI_Op*op);
311
318
332int MPI_Reduce(const void*sendbuf, void*recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm);
333
334int MPI_Reduce_c(const void*sendbuf, void*recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm);
335
336int MPI_Ireduce(const void*sendbuf, void*recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Request*request);
337
338int MPI_Ireduce_c(const void*sendbuf, void*recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Request*request);
339
340int MPI_Reduce_init(const void*sendbuf, void*recvbuf, int count, MPI_Datatype datatype,
341 MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request*request);
342
344 MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request*request);
345
346int MPI_Reduce_local(const void*sendbuf, void*recvbuf, int count, MPI_Datatype datatype, MPI_Op op);
347
349
350
351int MPI_Scan(const void*sendbuf, void*recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
352
353int MPI_Scan_c(const void*sendbuf, void*recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
354
367int MPI_Allreduce(const void*sendbuf, void*recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
368
369int MPI_Allreduce_c(const void*sendbuf, void*recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
370
371int MPI_Iallreduce(const void*sendbuf, void*recvbuf, int count, MPI_Datatype datatype,
372 MPI_Op op, MPI_Comm comm, MPI_Request*request);
373
375 MPI_Op op, MPI_Comm comm, MPI_Request*request);
376
377int MPI_Allreduce_init(const void*sendbuf, void*recvbuf, int count, MPI_Datatype datatype,
378 MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request*request);
379
381 MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request*request);
382
401int MPI_Reduce_scatter(const void*sendbuf, void*recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
402
403int MPI_Reduce_scatter_c(const void*sendbuf, void*recvbuf, const MPI_Count recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
404
406 MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
407
409 MPI_Datatype datatype, MPI_Op op, MPI_Comm comm);
410
415#endif /* NM_MPI_COLLECTIVE_H */
uint16_t len
chunk len
Definition nm_headers.h:0
int MPI_Op_free(MPI_Op *op)
Marks a user-defined reduction operation for deallocation.
int MPI_Igather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request)
int MPI_Reduce_scatter(const void *sendbuf, void *recvbuf, const int recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
First does an element-wise reduction on vector of elements in the send buffer defined by sendbuf,...
int MPI_Op_create_c(MPI_User_function_c *function, int commute, MPI_Op *op)
int MPI_Gather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Iscatter_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request)
int MPI_Ireduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Request *request)
int MPI_Iallgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request)
int MPI_Ialltoallv_c(const void *sendbuf, const MPI_Count sendcounts[], const MPI_Aint sdispls[], MPI_Datatype sendtype, void *recvbuf, const MPI_Count recvcounts[], const MPI_Aint rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request)
int MPI_Allgather_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Op_create(MPI_User_function *function, int commute, MPI_Op *op)
Binds a user-defined global operation to an op handle that can subsequently used in a global reductio...
int MPI_Alltoallv_init_c(const void *sendbuf, const MPI_Count sendcounts[], const MPI_Aint sdispls[], MPI_Datatype sendtype, void *recvbuf, const MPI_Count recvcounts[], const MPI_Aint rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Reduce_c(const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
int MPI_Allgather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm)
Extends the functionality of MPI_Gather(), except all processes receive the result.
int MPI_Allreduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Scatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
Inverse operation of MPI_Gather()
int MPI_Allgather_init_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Scatter_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
void MPI_User_function(void *invec, void *inoutvec, int *len, MPI_Datatype *datatype)
User combination function for reduction.
int MPI_Scatterv_c(const void *sendbuf, const MPI_Count sendcounts[], const MPI_Aint displs[], MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int MPI_Bcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm)
Broadcasts a message from the process with rank root to all processes of the group,...
int MPI_Barrier(MPI_Comm comm)
Blocks the caller until all group members have called the routine.
int MPI_Allgather_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, MPI_Comm comm)
int MPI_Iallgather_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request)
int MPI_Ialltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Request *request)
int MPI_Ibarrier(MPI_Comm comm, MPI_Request *request)
int MPI_Scatter_init_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Allgatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, MPI_Comm comm)
Extends the functionality of MPI_Gatherv(), except all processes receive the result.
int MPI_Ibcast_c(void *buffer, MPI_Count count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Request *request)
int MPI_Alltoall_init_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Ialltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvType, MPI_Comm comm, MPI_Request *request)
int MPI_Reduce_scatter_block_c(const void *sendbuf, void *recvbuf, MPI_Count recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
int MPI_Reduce_scatter_c(const void *sendbuf, void *recvbuf, const MPI_Count recvcounts[], MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
int MPI_Scan(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
int MPI_Reduce_init_c(const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Gather_init_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Reduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
Combines the elements provided in the input buffer of each process in the group, using the operation ...
int MPI_Reduce_local_c(const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op)
int MPI_Scatter_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Alltoallv_init(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Iallreduce_c(const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request)
int MPI_Alltoall_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvType, MPI_Comm comm)
int MPI_Gatherv_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, const MPI_Count recvcounts[], const MPI_Aint displs[], MPI_Datatype recvtype, int root, MPI_Comm comm)
int MPI_Reduce_init(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Iscatter(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request)
int MPI_Allreduce_init_c(const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Igather_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm, MPI_Request *request)
void MPI_User_function_c(void *invec, void *inoutvec, MPI_Count *len, MPI_Datatype *datatype)
int MPI_Ireduce_c(const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm, MPI_Request *request)
int MPI_Gather_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
int MPI_Scan_c(const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
int MPI_Gather(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
Each process sends the contents of its send buffer to the root process.
int MPI_Iallreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm, MPI_Request *request)
int MPI_Ibcast(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Request *request)
int MPI_Reduce_local(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op)
int MPI_Gatherv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int displs[], MPI_Datatype recvtype, int root, MPI_Comm comm)
Extends the functionality of MPI_Gather() by allowing a varying count of data.
int MPI_Bcast_init_c(void *buffer, MPI_Count count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Reduce_scatter_block(const void *sendbuf, void *recvbuf, int recvcount, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
int MPI_Alltoall(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvType, MPI_Comm comm)
Extension of MPI_Allgather() to the case where each process sends distinct data to each of the receiv...
int MPI_Bcast_c(void *buffer, MPI_Count count, MPI_Datatype datatype, int root, MPI_Comm comm)
int MPI_Ialltoall_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvType, MPI_Comm comm, MPI_Request *request)
int MPI_Allgatherv_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, void *recvbuf, const MPI_Count recvcounts[], const MPI_Aint displs[], MPI_Datatype recvtype, MPI_Comm comm)
int MPI_Alltoallv(const void *sendbuf, const int sendcounts[], const int sdispls[], MPI_Datatype sendtype, void *recvbuf, const int recvcounts[], const int rdispls[], MPI_Datatype recvType, MPI_Comm comm)
Adds flexibility to MPI_Alltoall() in that the location of data for the send is specified by sdispls ...
int MPI_Allreduce(const void *sendbuf, void *recvbuf, int count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
Combines the elements provided in the input buffer of each process in the group, using the operation ...
int MPI_Bcast_init(void *buffer, int count, MPI_Datatype datatype, int root, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Barrier_init(MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Alltoall_init(const void *sendbuf, int sendcount, MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Alltoallv_c(const void *sendbuf, const MPI_Count sendcounts[], const MPI_Aint sdispls[], MPI_Datatype sendtype, void *recvbuf, const MPI_Count recvcounts[], const MPI_Aint rdispls[], MPI_Datatype recvType, MPI_Comm comm)
int MPI_Allreduce_c(const void *sendbuf, void *recvbuf, MPI_Count count, MPI_Datatype datatype, MPI_Op op, MPI_Comm comm)
int MPI_Scatterv(const void *sendbuf, const int sendcounts[], const int displs[], MPI_Datatype sendtype, void *recvbuf, int recvcount, MPI_Datatype recvtype, int root, MPI_Comm comm)
nm_mpi_count_t recvcount
int root
const void * sendbuf
void * recvbuf
nm_mpi_count_t sendcount
nm_mpi_count_t count
number of elements to be exchanged
int MPI_Op
Operator handle.
int MPI_Request
Request handle.
nm_mpi_aint_t MPI_Aint
type that holds an address
int MPI_Comm
Communicator handle.
int MPI_Info
An info opaque object.
nm_mpi_count_t MPI_Count
public type for counts
int MPI_Datatype
Datatype handle.