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 |