Udostępnij za pośrednictwem


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

Zobacz też

Funkcje typu danych MPI