Partilhar via


função MPI_Win_allocate_shared

Cria um objeto janela de MPI que aloca memória, a memória alocada pode ser acedida a partir de todos os processos no grupo da janela com instruções de carregamento/arquivo direto.

Sintaxe

int MPIAPI MPI_Win_allocate_shared(
        MPI_Aint size,
        int      disp_unit,
        MPI_Info info,
        MPI_Comm comm,
  _Out_ void     *baseptr,
  _Out_ MPI_Win  *win
);

Parâmetros

  • tamanho
    Tamanho da janela de memória em bytes.

  • disp_unit
    Tamanho da unidade local para deslocamentos, em bytes.

  • informações
    Argumento de informações.

  • vírgula
    Intra-communicator.

  • baseptr [out]
    Endereço do segmento de janela alocado local.

  • win [out]
    Objeto de janela devolvido pela chamada.

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_WIN_ALLOCATE_SHARED(SIZE, DISP_UNIT, INFO, COMM, BASEPTR, WIN, IERROR)
        <type> BASEPTR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) SIZE
        INTEGER DISP_UNIT, INFO, COMM, WIN, IERROR

Observações

Esta é uma chamada coletiva executada por todos os processos no grupo de vírgulas. Em cada processo, aloca memória de, pelo menos, bytes de tamanho que é partilhado entre todos os processos em comm e devolve um ponteiro para o segmento alocado localmente em baseptr que pode ser utilizado para acessos de carregamento/armazenamento no processo de chamada. A memória alocada localmente pode ser o destino dos acessos de carregamento/armazenamento por processos remotos; os ponteiros base para outros processos podem ser consultados com a função MPI_Win_shared_query. A chamada também devolve um objeto de janela que pode ser utilizado por todos os processos em comm para realizar operações RMA. O argumento tamanho pode ser diferente em cada processo e tamanho = 0 é válido. É da responsabilidade do utilizador garantir que o comunicador representa um grupo de processos que pode criar um segmento de memória partilhada que pode ser acedido por todos os processos no grupo.

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