funktionen MPI_Rsend

Utför en sändningsåtgärd i klart läge och returnerar när sändningsbufferten kan återanvändas på ett säkert sätt.

Syntax

int MPIAPI MPI_Rsend(
  _In_opt_ void         *buf,
           int          count,
           MPI_Datatype datatype,
           int          dest,
           int          tag,
           MPI_Comm     comm
);

Parametrar

  • buf [in, valfritt]
    En pekare till bufferten som innehåller de data som ska skickas.

  • Räkna
    Antalet element i bufferten. Om datadelen i meddelandet är tom anger du parametern count till 0.

  • Datatyp
    Datatypen för elementen i bufferten.

  • Dest
    Rangordningen för målprocessen i kommunikatören som anges av comm-parametern .

  • Etiketten
    Den meddelandetagg som kan användas för att särskilja olika typer av meddelanden.

  • Comm
    Handtaget till kommunikatören.

Returvärde

Returnerar MPI_SUCCESS vid lyckat resultat. Annars är returvärdet en felkod.

I Fortran lagras returvärdet i parametern IERROR .

Fortran

    MPI_RSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR

Kommentarer

Den här funktionen är inte lokal. Den här funktionen returneras så snart som sändningsbufferten kan återanvändas och är inte beroende av statusen för en matchande mottagningsåtgärd. Men slutförandet av den övergripande sändningsåtgärden beror på förekomsten av en matchande mottagningsåtgärd.

Den här funktionen kan bara anropas om matchande mottagningsåtgärd redan har bokförts. Annars returnerar funktionen ett fel och resultatet är odefinierat. I vissa system eliminerar det här kravet en del av handskakningen som används i andra lägen och kan förbättra prestanda jämfört med standardåtgärder eller synkrona sändningsåtgärder.

Funktionen MPI_Rsend har samma semantik som funktionerna MPI_Send och MPI_Ssend , men meddelar systemet att en matchande mottagning redan har bokförts. Den informationen kan spara lite omkostnader. I ett korrekt program kan därför en klar sändning ersättas med en standardsändning utan att det påverkar programmets beteende annat än prestanda.

Krav

Produkt

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package eller HPC Pack 2008 Client Utilities

Huvud

Mpi.h; Mpif.h

Bibliotek

Msmpi.lib

DLL

Msmpi.dll

Se även

MPI punkt-till-punkt-funktioner

MPI_Send

MPI_Bsend

MPI_Ssend

MPI_Recv