Freigeben über


MPI_Comm_dup-Funktion

Dupliziert einen vorhandenen Kommunikator mit zugeordneten Schlüsselwerten. Für jeden Schlüsselwert bestimmt die jeweilige Kopierrückruffunktion den Attributwert, der diesem Schlüssel im neuen Communicator zugeordnet ist. Der Kopierrückruf kann z. B. das Attribut aus dem neuen Communicator löschen.

Syntax

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

Parameter

  • comm
    Der zu duplizierende Kommunikator.

  • newcomm [out]
    Enthält bei der Rückgabe ein Handle für einen neuen Kommunikator. Der neue Kommunikator verfügt über dieselbe Gruppe bzw. gruppen und alle kopierten zwischengespeicherten Informationen aus der Quelle, enthält jedoch neue Kontextinformationen.

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_COMM_DUP(COMM,NEWCOMM,IERROR)
        INTEGER COMM, NEWCOMM, IERROR

Hinweise

Diese Funktion erstellt einen doppelten Kommunikationsraum mit den gleichen Eigenschaften wie der ursprüngliche Kommunikator. Dies schließt alle Attribute und Topologien ein. Diese Funktion ist auch dann gültig, wenn punkt-zu-Punkt-Kommunikationen ausstehen, die den Quellkommunikator einbeziehen.

Ein Benutzer kann die MPI_Comm_dup-Funktion zu Beginn des parallelen Prozesses aufrufen und den duplizierten Kommunikator später mithilfe der MPI_Comm_free-Funktion freigeben. Auch andere Modelle der Kommunikatorverwaltung sind möglich.

Diese Funktion gilt sowohl für Intrakommunikations- als auch für Interkommunikationsvermittler.

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

Weitere Informationen

MPI Communicator-Funktionen