Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
MPI_Grequest_free_function ist ein Platzhalter für den anwendungsdefinierte Funktionsnamen.
Syntax
int MPI_Grequest_free_function(
_In_opt_ void *extra_state
);
Parameter
-
extra_state [in, optional]
Zusätzlicher Zustand.
Rückgabewert
Alle Rückruffunktionen geben einen Fehlercode zurück. Der Code wird zurückgegeben und entsprechend dem Fehlercode von der MPI-Funktion behandelt, die die Rückruffunktion aufgerufen hat. Wenn beispielsweise Fehlercodes zurückgegeben werden, wird der von der Rückruffunktion zurückgegebene Fehlercode von der MPI-Funktion zurückgegeben, die die Rückruffunktion aufgerufen hat. Im Fall eines MPI_Waitany- und MPI_Testany-Aufrufs, der sowohl query_fn als auch free_fn aufruft, gibt der MPI-Aufruf den Fehlercode zurück, der vom letzten Rückruf zurückgegeben wird, nämlich free_fn. Wenn mindestens eine der Anforderungen in einem Aufruf von MPI_Waitsome, MPI_Waitall, MPI_Testsome oder MPI_Testall fehlgeschlagen ist, gibt der MPI-Aufruf MPI_ERR_IN_STATUS zurück. Wenn der MPI-Aufruf in einem solchen Fall ein Array von Status übergeben wurde, gibt MPI in jedem Status, der einer abgeschlossenen generalisierten Anforderung entspricht, den Fehlercode zurück, der vom entsprechenden Aufruf seiner free_fn Rückruffunktion zurückgegeben wird. Wenn die MPI-Funktion jedoch MPI_STATUSES_IGNORE übergeben wurde, gehen die einzelnen Fehlercodes, die von den einzelnen Rückruffunktionen zurückgegeben werden, verloren.
Fortran
SUBROUTINE GREQUEST_FREE_FUNCTION(EXTRA_STATE, IERROR)
INTEGER IERROR
INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE
Hinweise
Die funktion free_fn wird aufgerufen, um benutzerseitig zugewiesene Ressourcen zu sauber, wenn die generalisierte Anforderung freigegeben wird.
Der free_fn Rückruf wird vom MPI_{Wait| aufgerufen.Test}{any|some|all} -Aufruf, der die generalisierte Anforderung abgeschlossen hat, die diesem Rückruf zugeordnet ist. free_fn wird nach dem Aufruf von query_fn für dieselbe Anforderung aufgerufen. Wenn der MPI-Aufruf jedoch mehrere generalisierte Anforderungen abgeschlossen hat, wird die Reihenfolge, in der free_fn Rückruffunktionen aufgerufen werden, von MPI nicht angegeben.
Der free_fn Rückruf wird auch für generalisierte Anforderungen aufgerufen, die durch einen Aufruf von MPI_Request_free freigegeben werden (kein Aufruf von MPI_{Wait|Test}{any|some|all} tritt für eine solche Anforderung auf). In diesem Fall wird die Rückruffunktion entweder im MPI-Aufruf MPI_Request_free oder im MPI-Aufruf MPI_Grequest_complete aufgerufen, je nachdem, was zuletzt geschieht, d. h., in diesem Fall wird der eigentliche Freisetzungscode ausgeführt, sobald beide Aufrufe MPI_Request_free und MPI_Grequest_complete aufgetreten sind. Die Zuordnung der Anforderung wird erst aufgehoben, nachdem free_fn abgeschlossen ist. Beachten Sie, dass free_fn nur einmal pro Anforderung von einem richtigen Programm aufgerufen wird.
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 |