Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Verzamelt een variabele hoeveelheid gegevens van elk lid van een groep en verzendt de gegevens naar alle leden van de groep. De functie MPI_Allgatherv lijkt op de MPI_Gatherv, behalve dat alle processen het resultaat ontvangen in plaats van alleen de hoofdmap. Het gegevensblok dat vanuit het jth-proces wordt verzonden, wordt door elk proces ontvangen en in het jth blok van de buffer recvbuf geplaatst. Deze blokken hoeven niet allemaal even groot te zijn.
Syntaxis
int MPIAPI MPI_Allgatherv(
_In_ void *sendbuf,
int sendcount,
MPI_Datatype sendtype,
_Out_ void *recvbuf,
_In_ int *recvcounts,
_In_ int *displs,
MPI_Datatype recvtype,
MPI_Comm comm
);
Parameters
sendbuf [in]
De aanwijzer naar de gegevens die naar alle processen in de groep moeten worden verzonden. Het aantal en het gegevenstype van de elementen in de buffer worden opgegeven in de parameters sendcount en sendtype . Elk element in de buffer komt overeen met een proces in de groep.Als de comm-parameter verwijst naar een intracommunicator, kunt u een in-place optie opgeven door MPI_IN_PLACE op te geven in alle processen. De parameters sendcount en sendtype worden genegeerd. Elk proces voert gegevens in het bijbehorende ontvangstbufferelement in. Het nth-proces verzendt gegevens naar het nth-element van de ontvangstbuffer.
sendcount
Het aantal gegevenselementen dat met dit proces wordt verzonden in de buffer die is opgegeven in de parameter sendbuf . Als een element in sendcount nul is, is het gegevensgedeelte van het bericht van dat proces leeg.sendtype
Het MPI-gegevenstype van de elementen in de verzendbuffer.recvbuf [uit]
De aanwijzer naar een buffer die de gegevens bevat die van elk proces worden ontvangen. Het aantal en het gegevenstype van de elementen in de buffer worden opgegeven in de parameters recvcount en recvtype .recvcounts [in]
Het aantal gegevenselementen van elk communicatorproces in de ontvangstbuffer.displs [in]
De locatie, ten opzichte van de parameter recvbuf , van de gegevens van elk communicator-proces.In de parametermatrices recvbuf, recvcounts en displs verwijst het element nth van elke matrix naar de gegevens die worden ontvangen van het nth communicator-proces.
recvtype
Het MPI-gegevenstype van elk element in buffer.Comm
De MPI_Comm communicator-ingang.
Retourwaarde
Retourneert MPI_SUCCESS bij succes. Anders is de retourwaarde een foutcode.
In Fortran wordt de retourwaarde opgeslagen in de parameter IERROR .
Fortran
MPI_ALLGATHERV(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNTS,DISPLS, RECVTYPE,COMM, IERROR)
<type> SENDBUF(*), R.ECVBUF(*)
INTEGER SENDCOUNT, SENDTYPE, RECVCOUNTS(*), DISPLS(*), RECVTYPE, COMM, IERROR
Opmerkingen
De gebruiksregels voor MPI_Allgatherv komen overeen met de regels voor MPI_Gatherv.
De typehandtekening die is gekoppeld aan de parameter sendtype in een proces, moet gelijk zijn aan de typehandtekening die is gekoppeld aan de parameter recvtype in een ander proces.
Als de parameter comm verwijst naar een intracommunicator, is het resultaat van een aanroep naar MPI_Allgatherv(...)alsof alle processen aanroepen hebben uitgevoerd naar MPI_GatherV(sendbuf,sendcount,sendtype,recvbuf,recvcounts,displs,recvtype,root,comm), voor root = 0 , ..., n-1.
Als de comm-parameter verwijst naar een intercommunicator, draagt elk proces van één groep, bijvoorbeeld groep A, bij aan het aantal gegevensitems dat is opgegeven in de sendcount parameter . Deze gegevens worden samengevoegd en het resultaat wordt opgeslagen bij elk proces in de andere groep, groep B. Omgekeerd wordt de samenvoeging van de gegevens van de processen in groep B opgeslagen bij elk proces in groep A. De parameters voor de verzendbuffer in groep A moeten consistent zijn met de ontvangstbufferparameters in groep B en omgekeerd.
Vereisten
Product |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package of HPC Pack 2008 Client Utilities |
Header |
Mpi.h; Mpif.h |
Bibliotheek |
Msmpi.lib |
DLL |
Msmpi.dll |