Sdílet prostřednictvím


MPI_Type_create_subarray funkce

Definuje nový datový typ, který se skládá z n-rozměrného dílčího pole n-dimenzionální pole. Dílčí pole se může nacházet kdekoli v rámci celého pole. Může to být libovolná nenulová velikost, pokud je plně obsažená v poli.

Syntaxe

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

Počet dimenzí pole a počet prvků v array_of_sizes, array_of_subsizes a array_of_starts parametry.

array_of_sizes

Počet prvků v každé dimenzi úplného pole.

array_of_subsizes

Počet prvků v každé dimenzi dílčího pole.

array_of_starts

Počáteční index dílčího pole v každé dimenzi.

order

Pořadí dimenzí.

MPI_ORDER_C

Pořadí hlavního řádku, ve kterém jsou všechny prvky pro daný řádek uloženy souvisle.

MPI_ORDER_FORTRAN

Pořadí hlavního sloupce, ve kterém jsou všechny prvky pro daný sloupec uloženy souvisle.

Poznámka

Programy jazyka C i Fortran můžou používat kteroukoli objednávku. Definované hodnoty odrážejí typické využití.

 

oldtype

Určuje datový typ každého prvku.

newtype [out]

Při vrácení obsahuje popisovač MPI_Datatype , který představuje nový datový typ.

Vrácená hodnota

Vrátí MPI_SUCCESS při úspěchu. V opačném případě je návratovou hodnotou kód chyby.

Ve Fortranu je vrácená hodnota uložena v parametru 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

Poznámky

Funkce vrátí chybu, pokud velikost dílčího pole překročí velikost pole. Pro každou dimenzi i musí být hodnota parametru array_of_subsizes[i] větší nebo rovna jedné a menší nebo rovna parametru array_of_sizes[i].

Funkce vrátí chybu, pokud dílčí pole začíná nebo končí mimo hranice pole. Pro všechny dimenze i musí být hodnota parametru nula a součet parametrů array_of_starts[i] a array_of_subsizes[i] musí být menší nebo roven hodnotě parametru array_of_sizes[i]. Pokud má například dílčí pole stejnou velikost jako pole, musí dílčí pole začínat na nule indexu. Předpokládá se, že pole jsou indexována od nuly.

Požadavky

Produkt

HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package nebo HPC Pack 2008 Client Utilities

Hlavička

Mpi.h; Soubor Mpif.h

Knihovna

Msmpi.lib

DLL

Msmpi.dll

Viz také

Funkce datových typů MPI