Dela via


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

Se även

MPI One-Sided Communications Functions