Compartir a través de


MPI_Type_create_subarray función

Define un nuevo tipo de datos que consta de una submatriz unidimensional de una matriz n dimensional. La submatriz se puede ubicar en cualquier parte de la matriz completa. Puede ser cualquier tamaño distinto de cero siempre y cuando esté totalmente contenido dentro de la matriz.

Sintaxis

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
);

Parámetros

ndims

El número de dimensiones de matriz y el número de elementos de los parámetros de array_of_sizes, array_of_subsizes y array_of_starts .

array_of_sizes

Número de elementos de cada dimensión de la matriz completa.

array_of_subsizes

Número de elementos de cada dimensión de la submatriz.

array_of_starts

Índice inicial de la submatriz en cada dimensión.

order

Orden de las dimensiones.

MPI_ORDER_C

Orden principal de fila en el que todos los elementos de una fila determinada se almacenan de forma contigua.

MPI_ORDER_FORTRAN

Orden de columna principal en el que todos los elementos de una columna determinada se almacenan de forma contigua.

Nota

Los programas C y Fortran pueden usar cualquier orden. Los valores definidos reflejan el uso típico.

 

oldtype

Especifica el tipo de datos de cada elemento.

newtype [out]

En la devolución, contiene un identificador de MPI_Datatype que representa el nuevo tipo de datos.

Valor devuelto

Devuelve MPI_SUCCESS si se realiza correctamente. De lo contrario, el valor devuelto es un código de error.

En Fortran, el valor devuelto se almacena en el parámetro 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

Comentarios

La función devuelve un error si el tamaño de la submatriz supera el tamaño de la matriz. Para cada dimensión i, el valor del parámetro array_of_subsizes[i] debe ser mayor o igual que uno y menor o igual que el parámetro array_of_sizes[i].

La función devuelve un error si la submatriz se inicia o finaliza fuera de los límites de la matriz. Para cualquier dimensión i, el valor del parámetro debe ser cero y la suma de los parámetros array_of_starts[i] y array_of_subsizes[i] deben ser menores o iguales que el valor del parámetro array_of_sizes[i]. Por ejemplo, si la submatriz tiene el mismo tamaño que la matriz, la submatriz debe comenzar en el índice cero. Se supone que las matrices se indexan a partir de cero.

Requisitos

Producto

Paquete redistribuible DE HPC Pack 2012 MS-MPI, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package o HPC Pack 2008 Client Utilities

Encabezado

Mpi.h; Mpif.h

Biblioteca

Msmpi.lib

Archivo DLL

Msmpi.dll

Consulte también

Funciones de tipo de datos MPI