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_subsizes 및 array_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 |