共用方式為


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

另請參閱

MPI One-Sided Communications 函式