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 elemento dei dati._Rank
Specifica il numero di dimensioni della matrice.
Membri
Costruttori pubblici
Nome |
Descrizione |
---|---|
Inizializza una nuova istanza della classe array. |
|
Elimina l'oggetto array. |
Metodi pubblici
Nome |
Descrizione |
---|---|
Copia il contenuto della matrice in un'altra matrice. |
|
Restituisce un puntatore ai dati non elaborati dell' array. |
|
Restituisce l'oggetto accelerator_view che rappresenta la posizione in cui la matrice viene allocata. È possibile accedere a questa proprietà solo sulla CPU. |
|
Ottiene il secondo oggetto accelerator_view passato come parametro quando un costruttore di gestione temporanea è chiamato per istanziare l'oggetto matrice. |
|
Restituisce l'oggetto access_type della matrice. È possibile accedere a questo metodo solo sulla CPU. |
|
Restituisce l'oggetto extent della matrice. |
|
Restituisce una matrice unidimensionale contenente tutti gli elementi dell'oggetto array. |
|
Restituisce una sottosezione dell'oggetto array presente all'origine specificata e, facoltativamente, con l'extent specificato. |
|
Restituisce un oggetto array_view che viene costruito dall'oggetto array. |
Operatori pubblici
Nome |
Descrizione |
---|---|
Utilizzare copy(*this, vector) per convertire in modo implicito la matrice in un oggetto std::vector. |
|
Restituisce il valore dell'elemento specificato dai parametri. |
|
Restituisce l'elemento che corrisponde all'indice specificato. |
|
Copia il contenuto dell'oggetto array specificato in questo oggetto. |
Costanti pubbliche
Nome |
Descrizione |
---|---|
Memorizza il rango della matrice. |
Membri dati pubblici
Nome |
Descrizione |
---|---|
Ottiene l'oggetto accelerator_view che rappresenta la posizione in cui la matrice viene allocata. È possibile accedere a questa proprietà solo sulla CPU. |
|
Ottiene il secondo oggetto accelerator_view passato come parametro quando un costruttore di gestione temporanea è chiamato per istanziare l'oggetto matrice. |
|
Ottiene access_type che rappresenta la modalità in cui la CPU può accedere all'archiviazione della matrice. |
|
Ottiene l'extent che definisce la forma della matrice. |
Note
Il tipo array<T,N> rappresenta una matrice densa e regolare (non matrice di matrice) N-matrice dimensionale che si trova in una posizione 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