Delen via


MPI_Rsend functie

Voert een verzendbewerking in de modus Gereed uit en retourneert wanneer de verzendbuffer veilig opnieuw kan worden gebruikt.

Syntaxis

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

Parameters

  • buf [in, optioneel]
    Een aanwijzer naar de buffer die de gegevens bevat die moeten worden verzonden.

  • Tellen
    Het aantal elementen in de buffer. Als het gegevensgedeelte van het bericht leeg is, stelt u de parameter count in op 0.

  • Datatype
    Het gegevenstype van de elementen in de buffer.

  • Dest
    De rang van het doelproces binnen de communicator die is opgegeven door de comm parameter.

  • Tag
    De berichttag die kan worden gebruikt om verschillende typen berichten te onderscheiden.

  • Comm
    Het handvat naar de communicator.

Retourwaarde

Retourneert MPI_SUCCESS bij succes. Anders is de retourwaarde een foutcode.

In Fortran wordt de retourwaarde opgeslagen in de parameter IERROR .

Fortran

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

Opmerkingen

Deze functie is niet-lokaal. Deze functie retourneert zodra de verzendbuffer opnieuw kan worden gebruikt en is niet afhankelijk van de status van een overeenkomende ontvangstbewerking. De succesvolle voltooiing van de algehele verzendbewerking is echter afhankelijk van het bestaan van een overeenkomende ontvangstbewerking.

Deze functie kan alleen worden aangeroepen als de overeenkomende ontvangstbewerking al is geboekt. Anders retourneert de functie een fout en is het resultaat niet gedefinieerd. Op sommige systemen elimineert deze vereiste een deel van de handshaking die in andere modi wordt gebruikt, en kan dit de prestaties verbeteren in vergelijking met de standaard- of synchrone verzendbewerkingen.

De functie MPI_Rsend heeft dezelfde semantiek als de functies MPI_Send en MPI_Ssend , maar het systeem wordt gewaarschuwd dat er al een overeenkomende ontvangst is gepost. Deze informatie kan wat overhead besparen. Daarom kan in een correct programma een kant-en-klaar verzenden worden vervangen door een standaardverzending zonder dat dit van invloed is op het gedrag van het programma, behalve de prestaties.

Vereisten

Product

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

Header

Mpi.h; Mpif.h

Bibliotheek

Msmpi.lib

DLL

Msmpi.dll

Zie ook

MPI-punt-naar-puntfuncties

MPI_Send

MPI_Bsend

MPI_Ssend

MPI_Recv