Compartir a través de


función MPI_Rput

Operación put de RMA basada en solicitudes.

Sintaxis

int MPIAPI MPI_Rput(
  _In_  void         *origin_addr,
        int          origin_count,
        MPI_Datatype origin_datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        int          target_count,
        MPI_Datatype target_datatype,
        MPI_Win      win,
  _Out_ MPI_Request  *request
);

Parámetros

  • origin_addr [in]
    Dirección inicial del búfer de origen.

  • origin_count
    Número de entradas en el búfer de origen.

  • origin_datatype
    Tipo de datos de cada entrada en el búfer de origen.

  • target_rank
    Rango de destino.

  • target_disp
    Desplazamiento desde el inicio de la ventana al búfer de destino.

  • target_count
    Número de entradas en el búfer de destino.

  • target_datatype
    Tipo de datos de cada entrada en el búfer de destino.

  • win
    Objeto Window usado para la comunicación.

  • request [out]
    Solicitud de RMA.

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_RPUT(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK,
                TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, WIN, REQUEST, IERROR)
        <type> ORIGIN_ADDR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
        INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK, TARGET_COUNT,
        TARGET_DATATYPE, WIN, REQUEST, IERROR

Comentarios

MPI_Rput es similar a MPI_Put, salvo que asigna un objeto de solicitud de comunicación y lo asocia con el identificador de solicitud (la solicitud de argumento). La finalización de una operación de MPI_Rput (es decir, después de la prueba o espera correspondiente) indica que el remitente ahora es libre de actualizar las ubicaciones en el búfer de origen. No indica que los datos están disponibles en la ventana de destino. Si se requiere la finalización remota, se pueden usar MPI_Win_flush, MPI_Win_flush_all, MPI_Win_unlock o MPI_Win_unlock_all .

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 comunicaciones de MPI One-Sided