Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |