MPI_Type_create_subarray functie
Hiermee definieert u een nieuw gegevenstype dat bestaat uit een n-dimensionale submatrix van een n-dimensionale matrix. De submatrix kan zich overal in de volledige matrix bevinden. Het kan elke niet-nulgrootte hebben, zolang deze volledig in de matrix is opgenomen.
Syntaxis
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
);
Parameters
ndims
Het aantal matrixdimensies en het aantal elementen in de array_of_sizes, array_of_subsizes en array_of_starts parameters.
array_of_sizes
Het aantal elementen in elke dimensie van de volledige matrix.
array_of_subsizes
Het aantal elementen in elke dimensie van de submaarray.
array_of_starts
De beginindex van de submaarray in elke dimensie.
order
De volgorde van de dimensies.
MPI_ORDER_C
De volgorde waarin alle elementen voor een bepaalde rij aaneengesloten worden opgeslagen.
MPI_ORDER_FORTRAN
De kolom-primaire volgorde waarin alle elementen voor een bepaalde kolom aaneengesloten worden opgeslagen.
Notitie
Zowel C- als Fortran-programma's kunnen beide volgordes gebruiken. De gedefinieerde waarden weerspiegelen het gebruikelijke gebruik.
oudtype
Hiermee geeft u het gegevenstype van elk element op.
newtype [uit]
Bij terugkomst bevat een MPI_Datatype ingang die het nieuwe gegevenstype vertegenwoordigt.
Retourwaarde
Retourneert MPI_SUCCESS bij succes. Anders is de retourwaarde een foutcode.
In Fortran wordt de retourwaarde opgeslagen in de parameter 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
Opmerkingen
De functie retourneert een fout als de grootte van de submatrix groter is dan de grootte van de matrix. Voor elke dimensie i moet de waarde van parameter array_of_subsizes[i] groter zijn dan of gelijk zijn aan één en kleiner dan of gelijk aan de parameter array_of_sizes[i].
De functie retourneert een fout als de submatrix begint of eindigt buiten de grenzen van de matrix. Voor elke dimensie i moet de waarde van parameter nul zijn en moet de som van de parameters array_of_starts[i] en array_of_subsizes[i] kleiner zijn dan of gelijk zijn aan de waarde van de parameter array_of_sizes[i]. Als de submatrix bijvoorbeeld dezelfde grootte heeft als de matrix, moet de submatrix beginnen bij index nul. Matrices worden verondersteld te worden geïndexeerd vanaf nul.
Vereisten
Product |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package of HPC Pack 2008 Client Utilities |
Header |
Mpi.h; Mpif.h |
Bibliotheek |
Msmpi.lib |
DLL |
Msmpi.dll |