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 |