Partilhar via


função MPI_Rput

Operação de colocação do RMA baseada em pedidos.

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 [em]
    Endereço inicial da memória intermédia de origem.

  • origin_count
    Número de entradas na memória intermédia de origem.

  • origin_datatype
    Tipo de dados de cada entrada na memória intermédia de origem.

  • target_rank
    Classificação do destino.

  • target_disp
    Deslocamento do início da janela para a memória intermédia de destino.

  • target_count
    Número de entradas na memória intermédia de destino.

  • target_datatype
    Tipo de dados de cada entrada na memória intermédia de destino.

  • ganhar
    Objeto de janela utilizado para comunicação.

  • pedido [fora]
    Pedido RMA.

Valor devolvido

Devolve MPI_SUCCESS com êxito. Caso contrário, o valor devolvido é um código de erro.

Em Fortran, o valor devolvido é 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

Observações

MPI_Rput é semelhante a MPI_Put, exceto que aloca um objeto de pedido de comunicação e o associa ao identificador do pedido (o pedido 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 está agora livre para atualizar as localizações na memória intermédia de origem. Não indica que os dados estão disponíveis na janela de destino. Se for necessária a conclusão remota, pode utilizar MPI_Win_flush, MPI_Win_flush_all, MPI_Win_unlock ou MPI_Win_unlock_all .

Requisitos

Produto

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package ou HPC Pack 2008 Client Utilities

Cabeçalho

Mpi.h; Mpif.h

Biblioteca

Msmpi.lib

DLL

Msmpi.dll

Ver também

MPI One-Sided Communications Functions