Freigeben über


MPI_Bsend-Funktion

Sendet Daten im gepufferten Modus an einen angegebenen Prozess. Diese Funktion gibt zurück, wenn der Sendepuffer sicher wiederverwendet werden kann.

Syntax

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

Parameter

  • buf [in, optional]
    Ein Zeiger auf den Puffer, der die zu sendenden Daten enthält.

  • count
    Die Anzahl der Elemente im Pufferarray. Wenn der Datenteil der Nachricht leer ist, legen Sie den count-Parameter auf 0 fest.

  • datatype
    Der Datentyp der Elemente im Puffer.

  • Dest
    Der Rang des Zielprozesses innerhalb des Communicators, der durch den comm-Parameter angegeben wird.

  • tag
    Das Nachrichtentag, mit dem verschiedene Nachrichtentypen unterschieden werden können.

  • comm
    Das Handle für den Communicator.

Rückgabewert

Gibt MPI_SUCCESS nach Erfolg zurück. Andernfalls ist der Rückgabewert ein Fehlercode.

In Fortran wird der Rückgabewert im IERROR-Parameter gespeichert.

Fortran

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

Hinweise

Diese Funktion ist lokal und kann den Sendevorgang ohne das Auftreten eines übereinstimmenden Empfangsvorgangs erfolgreich abschließen.

Diese Funktion kann unabhängig davon gestartet werden, ob ein übereinstimmende Empfangsvorgang gepostet wurde oder nicht. Der Sendevorgang kann abgeschlossen werden, bevor ein übereinstimmend empfangener Empfang bereitgestellt wird. Dessen Abschluss hängt nicht vom Auftreten eines übereinstimmenden Empfangsvorgangs ab. Wenn Sie diese Funktion aufrufen und kein übereinstimmende Empfangsvorgang bereitgestellt wird, muss die MPI-Implementierung die ausgehende Nachricht puffern, damit der Sendeaufruf zurückgegeben werden kann.

Diese Funktion gibt einen Fehler zurück, wenn nicht genügend Pufferspeicherplatz vorhanden ist. Die Menge des verfügbaren Pufferspeichers wird vom Benutzer mithilfe der funktion MPI_Buffer_attach gesteuert.

Anforderungen

Produkt

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

Header

Mpi.h; Mpif.h

Bibliothek

Msmpi.lib

DLL

Msmpi.dll

Weitere Informationen

MPI-Punkt-zu-Punkt-Funktionen

MPI_Buffer_attach

MPI_Send

MPI_Ssend

MPI_Rsend

MPI_Recv