NewMadeleine

Documentation

« back to PM2 home.
nm_mpi_p2p.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_P2P_H
18#define NM_MPI_P2P_H
19
40int MPI_Send(const void*buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm);
41
42int MPI_Send_c(const void*buffer, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm);
43
44
56int MPI_Isend(const void*buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request);
57
58int MPI_Isend_c(const void*buffer, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request);
59
60int MPI_Issend(const void*buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request);
61
62int MPI_Issend_c(const void*buf, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request);
63
74int MPI_Rsend(const void*buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm);
75
76int MPI_Rsend_c(const void*buffer, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm);
77
88int MPI_Ssend(const void*buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm);
89
90int MPI_Ssend_c(const void*buffer, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm);
91
92int MPI_Bsend(const void *buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm);
93
94int MPI_Bsend_c(const void *buffer, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm);
95
96int MPI_Irsend(const void*buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request*request);
97int MPI_Irsend_c(const void*buf, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request*request);
98
110int MPI_Recv(void*buffer, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status*status);
111
112int MPI_Recv_c(void*buffer, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status*status);
113
125int MPI_Irecv(void*buffer, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request*request);
126
127int MPI_Irecv_c(void*buffer, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request*request);
128
129
146int MPI_Sendrecv(const void*sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag,
147 void*recvbuf, int recvcount, MPI_Datatype recvtype, int source, int recvtag,
149
150int MPI_Sendrecv_c(const void*sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, int dest, int sendtag,
151 void*recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int source, int recvtag,
153
154int MPI_Sendrecv_replace(void*buf, int count, MPI_Datatype datatype, int dest, int sendtag, int source, int recvtag,
156
157int MPI_Sendrecv_replace_c(void*buf, MPI_Count count, MPI_Datatype datatype, int dest, int sendtag, int source, int recvtag,
159
160
161
173int MPI_Iprobe(int source, int tag, MPI_Comm comm, int*flag, MPI_Status*status);
174
184int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status*status);
185
186int MPI_Improbe(int source, int tag, MPI_Comm comm, int*flag, MPI_Message*message, MPI_Status*status);
187
188int MPI_Mprobe(int source, int tag, MPI_Comm comm, MPI_Message*message, MPI_Status*status);
189
190int MPI_Mrecv(void*buf, int count, MPI_Datatype datatype, MPI_Message*message, MPI_Status*status);
191
193
194int MPI_Imrecv(void* buf, int count, MPI_Datatype datatype, MPI_Message*message, MPI_Request*request);
195
196int MPI_Imrecv_c(void* buf, MPI_Count count, MPI_Datatype datatype, MPI_Message*message, MPI_Request*request);
197
198
199/* ** Partitioned communication **************************** */
200
201int MPI_Psend_init(const void*buf, int partitions, MPI_Count count,
202 MPI_Datatype datatype, int dest, int tag, MPI_Comm comm,
203 MPI_Info info, MPI_Request*request);
205 MPI_Datatype datatype, int source, int tag, MPI_Comm comm,
206 MPI_Info info, MPI_Request*request);
207int MPI_Pready(int partition, MPI_Request request);
208int MPI_Pready_range(int partition_low, int partition_high, MPI_Request request);
209int MPI_Pready_list(int length, const int array_of_partitions[], MPI_Request request);
210int MPI_Parrived(MPI_Request request, int partition, int*flag);
211
212
219#endif /* NM_MPI_P2P_H */
nm_tag_t tag
the user-supplied tag
int MPI_Ssend(const void *buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
Performs a synchronous-mode, blocking send.
int MPI_Mrecv_c(void *buf, MPI_Count count, MPI_Datatype datatype, MPI_Message *message, MPI_Status *status)
int MPI_Pready_range(int partition_low, int partition_high, MPI_Request request)
int MPI_Sendrecv_c(const void *sendbuf, MPI_Count sendcount, MPI_Datatype sendtype, int dest, int sendtag, void *recvbuf, MPI_Count recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status *status)
int MPI_Sendrecv_replace_c(void *buf, MPI_Count count, MPI_Datatype datatype, int dest, int sendtag, int source, int recvtag, MPI_Comm comm, MPI_Status *status)
int MPI_Mrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, MPI_Status *status)
int MPI_Improbe(int source, int tag, MPI_Comm comm, int *flag, MPI_Message *message, MPI_Status *status)
int MPI_Iprobe(int source, int tag, MPI_Comm comm, int *flag, MPI_Status *status)
Nonblocking operation that returns flag = true if there is a message that can be received and that ma...
int MPI_Pready_list(int length, const int array_of_partitions[], MPI_Request request)
int MPI_Psend_init(const void *buf, int partitions, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Send(const void *buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
Performs a standard-mode, blocking send.
int MPI_Pready(int partition, MPI_Request request)
int MPI_Mprobe(int source, int tag, MPI_Comm comm, MPI_Message *message, MPI_Status *status)
int MPI_Sendrecv(const void *sendbuf, int sendcount, MPI_Datatype sendtype, int dest, int sendtag, void *recvbuf, int recvcount, MPI_Datatype recvtype, int source, int recvtag, MPI_Comm comm, MPI_Status *status)
Executes a blocking send and receive operation.
int MPI_Imrecv(void *buf, int count, MPI_Datatype datatype, MPI_Message *message, MPI_Request *request)
int MPI_Imrecv_c(void *buf, MPI_Count count, MPI_Datatype datatype, MPI_Message *message, MPI_Request *request)
int MPI_Isend_c(const void *buffer, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Ssend_c(const void *buffer, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
int MPI_Parrived(MPI_Request request, int partition, int *flag)
int MPI_Irecv_c(void *buffer, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Irsend_c(const void *buf, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Bsend(const void *buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
int MPI_Recv_c(void *buffer, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status)
int MPI_Rsend_c(const void *buffer, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
int MPI_Irecv(void *buffer, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Request *request)
Posts a nonblocking receive.
int MPI_Probe(int source, int tag, MPI_Comm comm, MPI_Status *status)
Blocks and returns only after a message that matches the message envelope specified by source,...
int MPI_Rsend(const void *buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
Performs a ready-mode, blocking send.
int MPI_Recv(void *buffer, int count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Status *status)
Performs a standard-mode, blocking receive.
int MPI_Send_c(const void *buffer, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
int MPI_Issend_c(const void *buf, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Isend(const void *buffer, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
Posts a standard-mode, non blocking send.
int MPI_Sendrecv_replace(void *buf, int count, MPI_Datatype datatype, int dest, int sendtag, int source, int recvtag, MPI_Comm comm, MPI_Status *status)
int MPI_Bsend_c(const void *buffer, MPI_Count count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm)
int MPI_Precv_init(void *buf, int partitions, MPI_Count count, MPI_Datatype datatype, int source, int tag, MPI_Comm comm, MPI_Info info, MPI_Request *request)
int MPI_Irsend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
int MPI_Issend(const void *buf, int count, MPI_Datatype datatype, int dest, int tag, MPI_Comm comm, MPI_Request *request)
nm_mpi_count_t recvcount
int partitions
number of partitions
const void * sendbuf
void * recvbuf
nm_mpi_count_t sendcount
nm_mpi_count_t count
number of elements to be exchanged
nm_mpi_status_t status
status of request
int MPI_Request
Request handle.
int MPI_Message
handle for matching probe
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.
Status handle.