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.
Spreiding van gegevens van één lid over alle leden van een groep op een niet-blokkerende manier. Met deze functie wordt de inverse uitgevoerd van de bewerking die wordt uitgevoerd door de functie MPI_Igather.
Syntaxis
int MPIAPI MPI_Iscatter(
_In_opt_ const void *sendbuf,
_In_ int sendcount,
_In_ 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
);
Parameters
sendbuf [in, optioneel]
De aanwijzer naar een buffer die de gegevens bevat die naar het hoofdproces moeten worden verzonden.Deze parameter wordt genegeerd voor alle niet-hoofdprocessen.
Als de parameter comm verwijst naar een intracommunicator, kunt u een in-place optie opgeven door MPI_IN_PLACE op te geven in het basisproces. De parameters recvcount en recvtype worden genegeerd. De spreidingsvector wordt nog steeds beschouwd als n segmenten, waarbij n de groepsgrootte is; het segment dat overeenkomt met het hoofdproces, wordt niet verplaatst.
sendcount [in]
Het aantal elementen in de verzendbuffer. Als sendcount nul is, is het gegevensgedeelte van het bericht leeg.Deze parameter wordt genegeerd voor alle niet-hoofdprocessen.
sendtype [in]
Het gegevenstype van elk element in de buffer.Deze parameter wordt genegeerd voor alle niet-hoofdprocessen.
recvbuf [uit, optioneel]
De ingang naar een buffer die de gegevens bevat die bij elk proces worden ontvangen. Het aantal en het gegevenstype van de elementen in de buffer worden opgegeven in de parameters recvcount en recvtype .aantal [ in]
Het aantal elementen in de ontvangstbuffer. Als het aantal nul is, is het gegevensgedeelte van het bericht leeg.recvtype [in]
Het MPI-gegevenstype van de elementen in de ontvangstbuffer.root [in]
De rang van het ontvangende proces binnen de opgegeven communicator.comm [in]
De MPI_Comm communicator-ingang.aanvraag [uit]
De MPI_Request ingang die de communicatiebewerking vertegenwoordigt.
Retourwaarde
Retourneert MPI_SUCCESS bij succes. Anders is de retourwaarde een foutcode.
In Fortran wordt de retourwaarde opgeslagen in de parameter IERROR .
Fortran
MPI_ISCATTER(SENDBUF, SENDCOUNT, SENDTYPE, RECVBUF, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR)
<type> SENDBUF(*), RECVBUF(*)
INTEGER SENDCOUNT, SENDTYPE, RECVCOUNT, RECVTYPE, ROOT, COMM, REQUEST, IERROR
Opmerkingen
Een niet-blokkerende oproep initieert een collectieve reductiebewerking die moet worden voltooid in een afzonderlijke voltooiingsoproep. Zodra de bewerking is geïnitieerd, kan deze onafhankelijk van berekeningen of andere communicatie bij de deelnemende processen worden voortgezet. Op deze manier kunnen niet-blokkerende reductiebewerkingen mogelijke synchronisatie-effecten van reductiebewerkingen beperken door ze op de 'achtergrond' uit te voeren.
Alle voltooiingsoproepen (bijvoorbeeld MPI_Wait) worden ondersteund voor niet-blokkerende reductiebewerkingen.
Vereisten
Product |
Microsoft MPI v7 |
Header |
Mpi.h; Mpif.h |
Bibliotheek |
Msmpi.lib |
DLL |
Msmpi.dll |