Sdílet prostřednictvím


MPI_Win_lock funkce

Zahájí epochu přístupu RMA v cílovém procesu.

Syntaxe

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

Parametry

  • lock_type
    Určuje, jestli jiné procesy můžou přistupovat k cílovému okně současně (pokud MPI_LOCK_SHARED) nebo ne (MPI_LOCK_EXCLUSIVE).

  • Hodnost
    Pořadí uzamčených oken.

  • Assert
    Používá se k optimalizaci tohoto volání; Jako výchozí se může použít nula.

  • Vyhrát
    Objekt Okna.

Vrácená hodnota

Vrátí MPI_SUCCESS při úspěchu. V opačném případě je návratovou hodnotou kód chyby.

V nástroji Fortran je vrácená hodnota uložena v parametru IERROR .

Fortran

    MPI_WIN_LOCK(LOCK_TYPE, RANK, ASSERT, WIN, IERROR)
        INTEGER LOCK_TYPE, RANK, ASSERT, WIN, IERROR

Poznámky

Název této rutiny je zavádějící. Konkrétně tato rutina nemusí blokovat, s výjimkou případů, kdy cílový proces je proces volání.

Implementace mohou omezit použití komunikace RMA, která je synchronizována voláním zámku do oken v paměti přidělené MPI_Alloc_mem. Zámky se dají portačně používat jenom v takové paměti.

Argument assert se používá k označení zvláštních podmínek pro plot, které implementace může použít k optimalizaci operace MPI_Win_fence . Hodnota nula je vždy správná. Jiné hodnoty kontrolního výrazu mohou být nebospolečně. Kontrolní výrazy platné pro MPI_Win_fence jsou:

  • MPI_MODE_NOCHECK – žádný jiný proces nezadržuje ani se nepokusí získat konfliktní zámek, zatímco volající drží zámek okna. To je užitečné, pokud je vzájemné vyloučení dosaženo jinými způsoby, ale operace soudržnosti, které mohou být připojeny k volání zámku a odemknutí, jsou stále vyžadovány.

Požadavky

Produkt

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

Hlavička

Mpi.h; Mpif.h

Knihovna

Msmpi.lib

DLL

Msmpi.dll

Viz také

Funkce MPI One-Sided Communications