Compartir a través de


función MPI_Rsend

Realiza una operación de envío en modo listo y devuelve cuando el búfer de envío se puede reutilizar de forma segura.

Sintaxis

int MPIAPI MPI_Rsend(
  _In_opt_ void         *buf,
           int          count,
           MPI_Datatype datatype,
           int          dest,
           int          tag,
           MPI_Comm     comm
);

Parámetros

  • buf [in, optional]
    Puntero al búfer que contiene los datos que se van a enviar.

  • count
    Número de elementos que hay en el búfer. Si la parte de datos del mensaje está vacía, establezca el parámetro count en 0.

  • datatype
    Tipo de datos de los elementos del búfer.

  • dest
    Rango del proceso de destino dentro del comunicador especificado por el parámetro comm .

  • tag
    Etiqueta de mensaje que se puede usar para distinguir diferentes tipos de mensajes.

  • comm
    Identificador del comunicador.

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_RSEND(BUF, COUNT, DATATYPE, DEST, TAG, COMM, IERROR)
        <type> BUF(*)
        INTEGER COUNT, DATATYPE, DEST, TAG, COMM, IERROR

Comentarios

Esta función no es local. Esta función devuelve tan pronto como se puede reutilizar el búfer de envío y no depende del estado de una operación de recepción coincidente. Sin embargo, la finalización correcta de la operación de envío global depende de la existencia de una operación de recepción coincidente.

Esta función solo se puede llamar si la operación de recepción coincidente ya está publicada. De lo contrario, la función devuelve un error y su resultado no está definido. En algunos sistemas, este requisito elimina algunos de los protocolos de enlace que se usan en otros modos y puede mejorar el rendimiento en comparación con las operaciones de envío estándar o sincrónicas.

La función MPI_Rsend tiene la misma semántica que las funciones MPI_Send y MPI_Ssend , pero notifica al sistema que ya se ha publicado una recepción coincidente. Esa información puede ahorrar cierta sobrecarga. Por lo tanto, en un programa correcto, un envío listo podría reemplazarse por un envío estándar sin ningún efecto en el comportamiento del programa que no sea el rendimiento.

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

Consulte también

Funciones de punto a punto de MPI

MPI_Send

MPI_Bsend

MPI_Ssend

MPI_Recv