次の方法で共有


MPI_Rput関数

要求ベースの RMA put 操作。

構文

int MPIAPI MPI_Rput(
  _In_  void         *origin_addr,
        int          origin_count,
        MPI_Datatype origin_datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        int          target_count,
        MPI_Datatype target_datatype,
        MPI_Win      win,
  _Out_ MPI_Request  *request
);

パラメーター

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

  • origin_count
    配信元バッファー内のエントリの数。

  • origin_datatype
    配信元バッファー内の各エントリのデータ型。

  • target_rank
    ターゲットのランク。

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

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

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

  • win
    通信に使用される Window オブジェクト。

  • request [out]
    RMA 要求。

戻り値

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

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

Fortran

    MPI_RPUT(ORIGIN_ADDR, ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK,
                TARGET_DISP, TARGET_COUNT, TARGET_DATATYPE, WIN, REQUEST, IERROR)
        <type> ORIGIN_ADDR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
        INTEGER ORIGIN_COUNT, ORIGIN_DATATYPE, TARGET_RANK, TARGET_COUNT,
        TARGET_DATATYPE, WIN, REQUEST, IERROR

注釈

MPI_Rput通信要求オブジェクトを割り当てて要求ハンドル (引数要求) に関連付ける点を除き、MPI_Putに似ています。 MPI_Rput操作の完了 (つまり、対応するテストまたは待機後) は、送信者が配信元バッファー内の場所を自由に更新できるようになったことを示します。 ターゲット ウィンドウでデータが使用可能であることを示すものではありません。 リモート完了が必要な場合は、 MPI_Win_flushMPI_Win_flush_allMPI_Win_unlock、または MPI_Win_unlock_all を使用できます。

要件

製品

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