MPI_Type_create_subarray, funkcja
Definiuje nowy typ danych, który składa się z podarrani nwymiarowej tablicy nwymiarowej. Podarraj może znajdować się w dowolnym miejscu w pełnej tablicy. Może to być dowolny rozmiar niezerowy, o ile jest w pełni zawarty w tablicy.
Składnia
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
);
Parametry
ndims
Liczba wymiarów tablicy i liczba elementów w parametrach array_of_sizes, array_of_subsizes i array_of_starts .
array_of_sizes
Liczba elementów w każdym wymiarze pełnej tablicy.
array_of_subsizes
Liczba elementów w każdym wymiarze podarray.
array_of_starts
Początkowy indeks podarraju w każdym wymiarze.
order
Kolejność wymiarów.
MPI_ORDER_C
Kolejność główna wiersza, w której wszystkie elementy danego wiersza są przechowywane w sposób ciągły.
MPI_ORDER_FORTRAN
Kolejność główna kolumny, w której wszystkie elementy danej kolumny są przechowywane stale.
Uwaga
Zarówno programy C, jak i Fortran mogą używać jednej z kolejności. Zdefiniowane wartości odzwierciedlają typowe użycie.
stary typ
Określa typ danych każdego elementu.
newtype [out]
Po powrocie zawiera uchwyt MPI_Datatype reprezentujący nowy typ danych.
Wartość zwracana
Zwraca MPI_SUCCESS po powodzeniu. W przeciwnym razie zwracana wartość jest kodem błędu.
W fortran wartość zwracana jest przechowywana w parametrze 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
Uwagi
Funkcja zwraca błąd, jeśli rozmiar podarray przekracza rozmiar tablicy. Dla każdego wymiaru i wartość parametru array_of_subsizes[i] musi być większa lub równa jednemu i mniejszemu lub równemu parametrowi array_of_sizes[i].
Funkcja zwraca błąd, jeśli podarray uruchamia lub kończy się poza granicami tablicy. W przypadku dowolnego wymiaru i wartość parametru musi być równa zero, a suma parametrów array_of_starts[i] i array_of_subsizes[i] musi być mniejsza lub równa wartości parametru array_of_sizes[i]. Jeśli na przykład podarray ma taki sam rozmiar, jak tablica, podarray muszą zaczynać się od zera indeksu. Zakłada się, że tablice mają być indeksowane od zera.
Wymagania
Produkt |
Pakiet redystrybucyjny HPC Pack 2012 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 R2 MS-MPI, pakiet redystrybucyjny HPC Pack 2008 MS-MPI lub narzędzia klienckie HPC Pack 2008 |
Nagłówek |
Mpi.h; Mpif.h |
Biblioteka |
Msmpi.lib |
DLL |
Msmpi.dll |