Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Samlar in data från alla medlemmar i en grupp till en medlem på ett icke-blockerande sätt.
Syntax
int WINAPI MPI_Igather(
_In_ void *sendbuf,
int sendcount,
MPI_Datatype sendtype,
_Out_opt_ void *recvbuf,
_In_ int recvcount,
_In_ MPI_Datatype recvtype,
_In_ int root,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parametrar
sendbuf [in]
Pekaren till en buffert som innehåller de data som ska skickas till roten. Bufferten består av efterföljande sendcount-element i MPI_Datatype som anges av sendtype-handtaget . Meddelandelängden anges i termer av antal element, inte antal byte.sendcount
Antalet sendtype-element i sendbuf. Om värdet är noll är datadelen av meddelandet tom.sendtype
Det MPI_Datatype hantera som representerar datatypen för varje element i sendbuf.recvbuf [ut, valfritt]
Pekaren till en buffert som innehåller de data som tas emot från varje process i roten, inklusive data som skickas av rotprocessen (endast betydande vid roten). Mottagarbuffertens recvbuf ignoreras för alla icke-rotprocesser. I rotprocessen består recvbuf av återräkna efterföljande element i MPI_Datatype som anges av referensen för recvtype . Meddelandelängden anges i termer av antal element, inte antal byte.recvcount [in]
Antalet recvtype-element i recvbuf. Om värdet är noll är datadelen av meddelandet tom (endast betydande vid roten).recvtype [in]
Det MPI_Datatype hantera som representerar datatypen för varje element i recvbuf (endast betydande vid rot).root [in]
Rangordningen för den mottagande processen inom MPI_Commkommatecken.comm [in]
MPI_Comm communicator-handtaget.begäran [ut]
Den MPI_Request hantera som representerar kommunikationsåtgärden.
Returvärde
Returnerar MPI_SUCCESS vid lyckat resultat. Annars är returvärdet en felkod.
I Fortran lagras returvärdet i parametern IERROR .
Fortran
MPI_IGATHER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE,
ROOT, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR
Kommentarer
Ett icke-blockerande anrop initierar en kollektiv insamlingsåtgärd som måste slutföras i ett separat slutförandeanrop. När åtgärden har initierats kan den fortsätta oberoende av beräkningen eller annan kommunikation i deltagande processer. På så sätt kan icke-blockerande insamlingsåtgärder minimera möjliga synkroniseringseffekter av insamlingsåtgärder genom att köra dem i "bakgrunden".
Alla slutförandeanrop (t.ex. MPI_Wait) stöds för icke-blockerande insamlingsåtgärder.
Krav
Produkt |
Microsoft MPI v6 |
Huvud |
Mpi.h; Mpif.h |
Bibliotek |
Msmpi.lib |
DLL |
Msmpi.dll |