função MPI_Type_create_subarray
Define um novo tipo de dados que consiste numa subarray ndimensional de uma matriz ndimensional. A subarray pode estar localizada em qualquer lugar dentro da matriz completa. Pode ter qualquer tamanho não 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 subarray.
array_of_starts
O índice inicial da subarray em cada dimensão.
order
A ordem das dimensões.
MPI_ORDER_C
A ordem principal da linha na qual todos os elementos de uma determinada linha são armazenados contíguo.
MPI_ORDER_FORTRAN
A ordem principal da coluna na qual todos os elementos de uma determinada coluna são armazenados contíguo.
Nota
Os programas C e Fortran podem utilizar qualquer uma das encomendas. Os valores definidos refletem a utilização típica.
oldtype
Especifica o tipo de dados de cada elemento.
newtype [out]
Em troca, contém uma MPI_Datatype identificador que representa o novo tipo de dados.
Valor devolvido
Devolve MPI_SUCCESS com êxito. Caso contrário, o valor devolvido é um código de erro.
Em Fortran, o valor devolvido é 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
Observações
A função devolve um erro se o tamanho da subarray exceder o tamanho da matriz. Para cada dimensão i, o valor do parâmetro array_of_subsizes[i] tem de ser maior ou igual a um e menor ou igual ao parâmetro array_of_sizes[i ].
A função devolve um erro se a subarray iniciar ou terminar fora dos limites da matriz. Para qualquer dimensão i, o valor do parâmetro tem de ser zero e a soma dos parâmetros array_of_starts[i] e array_of_subsizes[i] tem de ser menor ou igual ao valor do parâmetro array_of_sizes[i] . Por exemplo, se a subarray tiver o mesmo tamanho que a matriz, a subarray tem de começar no índice zero. Presume-se que as matrizes estão indexadas a partir de zero.
Requisitos
Produto |
HPC Pack 2012 MS-MPI Redistributable Package, HPC Pack 2008 R2 MS-MPI Redistributable Package, HPC Pack 2008 MS-MPI Redistributable Package ou HPC Pack 2008 Client Utilities |
Cabeçalho |
Mpi.h; Mpif.h |
Biblioteca |
Msmpi.lib |
DLL |
Msmpi.dll |
Ver também
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários