MPI_Grequest_query_function función de devolución de llamada
MPI_Grequest_query_function es un marcador de posición para el nombre de función definido por la aplicación.
Sintaxis
int MPI_Grequest_query_function(
_In_opt_ void *extra_state,
_Out_ MPI_Status *status
);
Parámetros
extra_state [in, opcional]
Estado adicional.status [out]
Objeto de estado MPI.
Valor devuelto
Todas las funciones de devolución de llamada devuelven un código de error. El código se pasa atrás 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 un MPI_{Wait|Test}cualquier llamada que invoque query_fn y free_fn, la llamada de MPI devolverá el código de error devuelto por la última devolución de llamada, es decir, free_fn. Si una o varias de las solicitudes de una llamada a MPI_{Wait|Test}{some|all} failed( Error de prueba), 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 de 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_QUERY_FUNCTION(EXTRA_STATE, STATUS, IERROR)
INTEGER STATUS(MPI_STATUS_SIZE), IERROR
INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE
Comentarios
La función query_fn calcula el estado que se debe devolver para la solicitud generalizada. El estado también incluye información sobre la cancelación correcta o incorrecta de la solicitud (resultado devuelto por MPI_Test_cancelled).
El MPI_ {Wait| invoca la devolución de llamada query_fn|Test}{any|some|all} llamada que completó la solicitud generalizada asociada a esta devolución de llamada. La función de devolución de llamada también se invoca mediante llamadas a MPI_Request_get_status, si la solicitud se completa cuando se produce la llamada. En ambos casos, la devolución de llamada se pasa una referencia a la variable de estado correspondiente pasada por el usuario a la llamada de MPI; La llamada de MPI devuelve el estado establecido por la función de devolución de llamada. Si el usuario proporcionó MPI_STATUS_IGNORE o MPI_STATUSES_IGNORE a la función MPI que hace que se llame a query_fn , MPI pasará un objeto de estado válido a query_fn y este estado se omitirá al devolver la función de devolución de llamada. Tenga en cuenta que solo se invoca query_fn después de llamar a MPI_Grequest_complete en la solicitud; se puede invocar varias veces para la misma solicitud generalizada, por ejemplo, si el usuario llama a MPI_Request_get_status varias veces para esta solicitud. Tenga en cuenta también que una llamada a MPI_{Wait|Test}{some|all} puede provocar varias invocaciones de query_fn funciones de devolución de llamada, una para cada solicitud generalizada completada por la llamada de MPI. MPI no especifica el orden de estas invocaciones.
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 |