MPI_Rsend-Funktion
Führt einen Sendevorgang im bereiten Modus aus und gibt zurück, wenn der Sendepuffer sicher wiederverwendet werden kann.
Syntax
int MPIAPI MPI_Rsend(
_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 Puffer. 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_RSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR
Hinweise
Diese Funktion ist nicht lokal. Diese Funktion gibt zurück, sobald der Sendepuffer wiederverwendet werden kann, und hängt nicht von der status eines übereinstimmenden Empfangsvorgangs ab. Der erfolgreiche Abschluss des gesamten Sendevorgangs hängt jedoch vom Vorhandensein eines übereinstimmenden Empfangsvorgangs ab.
Diese Funktion kann nur aufgerufen werden, wenn der übereinstimmende Empfangsvorgang bereits bereitgestellt wurde. Andernfalls gibt die Funktion einen Fehler zurück, und das Ergebnis ist nicht definiert. Auf einigen Systemen entfällt durch diese Anforderung ein Teil des Handshakings, das in anderen Modi verwendet wird, und kann die Leistung im Vergleich zu standardbasierten oder synchronen Sendevorgängen verbessern.
Die funktion MPI_Rsend verfügt über dieselbe Semantik wie die funktionen MPI_Send und MPI_Ssend , benachrichtigt das System jedoch darüber, dass bereits ein übereinstimmend empfangener Empfang bereitgestellt wurde. Diese Informationen können einen gewissen Mehraufwand sparen. Daher könnte in einem richtigen Programm ein bereiter Sendevorgang durch eine Standardsendung ersetzt werden, ohne dass sich auf das Verhalten des Programms außer der Leistung auswirkt.
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 |