Ключевые значения для атрибутов распределяются системными средствами с
помощью MPI_{TYPE,
COMM,
WIN}_CREATE_KEYVAL
. Только такие
значения можно передавать функциям, которые используют значения ключа как
входные аргументы. Чтобы сообщать, что ошибочное ключевое значение передали
одной из этих функций, существует новый класс ошибок MPI: MPI_ERR_KEYVAL
.
Он может возвращаться функциямиMPI_ATTR_PUT
,
MPI_ATTR_GET
,
MPI_ATTR_DELETE
,
MPI_KEYVAL_FREE
,
MPI_{TYPE,
COMM,
WIN}_DELETE_ATTR
,
MPI_{TYPE,
COMM,
WIN}_SET_ATTR
,
[]MPI_{TYPE,
COMM,
WIN}_GET_ATTR
,
MPI_{TYPE,
COMM,
WIN}_FREE_KEYVAL
,
MPI_COMM_DUP
,
[]MPI_COMM_DISCONNECT
и MPI_COMM_FREE
. Последние три
включены, потому что keyval
- аргумент функций копирования и удаления
для атрибутов.