Compartilhar via


Classe Array

Representa um contêiner de dados usado para mover dados a um acelerador.

template <
   typename _Value_type,
   int _Rank                     
>
friend class array;

Parâmetros

  • _Value_type
    O tipo dos elementos de dados.

  • _Rank
    A classificação da matriz.

Membros

Hh305242.collapse_all(pt-br,VS.110).gifConstrutores Públicos

Nome

Descrição

Construtor de array::array

Inicializa uma nova instância da classe array.

matriz:: ~ destruidor de matriz.

Destrói o objeto array.

Hh305242.collapse_all(pt-br,VS.110).gifMétodos Públicos

Nome

Método de array::copy_to

Copia o conteúdo da matriz a outra matriz.

Método de array::data

Retorna um ponteiro para os dados brutos do array (matriz).

Método de array::get_accelerator_view

Retorna o objeto accelerator_view que representa o local no qual a matriz é alocada.Esta propriedade pode ser acessada apenas no CPU.

Método de array::get_associated_accelerator_view

Obtém o segundo objeto accelerator_view que é passado como um parâmetro quando um construtor de teste é chamado para instanciar o objeto matriz .

Método de array::get_extent

Retorna o objeto extent da matriz.

Método de array::reinterpret_as

Retorna uma matriz de uma dimensão que contém todos os elementos no objeto array.

Método de array::Section

Retorna uma seção do objeto matriz que está na fonte especificada e, opcionalmente, que tem a extensão especificada.

Método de array::view_as

Retorna um objeto array_view que é construído do objeto array .

Hh305242.collapse_all(pt-br,VS.110).gifOperadores Públicos

Nome

std:: Vector de array::Operator <_Value_type> Operador

Usa copy(*this, vector) para converter implicitamente a matriz para um objeto do vetor vetor .

Operador de array::Operator()

Retorna o valor do elemento que é especificado pelos parâmetros.

[] de array::Operator operador

Retorna o elemento que está no índice especificado.

Array::Operator = operador

Copia o conteúdo do objeto array especificado para esse outro.

Hh305242.collapse_all(pt-br,VS.110).gifConstantes Públicas

Nome

Constante de array::Rank

Armazena a classificação do array (matriz).

Hh305242.collapse_all(pt-br,VS.110).gifMembros de Dados Públicos

Nome

Membro de dados de array::accelerator_view

Obtém o objeto accelerator_view que representa o local onde a matriz é alocada.Esta propriedade pode ser acessada apenas no CPU.

Membro de dados de array::associated_accelerator_view

Obtém o segundo objeto accelerator_view que é passado como um parâmetro quando um construtor de teste é chamado para instanciar o objeto matriz .

Membro de dados de array::Extent

Obtém a extensão que define a forma da matriz.

Comentários

O tipo array<T,N> representa a N-dimensional matriz densa e normal (não denteada) - que está localizado em um local específico, como um acelerador ou o CPU.O tipo de dados dos elementos da matriz é T, que deve ser de um tipo que seja compatível com o acelerador de destino.Apesar de que classificação da matriz, N, é determinado estaticamente e é parte do tipo, a extensão da matriz é determinada em tempo de execução e expressa usando a classe extent<N>.

Uma matriz pode ter qualquer número de dimensões, embora algumas funcionalidades sejam especializadas para objetos array com dimensão um, dois e três.Se você omitir o argumento de dimensão, o padrão é 1.

Os dados de matriz são dispostos contiguamente na memória.Os elementos que diferem por um na dimensão menos significativa são adjacentes na memória.

Matrizes são logicamente consideradas tipos de valor, porque quando uma matriz é copiada a outra matriz, uma cópia profunda é executada.Duas matrizes nunca apontam para os mesmos dados.

O tipo array<T,N> é usado em vários cenários:

  • Como um recipiente de dados que pode ser usado nos cálculos em um acelerador.

  • Como um recipiente de dados para armazenar a memória do CPU host (que pode ser usado para copiar para e de outros arrays).

  • Como um objeto de teste para atuar como intermediário rápido em cópia de host em dispositivo.

Hierarquia de Herança

array

Requisitos

Cabeçalho: amp.h

Namespace: Concurrency

Consulte também

Referência

Namespace de simultaneidade (AMP C++)