Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
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 |