다음을 통해 공유


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
    배열 범위의 삼중값 수입니다.

  • 범위
    새 그룹에 포함할 프로세스 사양의 배열입니다. 배열의 각 요소는 첫 번째 순위, 마지막 순위 및 보폭에 대한 3개의 정수 형식으로 프로세스 범위를 지정합니다.

  • 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)으로 구성된 경우 newgroup은 순위가 first1, first1 + stride1, ..., RoundDown((last1 - first1)/stride1)*stride1)*stride1,..., firstn, firstn + striden, ..., RoundDown(lastn - firstn)/striden)*striden과 함께 그룹 내 프로세스 시퀀스로 구성됩니다.

계산된 각 순위는 새 그룹에서 유효한 순위여야 하며 모든 계산된 순위는 고유해야 합니다. 그렇지 않으면 함수가 오류를 반환합니다.

참고

먼저[i]를last[i]보다 크게 설정할 수 있으며 stride[i]는 음수일 수 있지만 0일 수는 없습니다.

 

로컬 작업입니다. 프로세스별로 고유한 그룹을 정의할 수 있습니다. 프로세스는 자신을 포함하지 않는 그룹을 정의할 수 있습니다.

MPI 구현은 처음부터 그룹을 빌드하는 메커니즘을 제공하지 않고 기존 그룹에서만 제공합니다. 다른 모든 그룹이 정의된 기본 그룹은 MPI_Comm_group 함수를 사용하여 검색할 수 있습니다. 초기 통신자 MPI_COMM_WORLD 연결된 그룹입니다.

요구 사항

제품

HPC Pack 2012 MS-MPI 재배포 가능 패키지, HPC Pack 2008 R2 MS-MPI 재배포 가능 패키지, HPC Pack 2008 MS-MPI 재배포 가능 패키지 또는 HPC Pack 2008 클라이언트 유틸리티

헤더

Mpi.h; Mpif.h

라이브러리

Msmpi.lib

DLL

Msmpi.dll

추가 정보

MPI 그룹 함수

MPI_Group_incl

MPI_Comm_group