MPI_Win_allocate_shared函式
建立 MPI Window 物件,以使用直接載入/存放區指示,從視窗群組中的所有進程存取已配置的記憶體。
語法
int MPIAPI MPI_Win_allocate_shared(
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_SHARED(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中所有進程之間共用之大小位元組的記憶體,並在baseptr中傳回本機配置區段的指標,可用於呼叫進程上的載入/儲存存取。 本機配置的記憶體可以是遠端進程載入/儲存存取的目標;您可以使用函式 MPI_Win_shared_query來查詢其他進程的基底指標。 呼叫也會傳回視窗物件,供 comm 中的所有進程用來執行 RMA 作業。 每個進程的大小引數可能不同,且 size = 0 有效。 使用者必須負責確保 communicator comm 代表一組進程,這些進程可以建立可由群組中的所有進程存取的共用記憶體區段。
規格需求
產品 |
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 |