MPI_Improbe función
Sondea un mensaje de forma no bloqueada. Proporciona un mecanismo para recibir el mensaje específico que se ha coinciden independientemente de las operaciones de sondeo o recepción intermedias. El mensaje coincidente se desconecta de la cola de recepción, lo que da a la aplicación la oportunidad de decidir cómo recibir el mensaje en función de la información devuelta por la operación de sondeo coincidente que no bloquea. A continuación, se recibe el mensaje coincidente mediante la función MPI_Mrecv o MPI_Imrecv .
Sintaxis
int MPIAPI MPI_Improbe(
_In_ int source,
_In_ int tag,
_In_ MPI_Comm comm,
_Out_ Int *flag,
_Out_ MPI_Message *message,
_Out_ MPI_Status *status
);
Parámetros
source [in]
Clasificación de origen o MPI_ANY_SOURCE.tag [in]
Etiqueta de mensaje o MPI_ANY_TAG.comm [in]
Controlador del comunicador MPI.marca [out]
Al devolver, contiene un puntero a un entero que indica si el origen, la etiqueta y el comm especificados coinciden. Un valor distinto de cero indica que los parámetros coinciden.message [out]
Al devolver, contiene un puntero al mensaje coincidente.status [out]
Al devolver, contiene un puntero a una estructura de MPI_Status donde se almacena información sobre el mensaje.
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_IMPROBE(SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS, IERROR)
INTEGER SOURCE, TAG, COMM, FLAG, MESSAGE, STATUS(MPI_STATUS_SIZE), IERROR
Comentarios
Esta función devuelve la marca = true si hay un mensaje que se puede recibir y que coincide con el patrón especificado por los argumentos source, tag y comm. La llamada coincide con el mismo mensaje que habría recibido una llamada a MPI_Recv ejecutado en el mismo punto del programa y devuelve en estado el mismo valor que habría sido devuelto por MPI_Recv. Además, devuelve en el mensaje un identificador al mensaje coincidente. De lo contrario, la llamada devuelvelamarca = false y deja el estado y el mensaje sin definir.
Requisitos
Producto |
Microsoft MPI v6 |
Encabezado |
Mpi.h; Mpif.h |
Biblioteca |
Msmpi.lib |
Archivo DLL |
Msmpi.dll |