funktionen MPI_Win_allocate_shared
Skapar ett MPI-fönsterobjekt som allokerar minne, allokerat minne kan nås från alla processer i fönstrets grupp med instruktioner för direkt inläsning/lagring.
Syntax
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
);
Parametrar
Storlek
Storleken på minnesfönstret i byte.disp_unit
Lokal enhetsstorlek för deplacement, i byte.Information om
Infoargument.Comm
Intrakommunikator.baseptr [ut]
Adress för det lokala allokerade fönstersegmentet.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_SHARED(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 av minst storleksbyte som delas mellan alla processer i kommatecken och returnerar en pekare till det lokalt allokerade segmentet i baseptr som kan användas för åtkomst till belastning/lagring i anropsprocessen. Lokalt allokerat minne kan vara målet för belastnings-/lagringsåtkomster via fjärrprocesser. baspekarna för andra processer kan efterfrågas med hjälp av funktionen MPI_Win_shared_query. Anropet returnerar också ett fönsterobjekt som kan användas av alla processer i kommatecken för att utföra RMA-åtgärder. Storleksargumentet kan vara olika vid varje process och storleken = 0 är giltig. Det är användarens ansvar att se till att kommunikationskommorna representerar en grupp processer som kan skapa ett segment för delat minne som kan nås av alla processer i gruppen.
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 |