Compartir a través de


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

Consulte también

Funciones de punto a punto de MPI

MPI_Mprobe

MPI_Recv

MPI_Imrecv