MPI_Ibcast-Funktion
Sendet eine Nachricht aus dem Prozess mit rang "root" an alle anderen Prozesse des Communicators auf nicht blockierende Weise.
Syntax
int MPIAPI MPI_Ibcast(
_Inout_ void *buffer,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parameter
Puffer [in, out]
Der Zeiger auf den Datenpuffer. Bei dem prozess, der durch den Root Parameter angegeben wird, enthält der Puffer die zu übertragenden Daten. Bei allen anderen Prozessen im Communicator, die vom comm Parameter angegeben wird, empfängt der Puffer die Datenübertragung durch den Stammprozess. Puffer besteht aus Anzahl aufeinander folgenden Elementen der MPI_Datatype, die durch den Datentyp Handle angegeben sind. Die Länge der Nachricht wird in Bezug auf die Anzahl der Elemente angegeben, nicht die Anzahl der Bytes.anzahl [in]
Die Anzahl der Datenelemente im Puffer. Wenn die anzahl Parameter null ist, ist der Datenteil der Nachricht leer.Datentyp [in]
Das MPI_Datatype Handle, das den Datentyp jedes Elements in Puffer-darstellt.Stamm- [in]
Der Rang des Prozesses innerhalb des MPI_Commcomm sendenden Puffers.comm [in]
Das MPI_Comm Communicator-Handle.Anforderung [out]
MPI_Request Handle, das den Kommunikationsvorgang darstellt..
Rückgabewert
Gibt MPI_SUCCESS bei Erfolg zurück. Andernfalls ist der Rückgabewert ein Fehlercode.
In Fortran wird der Rückgabewert im IERROR Parameter gespeichert.
Fortran
MPI_IBCAST(BUFFER, COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR)
<type> BUFFER(*)
INTEGER COUNT, DATATYPE, ROOT, COMM, REQUEST, IERROR
Bemerkungen
Ein nicht blockierende Anruf initiiert einen kollektiven Übertragungsvorgang, der in einem separaten Abschlussaufruf abgeschlossen werden muss. Sobald der Vorgang initiiert wurde, kann der Vorgang unabhängig von jeder Berechnung oder anderen Kommunikation an teilnehmenden Prozessen vorankommen. Auf diese Weise können nicht blockierende Übertragungsvorgänge mögliche Synchronisierungseffekte von Übertragungsvorgängen mindern, indem sie im "Hintergrund" ausgeführt werden.
Alle Abschlussaufrufe (z. B. MPI_Wait) werden für nicht blockierende Übertragungsvorgänge unterstützt.
Anforderungen
Produkt |
Microsoft MPI v6 |
Kopfball |
Mpi.h; Mpif.h |
Bibliothek |
Msmpi.lib |
DLL |
Msmpi.dll |