Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Definierar en ny datatyp som består av en n-dimensionell subarray för en n-dimensionell matris. Undermatrisen kan finnas var som helst i den fullständiga matrisen. Den kan vara valfri icke-nollstorlek så länge den är helt innesluten i matrisen.
Syntax
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
);
Parametrar
ndims
Antalet matrisdimensioner och antalet element i parametrarna array_of_sizes, array_of_subsizes och array_of_starts .
array_of_sizes
Antalet element i varje dimension i den fullständiga matrisen.
array_of_subsizes
Antalet element i varje dimension i underarrayen.
array_of_starts
Startindexet för undermatrisen i varje dimension.
order
Måttens ordning.
MPI_ORDER_C
Den rad-större ordning i vilken alla element för en viss rad lagras sammanhängande.
MPI_ORDER_FORTRAN
Kolumnens huvudordning där alla element för en viss kolumn lagras sammanhängande.
Anteckning
Både C- och Fortran-program kan använda endera beställningen. De definierade värdena återspeglar typisk användning.
oldtype
Anger datatypen för varje element.
newtype [out]
Vid retur innehåller ett MPI_Datatype handtag som representerar den nya datatypen.
Returvärde
Returnerar MPI_SUCCESS vid lyckat resultat. Annars är returvärdet en felkod.
I Fortran lagras returvärdet i parametern 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
Kommentarer
Funktionen returnerar ett fel om storleken på underarrayen överskrider matrisens storlek. För varje dimension i måste värdet för parametern array_of_subsizes[i] vara större än eller lika med en och mindre än eller lika med parametern array_of_sizes[i].
Funktionen returnerar ett fel om underarrayen startar eller slutar utanför matrisens gränser. För alla dimension i måste värdet för parametern vara noll och summan av parametrarna array_of_starts[i] och array_of_subsizes[i] måste vara mindre än eller lika med värdet för parametern array_of_sizes[i]. Om subarrayen till exempel har samma storlek som matrisen måste underarrayen börja vid index noll. Matriser antas vara indexerade från noll.
Krav
Produkt |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package eller HPC Pack 2008 Client Utilities |
Huvud |
Mpi.h; Mpif.h |
Bibliotek |
Msmpi.lib |
DLL |
Msmpi.dll |