Compartilhar via


Função MPI_Fetch_and_op

Executa leitura-modificação-gravação atômica em um elemento de dados e retorna o elemento de dados antes da operação de acumulação.

Sintaxe

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]
    endereço inicial do buffer

  • result_addr [out]
    endereço inicial do buffer de resultados

  • datatype
    tipo de dados de cada entrada no buffer de origem, resultado e destino

  • target_rank
    classificação de destino

  • target_disp
    deslocamento do início da janela até o início do buffer de destino

  • op
    operação de redução

  • win
    objeto window

Retornar valor

Retorna MPI_SUCCESS em caso de êxito. Caso contrário, o valor retornado será um código de erro.

Em Fortran, o valor retornado é armazenado no 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

Comentários

Acumule um elemento do tipo datatype do buffer de origem (origin_addr) para o buffer no target_disp de deslocamento, na janela de destino especificada por target_rank e win, usando a operação op e retorne no buffer de resultado result_addr o conteúdo do buffer de destino antes do acúmulo.

Os buffers de origem e resultado (origin_addr e result_addr) devem ser não contíguos. Qualquer uma das operações predefinidas para MPI_Reduce, bem como MPI_NO_OP ou MPI_REPLACE, pode ser especificada como op; Funções definidas pelo usuário não podem ser usadas. O argumento datatype deve ser um tipo de dados predefinido. A operação é executada atomicamente.

Requisitos

Produto

Pacote Redistribuível do HPC Pack 2012 MS-MPI, Pacote Redistribuível HPC Pack 2008 R2 MS-MPI, Pacote Redistribuível do HPC Pack 2008 MS-MPI ou Utilitários de Cliente HPC Pack 2008

parâmetro

Mpi.h; Mpif.h

Biblioteca

Msmpi.lib

DLL

Msmpi.dll

Confira também

Funções de comunicação de One-Sided MPI