Compartilhar via


função MPI_Rput

Operação de colocação de RMA baseada em solicitação.

Sintaxe

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]
    Endereço inicial do buffer de origem.

  • origin_count
    Número de entradas no buffer de origem.

  • origin_datatype
    Tipo de dados de cada entrada no buffer de origem.

  • target_rank
    Classificação de destino.

  • target_disp
    Deslocamento do início da janela para o buffer de destino.

  • target_count
    Número de entradas no buffer de destino.

  • target_datatype
    Tipo de dados de cada entrada no buffer de destino.

  • win
    Objeto window usado para comunicação.

  • solicitação [out]
    Solicitação de RMA.

Retornar valor

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

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

Comentários

MPI_Rput é semelhante a MPI_Put, exceto por alocar um objeto de solicitação de comunicação e associá-lo ao identificador de solicitação (a solicitação de argumento). A conclusão de uma operação de MPI_Rput (ou seja, após o teste ou espera correspondente) indica que o remetente agora está livre para atualizar os locais no buffer de origem. Isso não indica que os dados estão disponíveis na janela de destino. Se a conclusão remota for necessária, MPI_Win_flush, MPI_Win_flush_all, MPI_Win_unlock ou MPI_Win_unlock_all podem ser usados.

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

MPI One-Sided Communications Functions