MPI_Comm_create_keyval 函数

创建新的属性键。

语法

int MPIAPI MPI_Comm_create_keyval(
  _In_opt_ MPI_Comm_copy_attr_function   *comm_copy_attr_fn,
  _In_opt_ MPI_Comm_delete_attr_function *comm_delete_attr_fn,
  _Out_    int                           *comm_keyval,
  _In_opt_ void                          *extra_state
);

参数

  • comm_copy_attr_fn [in, 可选]
    keyval 的复制回调函数。

  • comm_delete_attr_fn [in, 可选]
    删除 keyval 的回调函数。

  • comm_keyval [out]
    用于将来访问的键值。

  • extra_state [in, 可选]
    回调函数的额外状态。

返回值

MPI_SUCCESS

Fortran

    MPI_COMM_CREATE_KEYVAL(COMM_COPY_ATTR_FN, COMM_DELETE_ATTR_FN, COMM_KEYVAL,
            EXTRA_STATE, IERROR)
        EXTERNAL COMM_COPY_ATTR_FN, COMM_DELETE_ATTR_FN
        INTEGER COMM_KEYVAL, IERROR
        INTEGER(KIND=MPI_ADDRESS_KIND) EXTRA_STATE

注解

键值是全局 (可用于) 的所有通信者。

默认的复制和删除函数可用。 这些 是MPI_COMM_NULL_COPY_FN - 空复制函数 MPI_COMM_NULL_DELETE_FN - 空删除函数 MPI_COMM_DUP_FN - 简单 dup 函数

C 和 Fortran 之间存在细微的差异,要求copy_fn使用调用 MPI_Comm_create_keyval 的同一语言编写。 对于大多数用户来说,这应该不是问题;只有在同一程序中同时使用 Fortran 和 C 的编程人员需要确保他们遵循此规则。

要求

产品

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 缓存函数

MPI_Comm_copy_attr_function

MPI_Comm_delete_attr_function