次の方法で共有


MPI_Get_accumulate関数

アトミックな読み取り/変更/書き込みを実行し、累積操作の前にデータを返します。

構文

int MPIAPI MPI_Get_accumulate(
  _In_  void         *origin_addr,
        int          origin_count,
        MPI_Datatype origin_datatype,
  _Out_ void         *result_addr,
        int          result_count,
        MPI_Datatype result_datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        int          target_count,
        MPI_Datatype datatype,
        MPI_Op       op,
        MPI_Win      win
);

パラメーター

  • origin_addr [in]
    バッファーの初期アドレス

  • origin_count
    バッファー内のエントリの数

  • origin_datatype
    各バッファー エントリの datatype

  • result_addr [out]
    結果バッファーの初期アドレス

  • result_count
    結果バッファー内のエントリ数

  • result_datatype
    結果バッファー内の各エントリのデータ型

  • target_rank
    ターゲットのランク

  • target_disp
    ウィンドウの開始からターゲット バッファーの先頭への変位

  • target_count
    ターゲット バッファー内のエントリの数

  • datatype
    ターゲット バッファー内の各エントリのデータ型

  • op
    定義済みの reduce 操作

  • win
    window オブジェクト

戻り値

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

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

Fortran

    MPI_GET_ACCUMULATE(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_ADDR, RESULT_COUNT, RESULT_DATATYPE,
                TARGET_RANK, TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, OP, WIN, IERROR)
        <type> ORIGIN_ADDR(*), RESULT_ADDR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
        INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, RESULT_COUNT, RESULT_DATATYPE, TARGET_RANK, TARGET_COUNT,
        TARGET_DATATYPE, OP, WIN, IERROR

注釈

原点バッファー (origin_addr) からオフセットtarget_dispのバッファーにorigin_datatype型の要素origin_countを累積し、target_rankおよび win によって指定されたターゲット ウィンドウで、演算 op を使用して、target_dispによって指定された累積前のターゲット バッファーのコンテンツresult_addr結果バッファーに戻ります。 target_countおよびtarget_datatype。 配信元からターゲットに転送されるデータは、切り捨てずにターゲット バッファーに収まる必要があります。 同様に、ターゲットから配信元にコピーされたデータは、切り捨てずに結果バッファーに収まる必要があります。

配信元バッファーと結果バッファー (origin_addrresult_addr) は不整合である必要があります。 各 datatype 引数は、定義済みのデータ型または派生データ型である必要があります。すべての基本コンポーネントが同じ定義済みデータ型です。 すべてのデータ型引数は、同じ定義済みデータ型から構築する必要があります。 操作 操作 は、その定義済みの型の要素に適用されます。 target_datatype 重複するエントリを指定しないでください。ターゲット バッファーはターゲット ウィンドウまたは動的ウィンドウのアタッチされたメモリに収まる必要があります。 操作は、基本データ型ごとにアトミックに実行されます。

要件

製品

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