Compartilhar 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 acessar a janela de destino ao mesmo tempo (se MPI_LOCK_SHARED) ou não (MPI_LOCK_EXCLUSIVE).

  • rank
    Classificação da janela bloqueada.

  • Assert
    Usado para otimizar essa chamada; zero pode ser usado como padrão.

  • win
    Objeto Window.

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

Comentários

O nome dessa rotina é enganoso. Em particular, essa rotina não precisa ser bloqueada, exceto quando o processo de destino é o processo de chamada.

As implementações podem restringir o uso da comunicação RMA sincronizada por chamadas de bloqueio para janelas na memória alocadas por MPI_Alloc_mem. Os bloqueios só podem ser usados portavelmente nessa memória.

O argumento assert é usado para indicar condições especiais para a cerca que uma implementação pode usar para otimizar a operação de MPI_Win_fence . O valor zero está sempre correto. Outros valores de asserção podem ser ORjuntos. As declarações válidas para MPI_Win_fence são:

  • MPI_MODE_NOCHECK - nenhum outro processo é retido ou tentará adquirir um bloqueio conflitante, enquanto o chamador mantém o bloqueio da janela. Isso é útil quando a exclusão mútua é obtida por outros meios, mas as operações de coerência que podem ser anexadas às chamadas de bloqueio e desbloqueio ainda são necessárias.

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