función MPI_Imrecv
Realiza una recepción sin bloqueo para un mensaje coincidente con MPI_Mprobe o MPI_Improbe.
Sintaxis
int MPIAPI MPI_Imrecv(
_Out_ void *buf,
_In_ int count,
_In_ MPI_Datatype datatype,
_Inout_ MPI_Message *message,
_Out_ MPI_Request *request
);
Parámetros
buf [out]
Puntero a la dirección del búfer de recepción.count [in]
Número de elementos de tipo de datos en buf.datatype [in]
Tipo de datos MPI de los elementos de buf.message [in, out]
Contiene un puntero al mensaje.request [out]
Al devolver, contiene un puntero a un identificador de MPI_REQUEST que representa la operación de comunicación.
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_IMRECV(BUF, COUNT, DATATYPE, MESSAGE, REQUEST, IERROR)
<type> BUF(*)
INTEGER COUNT, DATATYPE, MESSAGE, REQUEST, IERROR
Comentarios
Esta función es la variante de no bloqueo de MPI_Mrecv e inicia una recepción sin bloqueo de un mensaje coincidente. La semántica de finalización es similar a MPI_Irecv.
Al volver de esta función, el identificador de mensaje se establece en MPI_MESSAGE_NULL.
Si se llama a esta función con MPI_MESSAGE_NO_PROC como argumento message, la llamada devuelve inmediatamente con un objeto de solicitud que, cuando se complete, producirá un objeto de estado establecido = enMPI_PROC_NULL de origen, etiqueta = MPI_ANY_TAG y count = 0, como si se emitiera una recepción de MPI_PROC_NULL. Una llamada a esta función con MPI_MESSAGE_NULL es errónea.
Requisitos
Producto |
Microsoft MPI v6 |
Encabezado |
Mpi.h; Mpif.h |
Biblioteca |
Msmpi.lib |
Archivo DLL |
Msmpi.dll |