Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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