MPI_Win_lock, funkcja
Rozpoczyna epokę dostępu RMA w procesie docelowym.
Składnia
int MPIAPI MPI_Win_lock(
int lock_type,
int rank,
int assert,
MPI_Win win
);
Parametry
lock_type
Wskazuje, czy inne procesy mogą uzyskiwać dostęp do okna docelowego w tym samym czasie (jeśli MPI_LOCK_SHARED), czy też nie (MPI_LOCK_EXCLUSIVE).Rank
Ranga zablokowanego okna.Assert
Służy do optymalizowania tego wywołania; zero może być używane jako wartość domyślna.Wygrać
Obiekt okna.
Wartość zwracana
Zwraca MPI_SUCCESS po powodzeniu. W przeciwnym razie zwracana wartość jest kodem błędu.
W fortran wartość zwracana jest przechowywana w parametrze IERROR .
Fortran
MPI_WIN_LOCK(LOCK_TYPE, RANK, ASSERT, WIN, IERROR)
INTEGER LOCK_TYPE, RANK, ASSERT, WIN, IERROR
Uwagi
Nazwa tej procedury jest myląca. W szczególności ta procedura nie musi blokować, z wyjątkiem sytuacji, gdy proces docelowy jest procesem wywołującym.
Implementacje mogą ograniczać korzystanie z komunikacji RMA synchronizowanej przez wywołania blokady do okien w pamięci przydzielonej przez MPI_Alloc_mem. Blokady mogą być używane tylko w takiej pamięci.
Argument potwierdzenia służy do wskazywania specjalnych warunków ogrodzenia, których implementacja może użyć do optymalizacji operacji MPI_Win_fence . Wartość zero jest zawsze poprawna. Inne wartości asercji mogą być połączone ze sobą lub. Asercji, które są prawidłowe dla MPI_Win_fence , to:
- MPI_MODE_NOCHECK — żaden inny proces nie zostanie zablokowany lub podejmie próbę uzyskania blokady powodującej konflikt, podczas gdy obiekt wywołujący przechowuje blokadę okna. Jest to przydatne, gdy wzajemne wykluczenie jest osiągane za pomocą innych środków, ale operacje spójności, które mogą być dołączone do blokady i odblokowywania wywołań, są nadal wymagane.
Wymagania
Produkt |
Pakiet redystrybucyjny HPC Pack 2012 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 R2 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 MS-MPI lub narzędzia klienckie HPC Pack 2008 |
Nagłówek |
Mpi.h; Mpif.h |
Biblioteka |
Msmpi.lib |
DLL |
Msmpi.dll |