共用方式為


MPI_Fetch_and_op 函式

在一個資料元素上執行不可部分完成的讀取-修改寫入,並在累積作業之前傳回資料元素。

語法

int MPIAPI MPI_Fetch_and_op(
  _In_  void         *origin_addr,
  _Out_ void         *result_addr,
        MPI_Datatype datatype,
        int          target_rank,
        MPI_Aint     target_disp,
        MPI_Op       op,
        MPI_Win      win
);

參數

  • origin_addr [in]
    緩衝區的初始位址

  • result_addr [out]
    結果緩衝區的初始位址

  • datatype
    來源、結果和目標緩衝區中每個專案的資料類型

  • target_rank
    目標排名

  • target_disp
    從視窗開始到目標緩衝區開頭的位移

  • op
    reduce 作業

  • win
    window 物件

傳回值

傳回成功 時MPI_SUCCESS 。 否則,傳回值是錯誤碼。

在 Fortran 中,傳回值會儲存在 IERROR 參數中。

Fortran

    MPI_FETCH_AND_OP(ORIGIN_ADDR, RESULT_ADDR, DATATYPE,
                TARGET_RANK, TARGET_DISP, OP, WIN, IERROR)
        <type> ORIGIN_ADDR(*), RESULT_ADDR(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) TARGET_DISP
        INTEGER DATATYPE, TARGET_RANK, OP, WIN, IERROR

備註

target_rank和win所指定的目標視窗中,使用作業作業作業,在結果緩衝區中傳回result_addr累積之前,從源緩衝區 (origin_addr) target_disp緩衝區,將類型資料類型的一個元素累積至緩衝區。

來源和結果緩衝區必須脫離 (origin_addrresult_addr) 。 任何 預先定義的MPI_Reduce作業,以及 MPI_NO_OPMPI_REPLACE都可以指定為 op;無法使用使用者定義函數。 資料類型引數必須是預先定義的資料類型。 作業會以不可部分完成的方式執行。

規格需求

產品

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 Communications 函式