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


функция MPI_Group_range_incl

Конструктор группы, который используется для определения новой группы путем добавления дополнительных наборов рангов в существующую группу.

Синтаксис

int MPIAPI MPI_Group_range_incl(
        MPI_Group         group,
        int               n,
        _In_count_(n) int ranges[][3],
  _Out_ MPI_Group         *newgroup
);

Параметры

  • group
    Существующая группа.

  • n
    Число триплетов в диапазонах массива.

  • Диапазоны
    Массив спецификаций процессов для включения в новую группу. Каждый элемент массива задает диапазон процесса в виде трех целых чисел для первого ранга, последнего ранга и шага.

  • newgroup [out]
    Указатель на дескриптор, представляющий новую группу. Новая группа содержит дополнительные наборы рангов. Порядок определяется диапазонами.

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

Возвращает MPI_SUCCESS об успешном выполнении. В противном случае возвращаемое значение является кодом ошибки.

В Fortran возвращаемое значение хранится в параметре IERROR .

Fortran

    MPI_GROUP_RANGE_INCL(GROUP, N, RANGES, NEWGROUP, IERROR)
        INTEGER GROUP, N, RANGES(3,*), NEWGROUP, IERROR

Комментарии

Если диапазоны состоят из триплетов (first1 , last1, stride1) , ..., (firstn, lastn, striden), затем новая группа состоит из последовательности процессов в группе с рангами first1, first1 + шаг1, ..., RoundDown((last1 - first1)/stride1)*stride1, ..., firstn, firstn + striden, ..., RoundDown((lastn - firstn)/striden)*striden.

Каждый вычисляемый ранг должен быть допустимым в новой группе, а все вычисленные ранги должны быть уникальными. В противном случае функция возвращает ошибку.

Примечание

Обратите внимание, что параметр first[i] может быть больше last[i], а шаг[i] может быть отрицательным, но не может быть равен нулю.

 

Это локальная операция. Различные процессы могут определять различные группы. Процесс может определить группу, которая не включает себя.

Реализация MPI не предоставляет механизм для создания группы с нуля, а только из существующих групп. Базовую группу, в которой определены все остальные группы, можно получить с помощью функции MPI_Comm_group . Это группа, связанная с начальным MPI_COMM_WORLD коммуникатора.

Требования

Продукт

Распространяемый пакет 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_Group_incl

MPI_Comm_group