Delen via


MPI_Group_range_incl functie

Een groepsconstructor die wordt gebruikt om een nieuwe groep te definiëren door extra rangschikkingen toe te voegen aan een bestaande groep.

Syntaxis

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

Parameters

  • groep
    De bestaande groep.

  • n
    Het aantal drietallen in matrixbereiken.

  • Bereiken
    Een matrix met specificaties van processen die moeten worden opgenomen in de nieuwe groep. Elk element van de matrix geeft een procesbereik op in de vorm van drie gehele getallen voor de eerste rang, laatste rang en stap.

  • newgroup [out]
    Een aanwijzer naar een ingang die de nieuwe groep vertegenwoordigt. De nieuwe groep bevat de aanvullende rangschikkingen. De volgorde wordt gedefinieerd door bereiken.

Retourwaarde

Retourneert MPI_SUCCESS bij succes. Anders is de retourwaarde een foutcode.

In Fortran wordt de retourwaarde opgeslagen in de parameter IERROR .

Fortran

    MPI_GROUP_RANGE_INCL(GROUP, N, RANGES, NEWGROUP, IERROR)
        INTEGER GROUP, N, RANGES(3,*), NEWGROUP, IERROR

Opmerkingen

Als bereiken bestaan uit de drietallen (eerste1, laatste1, stride1) , ..., (firstn, lastn, striden), then newgroup bestaat uit de reeks processen in groep met rangschikken eerste1, eerste1 + stride1, ..., RoundDown((last1 - first1)/stride1)*stride1, ..., firstn, firstn + striden, ..., RoundDown((lastn - firstn)/striden)*striden.

Elke berekende rang moet een geldige rang in de nieuwe groep zijn en alle berekende rangschikkingen moeten verschillend zijn. Anders retourneert de functie een fout.

Notitie

Houd er rekening mee dat u first[i] greater than last[i] kunt instellen en stride[i] negatief kan zijn, maar niet nul.

 

Dit is een lokale bewerking. Verschillende processen kunnen afzonderlijke groepen definiëren. Een proces kan een groep definiëren die zichzelf niet omvat.

De MPI-implementatie biedt geen mechanisme om een volledig nieuwe groep op te bouwen, maar alleen op basis van bestaande groepen. De basisgroep, waarop alle andere groepen zijn gedefinieerd, kan worden opgehaald met behulp van de functie MPI_Comm_group . Het is de groep die is gekoppeld aan de eerste communicator-MPI_COMM_WORLD.

Vereisten

Product

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

Header

Mpi.h; Mpif.h

Bibliotheek

Msmpi.lib

DLL

Msmpi.dll

Zie ook

MPI-groepsfuncties

MPI_Group_incl

MPI_Comm_group