Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Define um novo tipo de dados que consiste em uma submatriz ndimensional de uma matriz ndimensional. A subarray pode estar localizada em qualquer lugar dentro da matriz completa. Pode ser qualquer tamanho diferente de zero, desde que esteja totalmente contido na matriz.
Sintaxe
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
O número de dimensões de matriz e o número de elementos nos parâmetros array_of_sizes, array_of_subsizes e array_of_starts .
array_of_sizes
O número de elementos em cada dimensão da matriz completa.
array_of_subsizes
O número de elementos em cada dimensão da submatriz.
array_of_starts
O índice inicial da submatriz em cada dimensão.
order
A ordem das dimensões.
MPI_ORDER_C
A ordem de linha principal na qual todos os elementos de uma determinada linha são armazenados contíguamente.
MPI_ORDER_FORTRAN
A ordem principal da coluna na qual todos os elementos de uma determinada coluna são armazenados contíguamente.
Observação
Os programas C e Fortran podem usar qualquer ordem. Os valores definidos refletem o uso típico.
oldtype
Especifica o tipo de dados de cada elemento.
newtype [out]
No retorno, contém um identificador MPI_Datatype que representa o novo tipo de dados.
Retornar valor
Retorna MPI_SUCCESS em caso de êxito. Caso contrário, o valor retornado será um código de erro.
Em Fortran, o valor retornado é armazenado no 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
Comentários
A função retornará um erro se o tamanho da submatriz exceder o tamanho da matriz. Para cada dimensão i, o valor do parâmetro array_of_subsizes[i] deve ser maior ou igual a um e menor ou igual ao parâmetro array_of_sizes[i] .
A função retornará um erro se a subarray iniciar ou terminar fora dos limites da matriz. Para qualquer dimensão i, o valor do parâmetro deve ser zero e a soma dos parâmetros array_of_starts[i] e array_of_subsizes[i] deve ser menor ou igual ao valor do parâmetro array_of_sizes[i] . Por exemplo, se a submatriz tiver o mesmo tamanho que a matriz, a submatriz deverá começar no índice zero. Presume-se que as matrizes sejam indexadas a partir de zero.
Requisitos
Produto |
Pacote Redistribuível do HPC Pack 2012 MS-MPI, Pacote Redistribuível HPC Pack 2008 R2 MS-MPI, Pacote Redistribuível do HPC Pack 2008 MS-MPI ou Utilitários de Cliente HPC Pack 2008 |
parâmetro |
Mpi.h; Mpif.h |
Biblioteca |
Msmpi.lib |
DLL |
Msmpi.dll |