MPI_Grequest_free_function función de devolución de llamada
MPI_Grequest_free_function es un marcador de posición para el nombre de función definido por la aplicación.
Sintaxis
int MPI_Grequest_free_function(
_In_opt_ void *extra_state
);
Parámetros
-
extra_state [in, opcional]
Estado adicional.
Valor devuelto
Todas las funciones de devolución de llamada devuelven un código de error. El código se devuelve y se trata según corresponda para el código de error por la función MPI que invocó la función de devolución de llamada. Por ejemplo, si se devuelven códigos de error, la función MPI devolverá el código de error devuelto por la función de devolución de llamada que invocó la función de devolución de llamada. En el caso de una llamada MPI_Waitany y MPI_Testany que invoca tanto query_fn comofree_fn, la llamada de MPI devolverá el código de error devuelto por la última devolución de llamada, es decir, free_fn. Si se produjo un error en una o varias de las solicitudes de una llamada a MPI_Waitsome, MPI_Waitall, MPI_Testsome o MPI_Testall , la llamada de MPI devolverá MPI_ERR_IN_STATUS. En tal caso, si la llamada de MPI se pasó a una matriz de estados, MPI devolverá en cada uno de los estados que corresponden a una solicitud generalizada completada el código de error devuelto por la invocación correspondiente de su función de devolución de llamada free_fn . Sin embargo, si se pasó la función MPI MPI_STATUSES_IGNORE, se perderán los códigos de error individuales devueltos por cada función de devolución de llamada.
Fortran
SUBROUTINE GREQUEST_FREE_FUNCTION(EXTRA_STATE, IERROR)
INTEGER IERROR
INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE
Comentarios
La función free_fn se invoca para limpiar los recursos asignados por el usuario cuando se libera la solicitud generalizada.
La devolución de llamada free_fn la invoca el MPI_{Wait|Test}{any|some|all} llamada que completó la solicitud generalizada asociada a esta devolución de llamada. free_fn se invoca después de la llamada a query_fn para la misma solicitud. Sin embargo, si la llamada de MPI completó varias solicitudes generalizadas, MPI no especifica el orden en el que se invocan las funciones de devolución de llamada free_fn .
La devolución de llamada free_fn también se invoca para solicitudes generalizadas que se liberan mediante una llamada a MPI_Request_free (sin llamada a MPI_{Wait|Test}{any|some|all} se producirá para dicha solicitud). En este caso, se llamará a la función de devolución de llamada en el MPI_Request_free de llamada de MPI o en el MPI_Grequest_complete de llamada de MPI, lo que ocurra en último lugar, es decir, en este caso, el código de libreción real se ejecuta en cuanto ambas llamadas MPI_Request_free y MPI_Grequest_complete se han producido. La solicitud no se desasigna hasta que se complete free_fn . Tenga en cuenta que free_fn solo se invocará una vez por solicitud por un programa correcto.
Requisitos
Producto |
Paquete redistribuible DE HPC Pack 2012 MS-MPI, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package o HPC Pack 2008 Client Utilities |
Encabezado |
Mpi.h; Mpif.h |