NewMadeleine

Documentation

« back to PM2 home.
nm_mpi_req.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_REQ_H
18#define NM_MPI_REQ_H
19
37
47
55
63int MPI_Waitall(int count, MPI_Request*array_of_requests, MPI_Status*array_of_statuses);
64
79int MPI_Waitany(int count, MPI_Request*array_of_requests, int*index, MPI_Status*status);
80
81int MPI_Waitsome(int incount, MPI_Request*array_of_requests, int*outcount, int*array_of_indices, MPI_Status*array_of_statuses);
82
91int MPI_Test(MPI_Request*request, int *flag, MPI_Status*status);
92
103int MPI_Testany(int count, MPI_Request*array_of_requests, int*index, int*flag, MPI_Status*status);
104
115int MPI_Testsome(int count, MPI_Request*array_of_requests, int*outcount, int*indices, MPI_Status*statuses);
124int MPI_Testall(int count, MPI_Request*array_of_requests, int*flag, MPI_Status*statuses);
125
127
128/* @} */
129
131/* @{ */
132
145int MPI_Send_init(const void*buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request*request);
146
147int MPI_Send_init_c(const void*buf, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request*request);
148
149int MPI_Rsend_init(const void*buf, int count, MPI_Datatype datatype,
150 int dest, int tag, MPI_Comm comm, MPI_Request*request);
151
152int MPI_Rsend_init_c(const void*buf, MPI_Count count, MPI_Datatype datatype,
153 int dest, int tag, MPI_Comm comm, MPI_Request*request);
154
155int MPI_Ssend_init(const void*buf, int count, MPI_Datatype datatype,
156 int dest, int tag, MPI_Comm comm, MPI_Request*request);
157
158int MPI_Ssend_init_c(const void*buf, MPI_Count count, MPI_Datatype datatype,
159 int dest, int tag, MPI_Comm comm, MPI_Request*request);
160
172int MPI_Recv_init(void*buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request*request);
173
174int MPI_Recv_init_c(void*buf, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request*request);
175
187
195int MPI_Startall(int count, MPI_Request*array_of_requests);
196
200 MPI_Request*request);
201
203
208
217
219
221
223
225
230#endif /* NM_MPI_REQ_H */
nm_tag_t tag
the user-supplied tag
void * extra_state
MPI_Grequest_cancel_function * cancel_fn
MPI_Grequest_query_function * query_fn
MPI_Grequest_free_function * free_fn
nm_mpi_count_t count
number of elements to be exchanged
nm_mpi_status_t status
status of request
int MPI_Test(MPI_Request *request, int *flag, MPI_Status *status)
Returns flag = true if the operation identified by request is complete.
int MPI_Cancel(MPI_Request *request)
Marks for cancellation a pending, nonblocking communication operation (send or receive).
int MPI_Waitany(int count, MPI_Request *array_of_requests, int *index, MPI_Status *status)
Blocks until one of the operations associated with the active requests in the array has completed.
int MPI_Get_elements_c(const MPI_Status *status, MPI_Datatype datatype, MPI_Count *count)
int MPI_Status_set_cancelled(MPI_Status *status, int flag)
int MPI_Get_count_c(const MPI_Status *status, MPI_Datatype datatype, MPI_Count *count)
int MPI_Status_set_elements_x(MPI_Status *status, MPI_Datatype datatype, MPI_Count count)
int MPI_Wait(MPI_Request *request, MPI_Status *status)
Returns when the operation identified by request is complete.
int MPI_Testall(int count, MPI_Request *array_of_requests, int *flag, MPI_Status *statuses)
Tests for the completion of all previously initiated requests.
int MPI_Status_set_elements(MPI_Status *status, MPI_Datatype datatype, int count)
int MPI_Status_set_elements_c(MPI_Status *status, MPI_Datatype datatype, MPI_Count count)
int MPI_Testany(int count, MPI_Request *array_of_requests, int *index, int *flag, MPI_Status *status)
Tests for completion of one communication operation associated with requests in the array.
int MPI_Request_free(MPI_Request *request)
Marks the request object for deallocation and set request to MPI_REQUEST_NULL.
int MPI_Rsend_init_c(const void *buf, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Send_init_c(const void *buf, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Ssend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Test_cancelled(const MPI_Status *status, int *flag)
int MPI_Ssend_init_c(const void *buf, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Get_elements(const MPI_Status *status, MPI_Datatype datatype, int *count)
int MPI_Send_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
Creates a persistent communication request for a standard mode send operation, and binds to it all th...
int MPI_Recv_init(void *buf, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request)
Creates a persistent communication request for a receive operation.
int MPI_Recv_init_c(void *buf, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Get_count(const MPI_Status *status, MPI_Datatype datatype, int *count)
Computes the number of entries received.
int MPI_Testsome(int count, MPI_Request *array_of_requests, int *outcount, int *indices, MPI_Status *statuses)
Tests for completion of several communication operations associated with requests in the array.
int MPI_Grequest_start(MPI_Grequest_query_function *query_fn, MPI_Grequest_free_function *free_fn, MPI_Grequest_cancel_function *cancel_fn, void *extra_state, MPI_Request *request)
int MPI_Waitsome(int incount, MPI_Request *array_of_requests, int *outcount, int *array_of_indices, MPI_Status *array_of_statuses)
int MPI_Waitall(int count, MPI_Request *array_of_requests, MPI_Status *array_of_statuses)
Returns when all the operations identified by requests are complete.
int MPI_Get_elements_x(const MPI_Status *status, MPI_Datatype datatype, MPI_Count *count)
int MPI_Start(MPI_Request *request)
Initiates a persistent request.
int MPI_Grequest_complete(MPI_Request request)
int MPI_Rsend_init(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Startall(int count, MPI_Request *array_of_requests)
Start all communications associated with requests in array_of_requests.
int MPI_Grequest_free_function(void *extra_state)
int MPI_Request
Request handle.
int MPI_Grequest_cancel_function(void *extra_state, int complete)
int MPI_Comm
Communicator handle.
int MPI_Grequest_query_function(void *extra_state, MPI_Status *status)
nm_mpi_count_t MPI_Count
public type for counts
int MPI_Datatype
Datatype handle.
Status handle.