Syntax:
Beim Aufruf von MPI_Irecv wird ein Request-Objekt allociert, welches solange aktiv bleibt, bis die Empfangsoperation beendet ist, d.h. bis die Daten in den Empfangspuffer kopiert sind oder die Operation abgebrochen wurde.
Aufruf:
#include "mpi.h"
int count, myid;
void *buf;
MPI_Datatype datatype;
MPI_Comm comm;
MPI_Status status;
MPI_Request request;
...
MPI_Comm_rank(comm, &myid);
if (myid==0) {
...
MPI_Send(buf, count, datatype, 1, 0, comm);
...
}
if (myid==1) {
...
MPI_Irecv(msg, msglen, MPI_INT, 0, 0, MPI_COMM_WORLD, &request);
...
MPI_Wait(&request, &status);
...
}
...