MPI_Win_lock関数
ターゲット プロセスで RMA アクセス エポックを開始します。
構文
int MPIAPI MPI_Win_lock(
int lock_type,
int rank,
int assert,
MPI_Win win
);
パラメーター
lock_type
他のプロセスが同時にターゲット ウィンドウにアクセスできるかどうかを示します ( MPI_LOCK_SHARED場合)、アクセスできない (MPI_LOCK_EXCLUSIVE)。rank
ロックされたウィンドウのランク。assert
この呼び出しを最適化するために使用されます。0 を既定値として使用できます。win
Window オブジェクト。
戻り値
成功 したMPI_SUCCESS を返します。 それ以外の場合、戻り値はエラー コードです。
Fortran では、戻り値は IERROR パラメーターに格納されます。
Fortran
MPI_WIN_LOCK(LOCK_TYPE, RANK, ASSERT, WIN, IERROR)
INTEGER LOCK_TYPE, RANK, ASSERT, WIN, IERROR
注釈
このルーチンの名前は誤解を招きます。 特に、ターゲット プロセスが呼び出し元プロセスである場合を除き、このルーチンはブロックする必要はありません。
実装では、MPI_Alloc_memによって割り当てられたメモリ内のウィンドウへのロック呼び出しによって同期される RMA 通信の使用 が制限される場合があります。 ロックは、このようなメモリ内でのみ移植可能に使用できます。
assert 引数は、実装がMPI_Win_fence操作を最適化するために使用できるフェンスの特別な条件を示すために使用されます。 値 0 は常に正しいです。 その他のアサーション値は、一緒に ORにすることもできます。 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 |