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 |