Spazio dei nomi Concurrency (C++ AMP)
Fornisce le classi e le funzioni che consentono di accelerare l'esecuzione del codice C++ su hardware parallelo. Per ulteriori informazioni, vedere Cenni preliminari su C++ AMP.
namespace Concurrency;
Membri
Spazi dei nomi
Nome |
Descrizione |
---|---|
Fornisce funzioni che supportano l'interoperabilità D3D. Abilita il solo utilizzo delle risorse D3D per il calcolo in codice AMP e l'utilizzo delle risorse create in AMP nel codice D3D, senza creare copie intermedie ridondanti. È possibile utilizzare C++ AMP per accelerare gradualmente le sezioni impegnative in termini di calcolo delle applicazioni DirectX e le API D3D sui dati prodotti derivanti dai calcoli AMP. |
|
Le funzioni nello spazio dei nomi fast_math non sono conformi a C99. Solo le versioni e precisione singola di ogni funzione vengono fornite. Queste funzioni utilizzano le funzioni intrinseche di DirectX, che sono più veloci delle funzioni corrispondenti nello spazio dei nomi precise_math e non richiedono il supporto a precisione doppia estesa sull'acceleratore, ma sono meno accurate. Esistono due versioni di ciascuna funzione per la compatibilità a livello di origine con il codice C99; entrambe le versioni accettano e restituiscono valori a precisione singola. |
|
Fornisce tipi e le funzioni progettati per la programmazione grafica. |
|
Le funzioni nello spazio dei nomi precise_math sono conformi a C99. Sono incluse sia le versioni a precisione singola sia a precisione doppia di ogni funzione. Queste funzioni, incluse le funzioni a singola precisione, richiedono il supporto a precisione doppia estesa sull'acceleratore. |
Classi
Nome |
Descrizione |
---|---|
Rappresenta un'astrazione di un nodo fisico di calcolo DP-ottimizzato. |
|
Rappresenta un'astrazione del dispositivo virtuale in un acceleratore di dati paralleli AMP C++ . |
|
L'eccezione che viene generata quando una chiamata sottostante di DirectX ha esito negativo a causa del meccanismo di rilevamento e di ripristino del timeout di Windows. |
|
Aggregato di dati in accelerator_view nel dominio della griglia. È una raccolta di variabili, una per ogni elemento in un dominio della rete. Ogni variabile contiene un valore che corrisponde a un tipo C++. |
|
Rappresenta una visualizzazione dei dati in una matrice <T,N>. |
|
Rappresenta un corrispondente futuro alle operazioni asincrone di C++ AMP. |
|
Rappresenta un vettore di N valori interi che specificano i limiti di uno spazio di dimensione N avente origine in 0. I valori del vettore delle coordinate sono ordinati dal più significativo al meno significativo. Ad esempio, nello spazio cartesiano a 3 dimensioni, il vettore extent (7,5,3) rappresenta uno spazio in cui la coordinata z varia tra 0 e 7, la coordinata y varia da 0 a 5 e la coordinata x varia tra 0 e 3. |
|
Definisce un punto di indice a N-dimensioni. |
|
Eccezione generata quando il runtime non può iniziare il kernel utilizzando il dominio di calcolo specificato nel sito di chiamata parallel_for_each. |
|
L'eccezione che è generata quando un metodo ha esito negativo a causa della mancanza di memoria del sistema o del dispositivo. |
|
Il tipo di base delle eccezioni nella libreria C++ AMP. |
|
Classe di funzionalità che può essere creata soltanto dal sistema e che viene passata a una lambda parallel_for_each come parte del parametro tiled_index. Fornisce un metodo, wait(), il cui scopo è la sincronizzazione dell'esecuzione dei thread in esecuzione nel gruppo di thread (sezione). |
|
Un oggetto tiled_extent è un oggetto extent con dimensioni da 1 a 3 che suddivide lo spazio dell'extent in sezioni a una dimensione, due dimensioni o tre dimensioni. |
|
Fornisce un indice in un oggetto tiled_grid. Tale classe dispone di proprietà per accedere all'elemento relativo all'origine locale della sezione e relativo all'origine globale. |
|
Eccezione che viene generata quando viene utilizzato un oggetto non inizializzato. |
|
L'eccezione che viene generata quando viene utilizzata una funzionalità non supportata. |
Enumerazioni
Nome |
Descrizione |
---|---|
Specifica il tipo di accesso ai dati. |
|
Specifica le modalità di accodamento supportate dall'acceleratore. |
Operatori
Operatore |
Descrizione |
---|---|
Determina se le strutture di dati specificate sono uguali. |
|
Determina se le strutture di dati specificate sono diverse. |
|
Calcola la somma per componente degli argomenti specificati. |
|
Calcola la differenza per componente tra gli argomenti specificati. |
|
Calcola il prodotto per componente degli argomenti specificati. |
|
Calcola il quoziente per componente degli argomenti specificati. |
|
Calcola il modulo del primo argomento specificato in base al secondo argomento specificato. |
Funzioni
Nome |
Descrizione |
---|---|
Blocca l'esecuzione di tutti i thread in una sezione finché tutti gli accessi alla memoria sono stati completati. |
|
Non inizializza il runtime C++ AMP. |
|
Di overload. Se il valore archiviato nel percorso specificato risulta uguale al primo valore specificato, il secondo valore specificato viene memorizzato nello stesso percorso come operazione atomica. |
|
Di overload. Imposta il valore archiviato nella posizione specificata sul valore specificato come operazione atomica. |
|
Di overload. Imposta il valore archiviato nella posizione specificata sulla somma di quel valore e un valore specificato come operazione atomica. |
|
Di overload. Imposta il valore archiviato nella posizione specificata sull'oggetto and bit per bit di quel valore e un valore specificato come operazione atomica. |
|
Di overload. Decrementa il valore archiviato nella posizione specificata e memorizzato il risultato nella stessa posizione come operazione atomica. |
|
Di overload. Incrementa il valore archiviato nella posizione specificata e memorizzato il risultato nella stessa posizione come operazione atomica. |
|
Di overload. Imposta il valore archiviato nella posizione specificata al valore grande di quel valore e un valore specificato come operazione atomica. |
|
Di overload. Imposta il valore archiviato nella posizione specificata al valore piccolo di quel valore e un valore specificato come operazione atomica. |
|
Di overload. Imposta il valore archiviato nella posizione specificata sull'oggetto or bit per bit di quel valore e un valore specificato come operazione atomica. |
|
Di overload. Imposta il valore archiviato nella posizione specificata sulla differenza di quel valore e un valore specificato come operazione atomica. |
|
Di overload. Imposta il valore archiviato nella posizione specificata sull'oggetto xor bit per bit di quel valore e un valore specificato come operazione atomica. |
|
Copia un oggetto AMP C++. Tutti i requisiti di trasferimento sincrono dei dati vengano soddisfatti. I dati non possono essere copiati quando il codice sta eseguendo il codice su un tasto di scelta rapida. Il formato generico di questa funzione è copy(src, dest). |
|
Copia un oggetto C++ AMP e restituisce completion_future su cui può esserci attesa. I dati non possono essere copiati quando il codice sta eseguendo il codice su un tasto di scelta rapida. Il formato generico di questa funzione è copy(src, dest). |
|
Interrompe l'esecuzione di una funzione che ha la clausola di restrizione restrict(amp). |
|
Stampa una stringa formattata nella finestra Output di Visual Studio e genera un'eccezione runtime_exception con la stessa stringa di formattazione. |
|
Stampa una stringa formattata nella finestra di Output di Visual Studio. Viene chiamata da una funzione che ha la clausola di restrizione restrict(amp). |
|
Blocca l'esecuzione di tutti i thread in una sezione finché tutti gli accessi alla memoria globale non sono stati completati. |
|
Esegue una funzione tramite il dominio di calcolo. |
|
Blocca l'esecuzione di tutti i thread in una sezione fino a quando gli accessi alla memoria tile_static non sono completati. |
Costanti
Nome |
Descrizione |
---|---|
Numero massimo di buffer consentiti da DirectX. |
|
Memorizza la lunghezza massima del nome del modulo. Questo valore deve essere uguale sul compilatore e sul runtime. |
Requisiti
Intestazione: amp.h