MPI_Grequest_free_function funzione di callback
MPI_Grequest_free_function è un segnaposto per il nome della funzione definita dall'applicazione.
Sintassi
int MPI_Grequest_free_function(
_In_opt_ void *extra_state
);
Parametri
-
extra_state [in, facoltativo]
Stato aggiuntivo.
Valore restituito
Tutte le funzioni di callback restituiscono un codice di errore. Il codice viene passato indietro e gestito come appropriato per il codice di errore dalla funzione MPI che ha richiamato la funzione di callback. Ad esempio, se vengono restituiti codici di errore, il codice di errore restituito dalla funzione di callback verrà restituito dalla funzione MPI che ha richiamato la funzione di callback. Nel caso di una chiamata MPI_Waitany e MPI_Testany che richiama sia query_fn chefree_fn, la chiamata MPI restituirà il codice di errore restituito dall'ultimo callback, ovvero free_fn. Se una o più richieste in una chiamata a MPI_Waitsome, MPI_Waitall, MPI_Testsome o MPI_Testall non riuscite, la chiamata MPI restituirà MPI_ERR_IN_STATUS. In tal caso, se la chiamata MPI è stata passata a una matrice di stati, MPI restituirà in ognuno degli stati che corrispondono a una richiesta generalizzata completata il codice di errore restituito dalla chiamata corrispondente della relativa funzione di callback free_fn . Tuttavia, se la funzione MPI è stata passata MPI_STATUSES_IGNORE, i singoli codici di errore restituiti da ogni funzione di callback andranno persi.
Fortran
SUBROUTINE GREQUEST_FREE_FUNCTION(EXTRA_STATE, IERROR)
INTEGER IERROR
INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE
Commenti
La funzione free_fn viene richiamata per pulire le risorse allocate dall'utente quando la richiesta generalizzata viene liberata.
Il callback free_fn viene richiamato dal MPI_{Wait|Test}{any|some|all} chiamata che ha completato la richiesta generalizzata associata a questo callback. free_fn viene richiamato dopo la chiamata a query_fn per la stessa richiesta. Tuttavia, se la chiamata MPI ha completato più richieste generalizzate, l'ordine in cui free_fn funzioni di callback non viene specificato da MPI.
Il callback free_fn viene richiamato anche per le richieste generalizzate liberate da una chiamata a MPI_Request_free (nessuna chiamata a MPI_{Wait|Test}{any|some|all} verrà eseguito per una richiesta di questo tipo. In questo caso, la funzione di callback verrà chiamata nel MPI_Request_free di chiamata MPI o nella chiamata MPI MPI_Grequest_complete, a seconda dell'ultimo evento, ovvero in questo caso il codice di liberamento effettivo viene eseguito non appena si sono verificate entrambe le chiamate MPI_Request_free e MPI_Grequest_complete . La richiesta non viene deallocata fino al completamento di free_fn . Si noti che free_fn verrà richiamato una sola volta per richiesta da un programma corretto.
Requisiti
Prodotto |
Pacchetto ridistribuibile DI HPC Pack 2012 MS-MPI, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package o utilità client HPC Pack 2008 |
Intestazione |
Mpi.h; Mpif.h |