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.
Kombinerar värden från alla processer och distribuerar resultatet tillbaka till alla processer på ett icke-blockerande sätt.
Syntax
int MPIAPI MPI_Iallreduce(
_In_opt_ const void *sendbuf,
_Out_opt_ void *recvbuf,
_In_ int count,
_In_ MPI_Datatype datatype,
_In_ MPI_Op op,
_In_ MPI_Comm comm,
_Out_ MPI_Request *request
);
Parametrar
sendbuf [in, valfritt]
Pekaren till de data som ska skickas till alla processer i gruppen. Antalet och datatypen för elementen i bufferten anges i parametrarna count och datatype .Om comm-parametern refererar till en intracommunicator kan du ange ett alternativ på plats genom att ange MPI_IN_PLACE i alla processer. I det här fallet tas indata vid varje process från mottagarbufferten, där de ersätts av utdata.
recvbuf [ut, valfritt]
Pekaren till en buffert för att ta emot resultatet av reduce-åtgärden.count [in]
Antalet element som ska skickas från den här processen.datatype [in]
Datatypen för varje element i bufferten. Den här parametern måste vara kompatibel med åtgärden enligt vad som anges i op-parametern .op [in]
Den globala minskningsåtgärd som ska utföras. Handtaget kan indikera en inbyggd eller programdefinierad åtgärd. En lista över fördefinierade åtgärder finns i MPI_Op.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_IALLREDUCE(SENDBUF, RECVBUF, COUNT, DATATYPE, OP, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER COUNT, DATATYPE, OP, COMM, REQUEST, IERROR
Kommentarer
Ett icke-blockerande anrop initierar en kollektiv minskningså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 minskningsåtgärder minimera möjliga synkroniseringseffekter av minskningsåtgärder genom att köra dem i "bakgrunden".
Alla slutförandeanrop (t.ex. MPI_Wait) stöds för icke-blockerande minskningsåtgärder.
Krav
Produkt |
Microsoft MPI v7 |
Huvud |
Mpi.h; Mpif.h |
Bibliotek |
Msmpi.lib |
DLL |
Msmpi.dll |