Compartir a través de


función MPI_Get_accumulate

Realiza lectura-modificación-escritura atómica y devuelve los datos antes de la operación de acumulación.

Sintaxis

int MPIAPI MPI_Get_accumulate(
  _In_  void         *origin_addr,
        int          origin_count,
        MPI_Datatype origin_datatype,
  _Out_ void         *result_addr,
        int          result_count,
        MPI_Datatype result_datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        int          target_count,
        MPI_Datatype datatype,
        MPI_Op       op,
        MPI_Win      win
);

Parámetros

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

  • origin_count
    número de entradas en el búfer

  • origin_datatype
    datatype de cada entrada de búfer

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

  • result_count
    número de entradas en el búfer de resultados

  • result_datatype
    tipo de datos de cada entrada en el búfer de resultados

  • target_rank
    clasificación del destino

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

  • target_count
    número de entradas en el búfer de destino

  • datatype
    tipo de datos de cada entrada en el búfer de destino

  • op
    operación de reducción predefinida

  • 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_GET_ACCUMULATE(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_ADDR, RESULT_COUNT, RESULT_DATATYPE,
                TARGET_RANK, TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, OP, WIN, IERROR)
        <type> ORIGIN_ADDR(*), RESULT_ADDR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
        INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_COUNT, RESULT_DATATYPE, TARGET_RANK, TARGET_COUNT,
        TARGET_DATATYPE, OP, WIN, IERROR

Comentarios

Acumula origin_count elementos de tipo origin_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, especificada por target_disp, target_count y target_datatype. Los datos transferidos desde el origen al destino deben ajustarse, sin truncamiento, en el búfer de destino. Del mismo modo, los datos copiados del destino al origen deben ajustarse, sin truncamiento, en el búfer de resultados.

Los búferes de origen y de resultados (origin_addr y result_addr) deben estar separados. Cada argumento de tipo de datos debe ser un tipo de datos predefinido o un tipo de datos derivado donde todos los componentes básicos son del mismo tipo de datos predefinido. Todos los argumentos de tipo de datos se deben construir a partir del mismo tipo de datos predefinido. La operación se aplica a los elementos de ese tipo predefinido. target_datatype no debe especificar entradas superpuestas y el búfer de destino debe caber en la ventana de destino o en la memoria adjunta en una ventana dinámica. La operación se ejecuta de forma atómica para cada tipo de datos básico.

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