Condividi tramite


funzione MPI_Group_range_incl

Costruttore di gruppo utilizzato per definire un nuovo gruppo aggiungendo altri set di ranghi a un gruppo esistente.

Sintassi

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

Parametri

  • utenti
    Gruppo esistente.

  • n
    Numero di triplette negli intervalli di matrice.

  • Gamme
    Matrice di specifiche dei processi da includere nel nuovo gruppo. Ogni elemento della matrice specifica un intervallo di processi sotto forma di tre interi per il primo rango, l'ultimo rango e lo stride.

  • newgroup [out]
    Puntatore a un handle che rappresenta il nuovo gruppo. Il nuovo gruppo contiene i set aggiuntivi di ranghi. L'ordine è definito dagli intervalli.

Valore restituito

Restituisce MPI_SUCCESS sull'esito positivo. In caso contrario, il valore restituito è un codice di errore.

In Fortran il valore restituito viene archiviato nel parametro IERROR .

Fortran

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

Commenti

Se gli intervalli sono costituiti dai tripletti (primo1 , ultimo1, stride1) , ..., (firstn, lastn, striden), quindi newgroup è costituito dalla sequenza di processi in gruppo con classifica primi1, first1 + stride1, ..., RoundDown((last1 - first1)/stride1)*stride1, ..., firstn, firstn + striden, ..., RoundDown((lastn - firstn)/striden)*striden.

Ogni classificazione calcolata deve essere una classificazione valida nel nuovo gruppo e tutti i ranghi calcolati devono essere distinti. In caso contrario, la funzione restituisce un errore.

Nota

Si noti che è possibile impostare prima[i] maggiore dell'ultimo[i]e stride[i] può essere negativo, ma non può essere zero.

 

Si tratta di un'operazione locale. I diversi processi possono definire gruppi distinti. Un processo può definire un gruppo che non include se stesso.

L'implementazione MPI non fornisce un meccanismo per creare un gruppo da zero, ma solo da gruppi esistenti. Il gruppo di base, al quale sono definiti tutti gli altri gruppi, può essere recuperato usando la funzione MPI_Comm_group . È il gruppo associato al comunicatore iniziale MPI_COMM_WORLD.

Requisiti

Prodotto

Pacchetto ridistribuibile HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package o HPC Pack 2008 Utilità client

Intestazione

Mpi.h; Mpif.h

Libreria

Msmpi.lib

DLL

Msmpi.dll

Vedi anche

Funzioni del gruppo MPI

MPI_Group_incl

MPI_Comm_group