Condividi tramite


Classe array

Rappresenta un contenitore di dati utilizzato per spostare i dati in un acceleratore.

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

Parametri

  • _Value_type
    Il tipo di dato dell'elemento.

  • _Rank
    Specifica il rango dell'array.

Membri

Hh305242.collapse_all(it-it,VS.110).gifCostruttori pubblici

Nome

Descrizione

Costruttore array::array

Inizializza una nuova istanza della classe array.

Distruttore array::~array

Elimina l'oggetto array.

Hh305242.collapse_all(it-it,VS.110).gifMetodi pubblici

Nome

Metodo array::copy_to

Copia il contenuto della matrice in un'altra matrice.

Metodo array::data

Restituisce un puntatore ai dati non elaborati dell'array.

Metodo array::get_accelerator_view

Restituisce l'oggetto accelerator_view che rappresenta la posizione in cui la matrice viene allocata.Questa proprietà può essere acceduta solo sulla CPU.

Metodo array::get_associated_accelerator_view

Ottiene il secondo oggetto accelerator_view passato come parametro quando un costruttore di gestione temporanea è chiamato per istanziare l'oggetto array.

Metodo array::get_extent

Restituisce l'oggetto extent della matrice.

Metodo array::reinterpret_as

Restituisce una matrice unidimensionale contenente tutti gli elementi dell'oggetto array.

Metodo array::section

Restituisce una sottosezione dell'oggetto array presente all'origine specificata e, facoltativamente, con l'extent specificato.

Metodo array::view_as

Restituisce un oggetto array_view che viene costruito dall'oggetto array.

Hh305242.collapse_all(it-it,VS.110).gifOperatori pubblici

Nome

Operatore array::operator std::vector<_Value_type>

Utilizzare copy(*this, vector) per convertire in modo implicito la matrice in un oggetto vettore di vector.

Operatore array::operator()

Restituisce il valore dell'elemento specificato dai parametri.

Operatore array::operator[]

Restituisce l'elemento che corrisponde all'indice specificato.

Operatore array::operator=

Copia il contenuto dell'oggetto array specificato in questo oggetto.

Hh305242.collapse_all(it-it,VS.110).gifCostanti pubbliche

Nome

Costante array::rank

Memorizza il rango della matrice.

Hh305242.collapse_all(it-it,VS.110).gifMembri dati pubblici

Nome

Membro dati array::accelerator_view

Ottiene l'oggetto accelerator_view che rappresenta la posizione in cui la matrice viene allocata.Questa proprietà può essere acceduta solo sulla CPU.

Membro dati array::associated_accelerator_view

Ottiene il secondo oggetto accelerator_view passato come parametro quando un costruttore di gestione temporanea è chiamato per istanziare l'oggetto array.

Membro dati array::extent

Ottiene l'extent che definisce la forma della matrice.

Note

Il tipo array<T,N> rappresenta una matrice densa e regolare (non matrice di matrici) N-matrice dimensionale che si trova in una locazione specifica, ad esempio in un acceleratore o nella CPU.Il tipo di dato degli elementi della matrice è T, che deve essere di un tipo compatibile con l'acceleratore di destinazione.Sebbene il rango, N, della matrice è determinato staticamente e fa parte del tipo, l'extent della matrice è determinato dal runtime e viene espresso tramite la classe extent<N>.

Una matrice può avere un qualsiasi numero di dimensioni, anche se alcune funzionalità sono specializzate per oggetti array con rango uno, due o tre.Se si omette l'argomento dimensione, l'impostazione predefinita è 1.

I dati della matrice sono disposti in modo contiguo nella memoria.Gli elementi che differiscono di uno nella dimensione meno significativa sono adiacenti in memoria.

Le matrici sono considerate logicamente come tipi di valore, perché quando una matrice viene copiata in un altra matrice, viene eseguita una copia completa.Due matrici non puntano mai agli stessi dati.

Il tipo array<T,N> viene utilizzato in molti scenari:

  • Come contenitore di dati che può essere utilizzato nei calcoli in un acceleratore.

  • Come contenitore di dati per mantenere la memoria nella CPU host (che può essere utilizzato per copiare da e su altre matrici).

  • Come oggetto di gestione temporanea che agisce da intermediario veloce nelle copie da host a dispositivo.

Gerarchia di ereditarietà

array

Requisiti

Intestazione: amp.h

Spazio dei nomi: Concurrency

Vedere anche

Riferimenti

Spazio dei nomi Concurrency (C++ AMP)