Составители:
Рубрика:
58
Определение
ранга
(
rank
)
процесса
в
группе
group
int MPI_Group_rank(MPI_Group group, int *rank)
MPI_GROUP_RANK(GROUP, RANK, IERR)
Если
процесс
не
входит
в
указанную
группу
,
возвращается
значение
MPI_UNDEFINED
.
Преобразование
ранга
процесса
в
одной
группе
в
его
ранг
относительно
другой
группы
int MPI_Group_translate_ranks(MPI_Group group1, int n, int *ranks1,
MPI_Group group2, int *ranks2)
MPI_GROUP_TRANSLATE_RANKS(GROUP1, N, RANKS1, GROUP2, RANKS2, IERR)
Сравнение
групп
group1
и
group2
int MPI_Group_compare(MPI_Group group1, MPI_Group group2, int *result)
MPI_GROUP_COMPARE(GROUP1, GROUP2, RESULT, IERR)
Если
группы
полностью
совпадают
,
возвращается
значение
MPI_IDENT
.
Если
члены
обеих
групп
одинаковы
,
но
их
ранги
отличаются
,
результатом
будет
значение
MPI_SIMILAR
.
Если
группы
различны
,
результатом
будет
MPI_UNEQUAL
.
Создание
дубликата
уже
существующего
коммуникатора
oldcomm
int MPI_Comm_dup(MPI_Comm oldcomm, MPI_Comm *newcomm)
MPI_COMM_DUP(OLDCOMM, NEWCOMM, IERR)
В
результате
вызова
данной
подпрограммы
создается
новый
коммуникатор
(
newcomm
)
с
той
же
группой
процессов
,
с
теми
же
атрибутами
,
но
с
другим
контекстом
.
Подпрограмма
может
применяться
как
к
интра
-,
так
и
к
интеркоммуникаторам
.
Создание
нового
коммуникатора
(
newcomm
)
из
подмножества
процессов
(
group
)
другого
коммуникатора
(
oldcomm
)
int MPI_Comm_create(MPI_Comm oldcomm, MPI_Group group, MPI_Comm
*newcomm)
MPI_COMM_CREATE(OLDCOMM, GROUP, NEWCOMM, IERR)
Вызов
этой
подпрограммы
должны
выполнить
все
процессы
из
старого
коммуникатора
,
даже
если
они
не
входят
в
группу
group
,
с
одинаковыми
аргументами
.
Если
одновременно
создаются
несколько
коммуникаторов
,
они
должны
создаваться
в
одной
последовательности
всеми
процессами
.
Создание
нескольких
коммуникаторов
сразу
методом
расщепления
int MPI_Comm_split(MPI_Comm oldcomm, int split, int rank, MPI_Comm*
newcomm)
MPI_COMM_SPLIT(OLDCOMM, SPLIT, RANK, NEWCOMM, IERR)
Группа
процессов
,
связанных
с
коммуникатором
oldcomm
,
разбивается
на
непересекающиеся
подгруппы
,
по
одной
для
каждого
значения
аргумента
split
.
Процессы
Страницы
- « первая
- ‹ предыдущая
- …
- 56
- 57
- 58
- 59
- 60
- …
- следующая ›
- последняя »
