Compartir a través de


MPI_Fetch_and_op función

Realiza lectura-modificación-escritura atómica en un elemento de datos y devuelve el elemento de datos antes de la operación acumulada.

Sintaxis

int MPIAPI MPI_Fetch_and_op(
  _In_  void         *origin_addr,
  _Out_ void         *result_addr,
        MPI_Datatype datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        MPI_Op       op,
        MPI_Win      win
);

Parámetros

  • origin_addr [in]
    dirección inicial del búfer

  • result_addr [out]
    dirección inicial del búfer de resultados

  • datatype
    tipo de datos de cada entrada en el origen, el resultado y el búfer de destino

  • target_rank
    rango de destino

  • target_disp
    desplazamiento desde el inicio de la ventana hasta el principio del búfer de destino

  • op
    operación de reducción

  • win
    window (objeto)

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_FETCH_AND_OP(ORIGIN_ADDR, RESULT_ADDR, DATATYPE,
                TARGET_RANK, TARGET_DISP, OP, WIN, IERROR)
        <type> ORIGIN_ADDR(*), RESULT_ADDR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
        INTEGER DATATYPE, TARGET_RANK, OP, WIN, IERROR

Comentarios

Acumula un elemento de tipo datatype desde el búfer de origen (origin_addr) al búfer en target_disp de desplazamiento, en la ventana de destino especificada por target_rank y win, usando la operación op y devolviendo en el búfer de resultados result_addr el contenido del búfer de destino antes de la acumulación.

Los búferes de origen y resultado (origin_addr y result_addr) deben estar separados. Cualquiera de las operaciones predefinidas para MPI_Reduce, así como MPI_NO_OP o MPI_REPLACE, se puede especificar como op; No se pueden usar funciones definidas por el usuario. El argumento datatype debe ser un tipo de datos predefinido. La operación se ejecuta de forma atómica.

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