Freigeben über


MPI_User_function-Funktion

MPI_User_function ist ein Platzhalter für den anwendungsdefinierte Funktionsnamen.

Syntax

void MPI_User_function(
       _In_count_   invec,
       _Inout_ void *inoutvec,
  _In_ int          *len,
  _In_ MPI_Datatype *datatype
);

Parameter

  • invec
    Array von Elementen, die die Benutzerfunktion kombiniert.

  • inoutvec
    Array von Elementen, die die Benutzerfunktion kombiniert.

  • len [in]
    Länge von invec und inoutvec.

  • Datentyp [in]
    Ein Handle für den Datentyp, der an den Aufruf von MPI_Reduce übergeben wurde.

Fortran

    SUBROUTINE USER_FUNCTION(INVEC, INOUTVEC, LEN, DATATYPE)
        <type> INVEC(LEN), INOUTVEC(LEN)
        INTEGER LEN, DATATYPE

Hinweise

Der benutzerdefinierte Vorgang wird als assoziativ angenommen. Wenn commute = true ist, sollte der Vorgang sowohl kommutativ als auch assoziativ sein. Wenn commute = false, dann ist die Reihenfolge der Operanden festgelegt und so definiert, dass sie in aufsteigender Reihenfolge der Prozessrangfolge ab Prozess null liegt. Die Reihenfolge der Auswertung kann unter Nutzung der Zuordnung des Vorgangs geändert werden. Wenn commute = true ist, kann die Auswertungsreihenfolge unter Nutzung von Kommutativität und Assozialität geändert 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-Kollektivfunktionen

MPI_Op_create