Condividi tramite


funzione MPI_Comm_dup

Duplica un comunicatore esistente con i valori di chiave associati. Per ogni valore della chiave, la rispettiva funzione di callback di copia determina il valore dell'attributo associato a questa chiave nel nuovo comunicatore. Il callback di copia può, ad esempio, eliminare l'attributo dal nuovo comunicatore.

Sintassi

int MPIAPI MPI_Comm_dup(
        MPI_Comm comm,
  _Out_ MPI_Comm *newcomm
);

Parametri

  • Comm
    Comunicatore da duplicare.

  • newcomm [out]
    Al ritorno, contiene un handle per un nuovo comunicatore. Il nuovo comunicatore ha lo stesso gruppo o i gruppi e tutte le informazioni copiate memorizzate nella cache dall'origine, ma contengono nuove informazioni di contesto.

Valore restituito

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

In Fortran il valore restituito viene archiviato nel parametro IERROR .

Fortran

    MPI_COMM_DUP(COMM,NEWCOMM,IERROR)
        INTEGER COMM, NEWCOMM, IERROR

Commenti

Questa funzione crea uno spazio di comunicazione duplicato con le stesse proprietà del comunicatore originale. Sono inclusi tutti gli attributi e le topologie. Questa funzione è valida anche se sono presenti comunicazioni point-to-point in sospeso che coinvolgono il comunicatore di origine.

Un utente può chiamare la funzione MPI_Comm_dup all'inizio del processo parallelo e successivamente liberare il comunicatore duplicato usando la funzione MPI_Comm_free . Sono possibili anche altri modelli di gestione dei comunicatori.

Questa funzione si applica sia agli intracommunicators che ai intercommunicator.

Requisiti

Prodotto

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

Intestazione

Mpi.h; Mpif.h

Libreria

Msmpi.lib

DLL

Msmpi.dll

Vedi anche

Funzioni di Comunicatore MPI