Partilhar via


função MPI_Win_lock

Inicia uma época de acesso RMA no processo de destino.

Sintaxe

int MPIAPI MPI_Win_lock(
   int     lock_type,
   int     rank,
   int     assert,
   MPI_Win win
);

Parâmetros

  • lock_type
    Indica se outros processos podem aceder à janela de destino ao mesmo tempo (se MPI_LOCK_SHARED) ou não (MPI_LOCK_EXCLUSIVE).

  • classificação
    Classificação da janela bloqueada.

  • afirmar
    Utilizado para otimizar esta chamada; zero pode ser utilizado como predefinição.

  • ganhar
    Objeto de janela.

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_LOCK(LOCK_TYPE, RANK, ASSERT, WIN, IERROR)
        INTEGER LOCK_TYPE, RANK, ASSERT, WIN, IERROR

Observações

O nome desta rotina é enganador. Em particular, esta rotina não precisa de ser bloqueada, exceto quando o processo de destino é o processo de chamada.

As implementações podem restringir a utilização da comunicação RMA sincronizada por chamadas de bloqueio para janelas na memória alocadas por MPI_Alloc_mem. Os bloqueios só podem ser utilizados de forma portável nessa memória.

O argumento assert é utilizado para indicar condições especiais para a vedação que uma implementação pode utilizar para otimizar a operação de MPI_Win_fence . O valor zero está sempre correto. Outros valores de asserção podem ser ORed juntos. As afirmações válidas para MPI_Win_fence são:

  • MPI_MODE_NOCHECK - nenhum outro processo se mantém ou tentará adquirir um bloqueio em conflito, enquanto o autor da chamada mantém o bloqueio da janela. Isto é útil quando a exclusão mútua é alcançada por outros meios, mas as operações de coerência que podem ser anexadas ao bloqueio e desbloquear chamadas ainda são necessárias.

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

Funções de Comunicações One-Sided MPI