funktionen MPI_Win_allocate
Skapar ett MPI-fönsterobjekt som allokerar minne.
Syntax
int MPIAPI MPI_Win_allocate(
MPI_Aint size,
int disp_unit,
MPI_Info info,
MPI_Comm comm,
_Out_ void *baseptr,
_Out_ MPI_Win *win
);
Parametrar
Storlek
Storleken på minnesfönstret i byte.disp_unit
Lokal enhetsstorlek för deplacement, i byte.Information om
Infoargument.Comm
Communicator.baseptr [ut]
Ursprunglig adress för minnesfönstret.win [out]
Fönsterobjekt som returneras av anropet.
Returvärde
Returnerar MPI_SUCCESS vid lyckat resultat. Annars är returvärdet en felkod.
I Fortran lagras returvärdet i parametern 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
Kommentarer
Det här är ett kollektivt anrop som körs av alla processer i gruppen med kommatecken. På varje process allokerar den minne med minst bytestorlek , returnerar en pekare till den och returnerar ett fönsterobjekt som kan användas av alla processer i kommatecken för att utföra RMA-åtgärder. Det returnerade minnet består av storleksbyte som är lokala för varje process, med början vid adressbasptern och associeras med fönstret som om användaren som heter MPI_Win_create på befintligt minne. Storleksargumentet kan vara olika vid varje process och storlek = 0 är giltigt. Ett bibliotek kan dock allokera och exponera mer minne för att skapa en snabb, globalt symmetrisk allokering.
Krav
Produkt |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package eller HPC Pack 2008 Client Utilities |
Huvud |
Mpi.h; Mpif.h |
Bibliotek |
Msmpi.lib |
DLL |
Msmpi.dll |