次の方法で共有


MPI_Win_attach関数

指定されたウィンドウ内でリモート アクセス用のローカル メモリ領域をアタッチします。

構文

int MPIAPI MPI_Win_attach(
   MPI_Win  win,
   void*    base,
   MPI_Aint size
);

パラメーター

  • win [in]
    Window オブジェクト。

  • base [in]
    アタッチするメモリの初期アドレス。

  • size [in]
    アタッチするメモリのサイズ (バイト単位)。

戻り値

成功 したMPI_SUCCESS を返します。 それ以外の場合、戻り値はエラー コードです。

Fortran では、戻り値は IERROR パラメーターに格納されます。

Fortran

    MPI_WIN_ATTACH(WIN, BASE, SIZE, IERROR)
        INTEGER WIN, IERROR
        <type> BASE(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) SIZE

注釈

指定されたウィンドウ内でリモート アクセス用の ベース から始まるローカル メモリ領域をアタッチします。 指定されたメモリ領域には、ウィンドウ win に既にアタッチされている部分が含まれていない必要があります。つまり、同じウィンドウ内で重複するメモリを同時にアタッチするとエラーが発生します。 引数 win は、 MPI_Win_create_dynamicで作成されたウィンドウである必要があります。 ウィンドウに接続されているローカル メモリ領域は、アドレス ベースから始まるサイズ バイトで構成されます。 C では、base はメモリ領域の開始アドレスです。 Fortran では、メモリ領域または配列全体の最初の要素を渡すことができます。これは 単に連続している必要があります。 複数の (重複しない) メモリ領域を同じウィンドウにアタッチできます。

要件

製品

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 通信関数