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 Pack 2012 MS-MPI 可再发行程序包、HPC Pack 2008 R2 MS-MPI 可再发行程序包、HPC Pack 2008 MS-MPI 可再发行程序包或 HPC Pack 2008 客户端实用工具

标头

Mpi.h;Mpif.h

Msmpi.lib

DLL

Msmpi.dll

另请参阅

MPI Communicator 函数