Freigeben über


MPI_Win_attach-Funktion

Fügt eine lokale Speicherregion für den Remotezugriff innerhalb des angegebenen Fensters an.

Syntax

int MPIAPI MPI_Win_attach(
   MPI_Win  win,
   void*    base,
   MPI_Aint size
);

Parameter

  • win [in]
    Window-Objekt.

  • base [in]
    Anfängliche Adresse des anzufügenden Arbeitsspeichers.

  • Größe [in]
    Größe des anzufügenden Arbeitsspeichers in Bytes.

Rückgabewert

Gibt MPI_SUCCESS nach Erfolg zurück. Andernfalls ist der Rückgabewert ein Fehlercode.

In Fortran wird der Rückgabewert im IERROR-Parameter gespeichert.

Fortran

    MPI_WIN_ATTACH(WIN, BASE, SIZE, IERROR)
        INTEGER WIN, IERROR
        <type> BASE(*)
        INTEGER(KIND=MPI_ADDRESS_KIND) SIZE

Hinweise

Fügt eine lokale Speicherregion ab basis für den Remotezugriff innerhalb des angegebenen Fensters an. Der angegebene Speicherbereich darf keinen Teil enthalten, der bereits an den Fenstergewinn angefügt ist, d. h. das gleichzeitige Anfügen von überlappendem Arbeitsspeicher innerhalb desselben Fensters ist fehlerhaft. Das Argument win muss ein Fenster sein, das mit MPI_Win_create_dynamic erstellt wurde. Der lokale Speicherbereich, der an das Fenster angefügt ist, besteht aus Größenbytes, beginnend bei der Adressbasis. In C ist base die Startadresse eines Speicherbereichs. In Fortran kann das erste Element eines Speicherbereichs oder ein ganzes Array übergeben werden, das einfach zusammenhängend sein muss. Mehrere (aber nicht überlappende) Speicherbereiche können an dasselbe Fenster angefügt werden.

Anforderungen

Produkt

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package oder HPC Pack 2008 Client Utilities

Header

Mpi.h; Mpif.h

Bibliothek

Msmpi.lib

DLL

Msmpi.dll

Weitere Informationen

MPI One-Sided Communications Functions