Condividi tramite


Spazio dei nomi Concurrency (C++ AMP)

Fornisce classi e funzioni che accelerano l'esecuzione del codice C++ su hardware parallelo ai dati. Per altre informazioni, vedere Panoramica di C++ AMP

Sintassi

namespace Concurrency;

Membri

Namespaces

Nome Descrizione
Spazio dei nomi Concurrency::direct3d Fornisce funzioni che supportano l'interoperabilità D3D. Consente di usare facilmente le risorse D3D per il calcolo nel codice AMP e l'uso delle risorse create in AMP nel codice D3D, senza creare copie intermedie ridondanti. È possibile usare C++ AMP per accelerare in modo incrementale le sezioni a elevato utilizzo di calcolo delle applicazioni DirectX e usare l'API D3D sui dati prodotti dai calcoli AMP.
Spazio dei nomi Concurrency::fast_math Le funzioni nello spazio dei nomi fast_math non sono conformi a C99. Vengono fornite solo versioni a precisione singola di ogni funzione. Queste funzioni usano le funzioni intrinseche DirectX, che sono più veloci delle corrispondenti funzioni nello spazio dei nomi precise_math e non richiedono il supporto per la doppia precisione estesa sull'acceleratore, ma hanno una minore precisione. Esistono due versioni di ogni funzione per la compatibilità a livello di origine con il codice C99; entrambe le versioni accettano e restituiscono valori a precisione singola.
Spazio dei nomi Concurrency::graphics Fornisce tipi e funzioni progettati per la programmazione grafica.
Spazio dei nomi Concurrency::precise_math Lo spazio dei nomi precise_math contiene funzioni conformi a C99. Sono incluse sia versioni a precisione singola che a precisione doppia di ogni funzione. Queste funzioni, incluse le funzioni a precisione singola, richiedono un supporto esteso a precisione doppia sull'acceleratore.

Classi

Nome Descrizione
Classe Acceleratore Rappresenta un'astrazione di un nodo di calcolo fisico ottimizzato per dp.
Classe accelerator_view Rappresenta un'astrazione di dispositivo virtuale su un acceleratore di elaborazione parallela dei dati C++ AMP.
Classe accelerator_view_removed L'eccezione che viene generata quando una chiamata DirectX sottostante fallisce a causa del meccanismo di rilevamento e ripristino dei timeout di Windows.
Classe array Aggregato di dati su un accelerator_view nel dominio della griglia. Si tratta di una raccolta di variabili, una per ogni elemento in un dominio griglia. Ogni variabile contiene un valore che corrisponde a un tipo C++.
Classe array_view Rappresenta una visualizzazione dei dati in un array<T,N>.
Classe completion_future Rappresenta un futuro che corrisponde a un'operazione asincrona C++ AMP.
extent Class Rappresenta un vettore di valori interi N che specificano i limiti di uno spazio N-dimensionale che ha un'origine pari a 0. I valori nel vettore di coordinate vengono ordinati dal più significativo al meno significativo. Ad esempio, nello spazio tridimensionale cartesiano, il vettore di extent (7,5,3) rappresenta uno spazio in cui la coordinata z varia da 0 a 7, la coordinata y è compresa tra 0 e 5 e la coordinata x varia da 0 a 3.
Classe Indice Definisce un punto di indice N-dimensionale.
Classe "invalid_compute_domain" Eccezione generata quando il runtime non può avviare un kernel usando il dominio di calcolo specificato al sito di chiamata parallel_for_each.
Classe esaurimento_memoria Eccezione generata quando un metodo non riesce a causa di una mancanza di memoria del sistema o del dispositivo.
Classe runtime_exception Tipo di base per le eccezioni nella libreria AMP C++.
Classe tile_barrier Classe di capacità creata solo dal sistema e passata a una lambda piastrellata parallel_for_each come parte del parametro tiled_index. Fornisce un metodo, wait(), il cui scopo è sincronizzare l'esecuzione dei thread nel gruppo di thread (tile).
Classe tiled_extent Un tiled_extent oggetto è un extent oggetto di una, due o tre dimensioni che suddivide lo spazio di estensione in riquadri unidimensionali, bidimensionali o tridimensionali.
Classe tiled_index Fornisce un indice in un oggetto tiled_grid. Questa classe ha proprietà per accedere all'elemento relativo all'origine del riquadro locale e rispetto all'origine globale.
Classe oggetto_non_inizializzato Eccezione generata quando viene utilizzato un oggetto non inizializzato.
Classe unsupported_feature Eccezione generata quando viene usata una funzionalità non supportata.

Enumerazioni

Nome Descrizione
access_type Enumerazione Specifica il tipo di accesso ai dati.
Enumerazione queuing_mode Specifica le modalità di accodamento supportate nell'acceleratore.

Operatori

Operatore Descrizione
Operatore == (C++ AMP) Determina se le strutture di dati specificate sono uguali.
!= operator (C++ AMP) Determina se le strutture di dati specificate non sono uguali.
Operatore + (C++ AMP) Calcola la somma a livello di componente degli argomenti specificati.
Operatori - Operatore (C++ AMP) Calcola la differenza per componente tra gli argomenti specificati.
Operatore* (C++ AMP) Calcola il prodotto a livello di componente degli argomenti specificati.
operator/ Operatore (C++ AMP) Calcola il quoziente a livello di componente degli argomenti specificati.
Operatore operator% (C++ AMP) Calcola il modulo del primo argomento specificato dal secondo argomento specificato.

Funzioni

Nome Descrizione
all_memory_fence Blocca l'esecuzione di tutti i thread in un riquadro fino al completamento di tutti gli accessi alla memoria.
amp_uninitialize Disinizializza il runtime C++ AMP.
atomic_compare_exchange Sovraccarico. Se il valore archiviato nella posizione specificata corrisponde al primo valore specificato, il secondo valore specificato viene archiviato nella stessa posizione di un'operazione atomica.
atomic_exchange Sovraccarico. Imposta il valore archiviato nella posizione specificata sul valore specificato come operazione atomica.
atomic_fetch_add Sovraccarico. Imposta il valore archiviato nella posizione specificata sulla somma di tale valore e un valore specificato come operazione atomica.
atomic_fetch_and Sovraccarico. Imposta il valore archiviato nella posizione specificata al risultato dell'operazione bit per bit and tra tale valore e un valore specificato come operazione atomica.
atomic_fetch_dec Sovraccarico. Decrementa il valore archiviato nella posizione specificata e archivia il risultato nella stessa posizione di un'operazione atomica.
atomic_fetch_inc Sovraccarico. Incrementa il valore archiviato nella posizione specificata e archivia il risultato nella stessa posizione di un'operazione atomica.
atomic_fetch_max Sovraccarico. Imposta il valore archiviato nella posizione specificata sul valore maggiore tra il valore attuale e un valore specificato come operazione atomica.
atomic_fetch_min Sovraccarico. Imposta il valore archiviato nella posizione specificata sul valore minore di tale valore e un valore specificato come operazione atomica.
atomic_fetch_or Sovraccarico. Imposta il valore memorizzato nella posizione specificata al risultato dell'operazione bit per bit tra tale valore e un valore specificato come operazione atomica.
atomic_fetch_sub Sovraccarico. Come operazione atomica, aggiorna il valore archiviato nella posizione specificata alla differenza tra il valore archiviato e il valore specificato.
atomic_fetch_xor Sovraccarico. Imposta il valore archiviato nella posizione specificata al risultato del bitwise AND tra quel valore e un valore specificato, come operazione atomica.
copia Copia un oggetto C++ AMP. Vengono soddisfatti tutti i requisiti di trasferimento dei dati sincroni. I dati non possono essere copiati quando il codice è in esecuzione su un acceleratore. La forma generale di questa funzione è copy(src, dest).
copy_async Copia un oggetto C++ AMP e restituisce un completion_future su cui si può attendere. I dati non possono essere copiati quando il codice è in esecuzione su un acceleratore. La forma generale di questa funzione è copy(src, dest).
direct3d_abort Interrompe l'esecuzione di una funzione con la restrict(amp) clausola di restrizione.
direct3d_errorf Stampa una stringa formattata nella finestra Output di Visual Studio e genera un'eccezione runtime_exception con la stessa stringa di formattazione.
direct3d_printf Stampa una stringa formattata nella finestra Output di Visual Studio. Viene chiamato da una funzione con la restrict(amp) clausola di restrizione.
global_memory_fence Blocca l'esecuzione di tutti i thread in un riquadro fino al completamento di tutti gli accessi alla memoria globale.
Funzione parallel_for_each (C++ AMP) Esegue una funzione nel dominio di calcolo.
tile_static_memory_fence Blocca l'esecuzione di tutti i thread in un riquadro fino al tile_static completamento degli accessi alla memoria.

Costanti

Nome Descrizione
Costante HLSL_MAX_NUM_BUFFERS Numero massimo di buffer consentiti da DirectX.
Costante MODULENAME_MAX_LENGTH Archivia la lunghezza massima del nome del modulo. Questo valore deve essere lo stesso nel compilatore e nel runtime.

Requisiti

Intestazione: amp.h

Vedi anche

Riferimento (C++ AMP)