Funktionsübersicht . . Nicht-blockierende Kommunikation

Hilfesystem für den Message Passing Interface Standard MPI


MPI_Irecv

Startet eine nicht-blockierende Empfangsoperation

Syntax:

Input Parameter: Output Parameter: Anmerkung:

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);
        ...
    }
    ...