MPI_Grequest_start función
Crea y devuelve una solicitud definida por el usuario.
Sintaxis
int MPIAPI MPI_Grequest_start(
_In_ MPI_Grequest_query_function *query_fn,
_In_ MPI_Grequest_free_function *free_fn,
_In_ MPI_Grequest_cancel_function *cancel_fn,
_In_opt_ void *extra_state,
_Out_ MPI_Request *request
);
Parámetros
query_fn [in]
Función de devolución de llamada invocada cuando se consulta el estado de la solicitud.free_fn [in]
Función de devolución de llamada invocada cuando se libera la solicitud.cancel_fn [in]
Función de devolución de llamada invocada cuando se cancela la solicitud.extra_state [in, opcional]
Estado adicional pasado a las funciones anteriores.request [out]
Solicitud generalizada.
Valor devuelto
Devuelve MPI_SUCCESS si se realiza correctamente. De lo contrario, el valor devuelto es un código de error.
En Fortran, el valor devuelto se almacena en el parámetro IERROR .
Fortran
MPI_GREQUEST_START(QUERY_FN, FREE_FN, CANCEL_FN, EXTRA_STATE, REQUEST, IERROR)
INTEGER REQUEST, IERROR
EXTERNAL QUERY_FN, FREE_FN, CANCEL_FN
INTEGER (KIND=MPI_ADDRESS_KIND) EXTRA_STATE
Comentarios
Los valores devueltos de las funciones de devolución de llamada deben ser un código de error O clase MPI válido. Este valor puede ser el valor devuelto de cualquier rutina de MPI (con una excepción a continuación) o cualquiera de las clases de error de MPI. En el caso de los programas portátiles, se puede utilizar MPI_ERR_OTHER ; para proporcionar información más específica, cree una nueva clase de error de MPI o código con MPI_Add_error_class o MPI_Add_error_code y devuelva ese valor.
El estándar MPI no está claro en los valores devueltos de las rutinas de devolución de llamada. Sin embargo, hay notas en el estándar que implican que se trata de códigos de error de MPI. Por ejemplo, las páginas 169 línea 46 a la página 170, la línea 1 requieren que el free_fn devuelva un código de error MPI que se pueda usar en las funciones de finalización de MPI cuando devuelven MPI_ERR_IN_STATUS.
El caso especial es el valor de error devuelto por MPI_Comm_dup cuando la rutina de devolución de llamada del atributo devuelve un error. El estándar MPI no está claro en qué valores se pueden usar para indicar una devolución de error. Además, el conjunto de pruebas de Intel MPI hizo uso de valores distintos de cero para indicar un error y esperaba que el MPI_Comm_dup devuelva estos valores cuando las rutinas de atributo encontraron un error. Estos valores de error pueden no ser códigos de error O clases MPI válidos. Por este motivo, es responsabilidad del usuario usar códigos de error MPI válidos a cambio de las devoluciones de llamada de atributo, si esos códigos de error deben ser devueltos por una devolución de llamada de solicitud generalizada, o para detectar y convertir esos códigos de error en códigos de error MPI válidos (recuerde que las clases de error de MPI son códigos de error válidos).
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 |
Biblioteca |
Msmpi.lib |
Archivo DLL |
Msmpi.dll |