다음을 통해 공유


MPI_Type_create_subarray 함수

n차원 배열의 n차원 하위 배열로 구성된 새 데이터 형식을 정의합니다. 하위 배열은 전체 배열 내의 아무 곳에나 배치할 수 있습니다. 배열 내에 완전히 포함되는 한 0이 아닌 크기일 수 있습니다.

구문

int MPIAPI MPI_Type_create_subarray(
        int                   ndims,
        _In_count_(ndims) int array_of_sizes[],
        _In_count_(ndims) int array_of_subsizes[],
        _In_count_(ndims) int array_of_starts[],
        int                   order,
        MPI_Datatype          oldtype,
  _Out_ MPI_Datatype          *newtype
);

매개 변수

ndims

배열 차원의 수와 array_of_sizes, array_of_subsizesarray_of_starts 매개 변수의 요소 수입니다.

array_of_sizes

전체 배열의 각 차원에 있는 요소 수입니다.

array_of_subsizes

하위 배열의 각 차원에 있는 요소 수입니다.

array_of_starts

각 차원의 하위 배열의 시작 인덱스입니다.

order

차원의 순서입니다.

MPI_ORDER_C

지정된 행의 모든 요소가 연속적으로 저장되는 행 주 순서입니다.

MPI_ORDER_FORTRAN

지정된 열에 대한 모든 요소가 연속적으로 저장되는 열 주 순서입니다.

참고

C 및 Fortran 프로그램은 둘 다 두 순서를 모두 사용할 수 있습니다. 정의된 값은 일반적인 사용을 반영합니다.

 

oldtype

각 요소의 데이터 형식을 지정합니다.

newtype [out]

반환할 때 새 데이터 형식을 나타내는 MPI_Datatype 핸들을 포함합니다.

반환 값

성공에 대한 MPI_SUCCESS 반환합니다. 그렇지 않으면 반환 값이 오류 코드입니다.

Fortran에서 반환 값은 IERROR 매개 변수에 저장됩니다.

Fortran

    MPI_TYPE_CREATE_SUBARRAY(NDIMS, ARRAY_OF_SIZES, ARRAY_OF_SUBSIZES, ARRAY_OF_STARTS, ORDER, OLDTYPE, NEWTYPE, IERROR)
        NDIMS, ARRAY_OF_SIZES, ARRAY_OF_SUBSIZES, ARRAY_OF_STARTS, ORDER, OLDTYPE, NEWTYPE, IERROR

설명

함수는 하위 배열의 크기가 배열 크기를 초과하면 오류를 반환합니다. 각 차원 i에 대해 array_of_subsizes[i] 매개 변수의 값은 1보다 크거나 같아야 하며 array_of_sizes[i] 매개 변수보다 작거나 같아야 합니다.

이 함수는 하위 배열이 배열 범위 밖에서 시작되거나 끝나는 경우 오류를 반환합니다. 차원 i의 경우 매개 변수 값은 0이어야 하며 array_of_starts[i]array_of_subsizes[i] 매개 변수의 합계는 array_of_sizes[i] 매개 변수의 값보다 작거나 같아야 합니다. 예를 들어 하위 배열이 배열과 크기가 같으면 하위 배열은 인덱스 0에서 시작해야 합니다. 배열은 0부터 인덱싱되는 것으로 간주됩니다.

요구 사항

제품

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 데이터 형식 함수