共用方式為


MPI_Win_allocate函式

建立配置記憶體的 MPI Window 物件。

語法

int MPIAPI MPI_Win_allocate(
        MPI_Aint size,
        int      disp_unit,
        MPI_Info info,
        MPI_Comm comm,
  _Out_ void     *baseptr,
  _Out_ MPI_Win  *win
);

參數

  • size
    以位元組為單位的記憶體視窗大小。

  • disp_unit
    位移的本機單位大小,以位元組為單位。

  • info
    Info 引數。

  • 通訊
    溝通。

  • baseptr [out]
    記憶體視窗的初始位址。

  • win [out]
    呼叫傳回的 Window 物件。

傳回值

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

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

Fortran

    MPI_WIN_ALLOCATE(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 中的所有進程用來執行 RMA 作業。 傳回的記憶體是由每個進程 本機的大小 位元組所組成,從位址 baseptr 開始,而且與視窗相關聯,就像在現有記憶體上呼叫 MPI_Win_create的使用者 一樣。 每個進程的大小引數可能不同,而 size = 0有效;不過,程式庫可能會配置並公開更多記憶體,以建立快速、全域對稱的配置。

規格需求

產品

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