MPI_Win_allocate_shared関数
メモリを割り当てる MPI Window オブジェクトを作成します。割り当てられたメモリは、直接読み込み/ストア命令を使用してウィンドウのグループ内のすべてのプロセスからアクセスできます。
構文
int MPIAPI MPI_Win_allocate_shared(
MPI_Aint size,
int disp_unit,
MPI_Info info,
MPI_Comm comm,
_Out_ void *baseptr,
_Out_ MPI_Win *win
);
パラメーター
size
メモリ ウィンドウのサイズ (バイト単位)。disp_unit
変位のローカル単位サイズ (バイト単位)。info
Info 引数。comm
イントラコミュニケーター。baseptr [out]
ローカル割り当てウィンドウ セグメントのアドレス。win [out]
呼び出しによって返される Window オブジェクト。
戻り値
成功 したMPI_SUCCESS を返します。 それ以外の場合、戻り値はエラー コードです。
Fortran では、戻り値は IERROR パラメーターに格納されます。
Fortran
MPI_WIN_ALLOCATE_SHARED(SIZE, DISP_UNIT, INFO, COMM, BASEPTR, WIN, IERROR)
<type> BASEPTR(*)
INTEGER(KIND=MPI_ADDRESS_KIND) SIZE
INTEGER DISP_UNIT, INFO, COMM, WIN, IERROR
注釈
これは、comm のグループ内のすべてのプロセスによって実行される集合呼び出しです。各プロセスでは、comm 内のすべてのプロセス間で共有される少なくともサイズ バイトのメモリを割り当て、呼び出し元プロセスの読み込み/ストア アクセスに使用できる baseptr 内のローカルに割り当てられたセグメントへのポインターを返します。 ローカルに割り当てられたメモリは、リモート プロセスによるロード/ストア アクセスのターゲットにすることができます。他のプロセスのベース ポインターは、関数 MPI_Win_shared_queryを使用してクエリを実行できます。 呼び出しは、comm 内のすべてのプロセスが RMA 操作を実行するために使用できるウィンドウ オブジェクトも返します。 size 引数は各プロセスで異なる場合があり、size = 0 が有効です。 コミュニケーター comm が、グループ内のすべてのプロセスからアクセスできる共有メモリ セグメントを作成できるプロセスのグループを表すようにするのは、ユーザーの責任です。
要件
製品 |
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 |