funktionen MPI_Win_lock
Påbörjar en RMA-åtkomstepook vid målprocessen.
Syntax
int MPIAPI MPI_Win_lock(
int lock_type,
int rank,
int assert,
MPI_Win win
);
Parametrar
lock_type
Anger om andra processer kan komma åt målfönstret samtidigt (om MPI_LOCK_SHARED) eller inte (MPI_LOCK_EXCLUSIVE).Frodigt
Rangordning för låst fönster.Hävda
Används för att optimera det här anropet; noll kan användas som standard.Vinna
Fönsterobjekt.
Returvärde
Returnerar MPI_SUCCESS vid lyckat resultat. Annars är returvärdet en felkod.
I Fortran lagras returvärdet i parametern IERROR .
Fortran
MPI_WIN_LOCK(LOCK_TYPE, RANK, ASSERT, WIN, IERROR)
INTEGER LOCK_TYPE, RANK, ASSERT, WIN, IERROR
Kommentarer
Namnet på den här rutinen är missvisande. I synnerhet behöver den här rutinen inte blockeras, förutom när målprocessen är anropsprocessen.
Implementeringar kan begränsa användningen av RMA-kommunikation som synkroniseras av låsningsanrop till fönster i minnet som allokeras av MPI_Alloc_mem. Lås kan endast användas portabelt i sådant minne.
Kontrollargumentet används för att ange särskilda villkor för stängslet som en implementering kan använda för att optimera MPI_Win_fence åtgärden. Värdet noll är alltid korrekt. Andra kontrollvärden kan vara ELLERtillsammans. Intyg som är giltiga för MPI_Win_fence är:
- MPI_MODE_NOCHECK – inga andra processer håller, eller försöker hämta ett konfliktlås, medan anroparen håller fönsterlåset. Detta är användbart när ömsesidig uteslutning uppnås på andra sätt, men de konsekvensåtgärder som kan kopplas till lås- och upplåsningsanropen krävs fortfarande.
Krav
Produkt |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package eller HPC Pack 2008 Client Utilities |
Huvud |
Mpi.h; Mpif.h |
Bibliotek |
Msmpi.lib |
DLL |
Msmpi.dll |