Freigeben über


MPI_Group_range_incl Funktion

Ein Gruppenkonstruktor, der verwendet wird, um eine neue Gruppe zu definieren, indem einer vorhandenen Gruppe zusätzliche Sätze von Rangfolgen hinzugefügt werden.

Syntax

int MPIAPI MPI_Group_range_incl(
        MPI_Group         group,
        int               n,
        _In_count_(n) int ranges[][3],
  _Out_ MPI_Group         *newgroup
);

Parameter

  • group
    Die vorhandene Gruppe.

  • n
    Die Anzahl der Drillinge in Arraybereichen.

  • Bereiche
    Ein Array von Spezifikationen von Prozessen, die in die neue Gruppe aufgenommen werden sollen. Jedes Element des Arrays gibt einen Prozessbereich in Form von drei ganzen Zahlen für den ersten Rang, den letzten Rang und den letzten Rang an.

  • newgroup [out]
    Ein Zeiger auf ein Handle, das die neue Gruppe darstellt. Die neue Gruppe enthält die zusätzlichen Sätze von Rangfolgen. Die Reihenfolge wird durch Bereiche definiert.

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_GROUP_RANGE_INCL(GROUP, N, RANGES, NEWGROUP, IERROR)
        INTEGER GROUP, N, RANGES(3,*), NEWGROUP, IERROR

Hinweise

Wenn Bereiche aus den Drillingen bestehen (first1 , last1, stride1) , ..., (firstn, lastn, striden), dann besteht newgroup aus der Sequenz der Prozesse in der Gruppe mit den Rängen first1, first1 + stride1, ..., RoundDown((last1 - first1)/stride1)*stride1, ..., firstn, firstn + striden, ..., RoundDown((lastn - firstn)/striden)*striden)*striden.

Jeder berechnete Rang muss ein gültiger Rang in der neuen Gruppe sein, und alle berechneten Ränge müssen unterschiedlich sein. Andernfalls gibt die Funktion einen Fehler zurück.

Hinweis

Beachten Sie, dass Sie first[i] größer als last[i]festlegen können, und stride[i] kann negativ, aber nicht 0 sein.

 

Dies ist ein lokaler Vorgang. Unterschiedliche Prozesse können unterschiedliche Gruppen definieren. Ein Prozess kann eine Gruppe definieren, die sich selbst nicht einschließt.

Die MPI-Implementierung bietet keinen Mechanismus, um eine Gruppe von Grund auf neu zu erstellen, sondern nur aus vorhandenen Gruppen. Die Basisgruppe, in der alle anderen Gruppen definiert sind, kann mithilfe der funktion MPI_Comm_group abgerufen werden. Dies ist die Gruppe, die dem anfänglichen Kommunikator MPI_COMM_WORLD zugeordnet ist.

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-Gruppenfunktionen

MPI_Group_incl

MPI_Comm_group