MPI_Win_lock函式
開始目標進程的 RMA 存取 Epoch。
語法
int MPIAPI MPI_Win_lock(
int lock_type,
int rank,
int assert,
MPI_Win win
);
參數
lock_type
指出如果 MPI_LOCK_SHARED) (MPI_LOCK_EXCLUSIVE ) ,其他進程是否可以同時存取目標視窗 (。rank
鎖定視窗的排名。斷言
用來優化此呼叫;零可作為預設值。win
Window 物件。
傳回值
傳回成功時 MPI_SUCCESS 。 否則,傳回值是錯誤碼。
在 Fortran 中,傳回值會儲存在 IERROR 參數中。
Fortran
MPI_WIN_LOCK(LOCK_TYPE, RANK, ASSERT, WIN, IERROR)
INTEGER LOCK_TYPE, RANK, ASSERT, WIN, IERROR
備註
此例程的名稱會造成誤導。 特別是,這個例程不需要封鎖,除非目標進程是呼叫進程。
實作可能會限制使用 RMA 通訊,該通訊會透過鎖定 呼叫MPI_Alloc_mem所配置的記憶體中的視窗進行同步處理。 鎖定只能在這類記憶體中移植使用。
assert 自變數可用來指出實作可用來優化MPI_Win_fence作業之柵欄的特殊條件。 值為零一律正確。 其他判斷提示值可能一起 或一起。 適用於 MPI_Win_fence 的判斷提示為:
- MPI_MODE_NOCHECK - 沒有其他進程保留,或嘗試取得衝突的鎖定,而呼叫端則保留窗口鎖定。 當以其他方式達成互斥時,這非常有用,但可能附加至鎖定和解除鎖定呼叫的一致性作業仍是必要的。
規格需求
產品 |
HPC Pack 2012 MS-MPI 可轉散發套件、HPC Pack 2008 R2 MS-MPI 可轉散發套件、HPC Pack 2008 MS-MPI 可轉散發套件或 HPC Pack 2008 用戶端公用程式 |
標頭 |
Mpi.h;Mpif.h |
媒體櫃 |
Msmpi.lib |
DLL |
Msmpi.dll |