Поделиться через


функция MPI_Comm_dup

Дублирует существующий коммуникатор со связанными значениями ключей. Для каждого значения ключа соответствующая функция обратного вызова копирования определяет значение атрибута, связанное с этим ключом в новом коммуникаторе. Обратный вызов копирования может, например, удалить атрибут из нового коммуникатора.

Синтаксис

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

Параметры

  • Comm
    Дублирующийся коммуникатор.

  • newcomm [out]
    При возврате содержит дескриптор для нового коммуникатора. Новый коммуникатор имеет ту же группу или группы и все скопированные кэшированные сведения из источника, но он содержит новые сведения контекста.

Возвращаемое значение

Возвращает MPI_SUCCESS при успешном выполнении. В противном случае возвращаемое значение представляет собой код ошибки.

В Fortran возвращаемое значение хранится в параметре IERROR .

Fortran

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

Комментарии

Эта функция создает дубликат пространства связи с теми же свойствами, что и исходный коммуникатор. Сюда входят любые атрибуты и топологии. Эта функция действительна, даже если имеются ожидающие взаимодействия типа "точка — точка", в которых используется исходный коммуникатор.

Пользователь может вызвать функцию MPI_Comm_dup в начале параллельного процесса, а затем освободить дубликат коммуникатора с помощью функции MPI_Comm_free . Также возможны другие модели управления коммуникаторами.

Эта функция применяется как к внутриобщим, так и к интеркоммуникаторам.

Требования

Продукт

Распространяемый пакет HPC 2012 MS-MPI, пакет HPC 2008 R2 распространяемый пакет MS-MPI, пакет HPC 2008 MS-MPI или клиентские служебные программы пакета HPC 2008

Заголовок

Mpi.h; Mpif.h

Библиотека

Msmpi.lib

DLL

Msmpi.dll

См. также раздел

Функции коммуникатора MPI