Freigeben über


MPI_Waitsome-Funktion

Schließt einige der ausstehenden Vorgänge ab.

Syntax

int MPIAPI MPI_Waitsome(
        int                                         incount,
        _Inout_count_(incount) MPI_Request          array_of_requests,
  _Out_ int                                         *outcount,
        _Out_cap_post_count_(incount,*outcount) int *array_of_indices,
        _Out_cap_post_count_(incount,*outcount)     *array_of_statuses
);

Parameter

  • incount
    Die Anzahl der Einträge im parameter array_of_requests .

  • array_of_requests
    Ein Array von MPI_Request Handles ausstehender Vorgänge.

  • outcount [out]
    Die Anzahl der abgeschlossenen Anforderungen.

  • array_of_indices
    Array von Indizes im array_of_requests abgeschlossener Vorgänge. Die array_of_requests wird von null in C und von 1 in Fortran indiziert.

  • array_of_statuses
    Array von status-Objekten für abgeschlossene Vorgänge oder MPI_STATUSES_IGNORE.

Rückgabewert

Gibt MPI_SUCCESS nach Erfolg zurück. Andernfalls ist der Rückgabewert ein Fehlercode.

In Fortran wird der Rückgabewert im IERROR-Parameter gespeichert.

Fortran

    MPI_WAITSOME(INCOUNT, ARRAY_OF_REQUESTS, OUTCOUNT, ARRAY_OF_INDICES, ARRAY_OF_STATUSES, IERROR)
        INTEGER INCOUNT, ARRAY_OF_REQUESTS(*), OUTCOUNT, ARRAY_OF_INDICES(*),
        ARRAY_OF_STATUSES(MPI_STATUS_SIZE,*), IERROR

Hinweise

Das Array von Dicies liegt im Bereich von 0 bis incount - 1 für C und im Bereich 1 bis incount für Fortran.

NULL-Anforderungen werden ignoriert. Wenn alle Anforderungen NULL sind, gibt die Routine zurück, wobei outcount auf MPI_UNDEFINED festgelegt ist.

Obwohl es möglich ist, ein Anforderungshandle mehrmals im array_of_requests auflisten, wird eine solche Aktion als fehlerhaft angesehen und kann dazu führen, dass das Programm nicht ausgeführt wird oder zu falschen Ergebnissen führt.

MPI_Waitsome stellt eine Schnittstelle bereit, die den Unix-Aufrufen "select" oder "poll" ähnelt, und gibt in einer Implementierung mit hoher Qualität alle Anforderungen an, die beim Aufruf von MPI_Waitsome abgeschlossen wurden. MPI_Waitsome garantiert jedoch nur, dass mindestens eine Anforderung abgeschlossen wurde; es gibt keine Garantie dafür, dass alle abgeschlossenen Anforderungen zurückgegeben werden oder dass die Einträge in array_of_indices in zunehmender Reihenfolge ausgeführt werden. Außerdem können Anforderungen, die abgeschlossen werden, während MPI_Waitsome ausgeführt wird, je nach Zeitpunkt des Abschlusses der Nachricht zurückgegeben werden.

Anforderungen

Produkt

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package oder HPC Pack 2008 Client Utilities

Header

Mpi.h; Mpif.h

Bibliothek

Msmpi.lib

DLL

Msmpi.dll

Weitere Informationen

MPI-Punkt-zu-Punkt-Funktionen