Compartir a través de


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

Consulte también

Funciones de punto a punto de MPI

MPI_Irecv

MPI_Mrecv

MPI_Mprobe

MPI_Improbe