ПАРАЛЛЕЛЬНОЕ ПРОГРАММИРОВАНИЕ
71
С помощью подпрограммы MPI_Comm_set_name можно присвоить коммуни-
катору соmm строковое имя name:
int MPI_Comm_set_name(MPI_Comm com, char *name)
MPI_COMM_SET_NAME(COM, NAME, IERR)
и наоборот, подпрограмма MPI_Comm_get_name возвращает name — строковое имя
коммуникатора comm:
int MPI_Comm_get_name(MPI_Comm comm, char *name, int *reslen)
MPI_COMM_GET_NAME(COMM, NAME, RESLEN, IERR)
Имя представляет собой массив символьных значений, длина которого должна
быть не менее mpi_max_name_string. Длина имени — выходной параметр reslen.
Проверка, является ли коммуникатор comm (это входной параметр) интер-
коммуникатором, выполняется подпрограммой MPI_Comm_test_inter:
int MPI_Comm_test_inter(MPI_Comm comm, int *flag)
MPI_COMM_TEST_INTER(COMM, FLAG, IERR)
Результатом служит значение флага (flag) "истина", если аргументом является
интеркоммуникатор.
Две области взаимодействия можно объединить в одну. Подпрограмма
MPI_Intercomm_merge создает интракоммуникатор newcomm из интеркоммуника-
тора oldcomm:
int MPI_Intercomm_merge(MPI_Comm oldcomm, int high,
MPI_Comm*newcomm)
MPI_INTERCOMM_MERGE(OLDCOMM, HIGH, NEWCOMM, IERR)
Параметр high здесь используется для упорядочения групп обоих интраком-
муникаторов в comm при создании нового коммуникатора.
Доступ к удаленной группе, связанной с интеркоммуникатором comm, можно
получить, обратившись к подпрограмме MPI_Comm_remote_group:
int MPI_Comm_remote_group(MPI_Comm comm, MPI_Group *group)
MPI_COMM_REMOTE_GROUP(COMM, GROUP, IERR)
Ее выходным параметром является удаленная группа group.
Подпрограмма MPI_Comm_remote_size определяет размер удаленной группы,
связанной с интеркоммуникатором comm:
int MPI_Comm_remote_size(MPI_Comm comm, int *size)
MPI_COMM_REMOTE_SIZE(COMM, SIZE, IERR)
1...,63,64,65,66,67,68,69,70,71,72 74,75,76,77,78,79,80,81,82,83,...180