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


функция 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 [в, необязательно]
    Удаление функции обратного вызова для keyval.

  • comm_keyval [out]
    Значение ключа для будущего доступа.

  • extra_state [в, необязательно]
    Дополнительное состояние для функций обратного вызова.

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

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 2012 MS-MPI, пакет HPC 2008 R2 распространяемый пакет MS-MPI, пакет HPC 2008 MS-MPI распространяемый пакет или служебные программы клиента ПАКЕТА HPC 2008

Заголовок

Mpi.h; Mpif.h

Библиотека

Msmpi.lib

DLL

Msmpi.dll

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

Функции кэширования MPI

MPI_Comm_copy_attr_function

MPI_Comm_delete_attr_function