Udostępnij za pośrednictwem


MPI_Win_allocate_shared, funkcja

Tworzy obiekt okna MPI, który przydziela pamięć, do przydzielonej pamięci można uzyskać dostęp ze wszystkich procesów w grupie okna z instrukcjami bezpośredniego ładowania/przechowywania.

Składnia

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
);

Parametry

  • Rozmiar
    Rozmiar okna pamięci w bajtach.

  • disp_unit
    Rozmiar jednostki lokalnej dla wysiedleń w bajtach.

  • informacje o
    Argument informacji.

  • Comm
    Wewnątrzkomornik.

  • baseptr [out]
    Adres lokalnego przydzielonego segmentu okna.

  • win [out]
    Obiekt okna zwrócony przez wywołanie .

Wartość zwracana

Zwraca MPI_SUCCESS powodzenia. W przeciwnym razie wartość zwracana jest kodem błędu.

W fortran wartość zwracana jest przechowywana w parametrze 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

Uwagi

Jest to zbiorcze wywołanie wykonywane przez wszystkie procesy w grupie comm. W każdym procesie przydziela pamięć o rozmiarze co najmniej bajtów współużytkowanych przez wszystkie procesy w comm i zwraca wskaźnik do lokalnie przydzielonego segmentu w module baseptr , który może być używany do ładowania/przechowywania dostępu do procesu wywołującego. Przydzielona lokalnie pamięć może być obiektem docelowym dostępu do obciążenia/magazynu przez procesy zdalne; wskaźniki podstawowe dla innych procesów można wykonywać przy użyciu MPI_Win_shared_query funkcji. Wywołanie zwraca również obiekt okna, który może być używany przez wszystkie procesy w comm do wykonywania operacji RMA. Argument rozmiaru może być inny w każdym procesie i rozmiar = 0 jest prawidłowy. Użytkownik jest odpowiedzialny za zapewnienie, że komunikator reprezentuje grupę procesów, które mogą utworzyć segment pamięci udostępnionej, do którego można uzyskać dostęp przez wszystkie procesy w grupie.

Wymagania

Produkt

Pakiet redystrybucyjny PROGRAMU HPC Pack 2012 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 R2 MS-MPI, pakiet redystrybucyjny PAKIETU HPC Pack 2008 MS-MPI lub narzędzia klienckie PAKIETU HPC Pack 2008

Nagłówek

Mpi.h; Mpif.h

Biblioteka

Msmpi.lib

DLL

Msmpi.dll

Zobacz też

MPI One-Sided Communications Functions