Delen via


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

Zie ook

MPI-gegevenstypefuncties