Concurrency, espace de noms (C++ AMP)
Fournit des classes et des fonctions qui accélèrent l'exécution du code C++ sur le matériel parallèles de données. Pour plus d’informations, consultez Présentation de C++ AMP
namespace Concurrency;
Membres
Espaces de noms
Nom |
Description |
---|---|
Fournit les fonctions qui prennent en charge l'interopérabilité D3D Active de façon transparente les ressources D3D pour le calcul dans le code AMP et les ressources créées dans AMP dans le code D3D, sans créer de copies intermédiaires redondantes. Vous pouvez utiliser C++ AMP pour accélérer les sections intensives de calcul de façon incrémentielle de vos applications DirectX et utiliser l'API D3D sur les données générées par des calculs AMP. |
|
Les fonctions dans l'espace de noms fast_math ne sont pas conformes C99. Seuls les versions en simple précision de chaque fonction sont fournies. Ces fonctions utilisent des fonctions intrinsèques DirectX, qui sont plus rapides que les fonctions correspondantes dans l'espace de noms precise_math et ne nécessitent pas de prise en charge en double précision étendue sur l'accélérateur, mais elles sont moins précises. Il existe deux versions de chaque fonction pour la compatibilité au niveau de la source avec le code C99 ; les deux versions prennent et retournent des valeurs de simple précision. |
|
Fournit des types et des fonctions conçus pour la programmation graphique. |
|
Les fonctions dans l'espace de noms precise_math sont conformes C99. La simple précision et les versions à double précision de chaque fonction sont incluses. Ces fonctions, y compris les fonctions en simple précision, requièrent la prise en charge en double précision étendu sur l'accélérateur. |
Classes
Nom |
Description |
---|---|
Représente une abstraction d'un nœud de calcul optimisé DP physique. |
|
Représente une abstraction virtuelle de périphérique sur un accélérateur de données parallèle C++ AMP. |
|
L'exception levée lorsqu'un appel DirectX sous-jacent échoue en raison du mécanisme de détection et de récupération du délai d'attente de Windows. |
|
Agrégat de données sur une accelerator_view dans le domaine de grille. Il s'agit d'une collection de variables, une pour chaque élément dans un domaine de grille. Chaque variable contient une valeur qui correspond à un certain type C++. |
|
Représente une vue dans les données dans un tableau<T,N>. |
|
Représente un futur qui correspond à l'opération asynchrone C++ AMP. |
|
Représente un vecteur de N entiers qui spécifient les limites d'un espace à N dimensions dont l'origine est 0. Les valeurs dans le vecteur de coordination sont classées de la plus significative à la moins significative. Par exemple, dans l'espace en trois dimensions cartésien, le vecteur d'étendue (7,5,3) représente un espace dans lequel z varie de 0 à 7, y est compris entre 0 et 5, et x varie de 0 à 3. |
|
Définit un point d'index dimensionnel N. |
|
Exception levée lorsque le runtime ne peut pas démarrer cœur à l'aide du champ de calcul spécifié au site d'appel parallel_for_each. |
|
L'exception levée lorsqu'une méthode échoue à cause d'un échec de mémoire du système ou du périphérique. |
|
Type de base des exceptions dans la bibliothèque C++ AMP. |
|
Une classe de capacité qui ne peut être créée que par le système et est transmise à une expression lambda parallel_for_each en mosaïque dans le cadre du paramètre tiled_index. Elle fournit une méthode unique, wait(), dont l'objectif est de synchroniser l'exécution des threads qui s'exécutent dans le groupe de threads (mosaïque). |
|
Un objet tiled_extent est un objet extent d'une à trois dimensions qui subdivise l'espace d'extent en mosaïques unidimensionnelles, bidimensionnelles ou tridimensionnelles. |
|
Fournit un index dans un objet tiled_grid. Cette classe possède des propriétés pour accéder à l'élément par rapport à l'origine locale de la mosaïque et par rapport à l'origine globale. |
|
L'exception levée quand un objet non-initialisé est utilisé. |
|
L'exception levée quand une fonctionnalité non prise en charge est utilisée. |
Énumérations
Nom |
Description |
---|---|
Spécifie le type d'accès des données. |
|
Spécifie les modes de mise en file d'attente pris en charge sur l'accélérateur. |
Opérateurs
Opérateur |
Description |
---|---|
Détermine si les structures de données spécifiées sont égales. |
|
Détermine si les structures de données spécifiées sont inégales. |
|
Calcule la somme au niveau du composant pour les arguments spécifiés. |
|
Calcule la différence composante par composante, entre les arguments spécifiés. |
|
Calcule le produit au niveau du composant pour les arguments spécifiés. |
|
Calcule le quotient au niveau du composant des arguments spécifiés. |
|
Calcule le modulo du premier argument spécifié par le deuxième argument spécifié. |
Fonctions
Nom |
Description |
---|---|
Bloque l'exécution de tous les threads dans une mosaïque jusqu'à ce que tous les accès mémoire aient été effectués. |
|
Annule l'initialisation du runtime C++ AMP. |
|
Surchargé. Si la valeur enregistrée à l'emplacement spécifié est égale à la première valeur spécifiée, la deuxième valeur spécifiée est enregistrée au même emplacement qu'une opération atomique. |
|
Surchargé. Définit la valeur enregistrée à l'emplacement spécifié à la valeur spécifiée comme une opération atomique. |
|
Surchargé. Définit la valeur enregistrée à l'emplacement spécifié à la somme de cette valeur et une valeur spécifiée comme une opération atomique. |
|
Surchargé. Définit la valeur enregistrée à l'emplacement spécifié à and de bits de cette valeur et une valeur spécifiée comme une opération atomique. |
|
Surchargé. Décrémente la valeur enregistrée à l'emplacement spécifié et stocke le résultat au même emplacement qu'une opération atomique. |
|
Surchargé. Incrémente la valeur enregistrée à l'emplacement spécifié et stocke le résultat au même emplacement qu'une opération atomique. |
|
Surchargé. Définit la valeur enregistrée à l'emplacement spécifié à la plus grande de cette valeur et une valeur spécifiée comme une opération atomique. |
|
Surchargé. Définit la valeur enregistrée à l'emplacement spécifié à la plus petite de cette valeur et une valeur spécifiée comme une opération atomique. |
|
Surchargé. Définit la valeur enregistrée à l'emplacement spécifié à or de bits de cette valeur et une valeur spécifiée comme une opération atomique. |
|
Surchargé. Définit la valeur enregistrée à l'emplacement spécifié à la différence de cette valeur et une valeur spécifiée comme une opération atomique. |
|
Surchargé. Définit la valeur enregistrée à l'emplacement spécifié à xor de bits de cette valeur et une valeur spécifiée comme une opération atomique. |
|
Copie un objet C++ AMP. Toutes les demandes synchrones de transfert de données sont satisfaites. Les données ne peuvent pas être copiées lorsque le code exécute le code sur un accélérateur. La forme générale de cette fonction est copy(src, dest). |
|
Copie un objet C++ AMP et renvoie un completion_future sur lequel on peut se mettre en attente. Les données ne peuvent pas être copiées lorsque le code est exécuté sur un accélérateur. La forme générale de cette fonction est copy(src, dest). |
|
Interrompt l'exécution d'une fonction avec la clause de restriction de restrict(amp). |
|
Imprime une chaîne mise en forme dans la fenêtre Sortie de Visual Studio et déclenche une exception runtime_exception qui a la même chaîne de mise en forme. |
|
Imprime une chaîne mise en forme dans la fenêtre de sortie de Visual Studio. Appelée depuis une fonction qui a la clause de restriction restrict(amp). |
|
Bloque l'exécution de tous les threads dans une mosaïque jusqu'à ce que tous les accès mémoire globaux aient été effectués. |
|
Exécute une fonction sur le domaine de calcul. |
|
Bloque l'exécution de tous les threads dans une mosaïque jusqu'à ce que les accès mémoire tile_static aient été effectués. |
Constantes
Nom |
Description |
---|---|
Nombre maximal de mémoires tampons autorisées par DirectX. |
|
Stocke la longueur maximale du nom du module. Cette valeur doit être identique dans le compilateur et le runtime. |
Configuration requise
En-tête : amp.h