Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Biedt klassen en functies waarmee de uitvoering van C++-code op gegevensparallel hardware wordt versneld. Zie C++ AMP-overzicht voor meer informatie
Syntaxis
namespace Concurrency;
Leden
Naamruimten
| Naam | Description |
|---|---|
| Concurrency::Direct3D-naamruimte | Biedt functies die D3D-interoperabiliteit ondersteunen. Maakt naadloos gebruik van D3D-resources mogelijk voor berekening in AMP-code en het gebruik van resources die zijn gemaakt in AMP in D3D-code, zonder redundante tussenliggende kopieën te maken. U kunt C++ AMP gebruiken om de rekenintensieve secties van uw DirectX-toepassingen stapsgewijs te versnellen en de D3D-API te gebruiken op gegevens die zijn geproduceerd uit AMP-berekeningen. |
| Concurrency::fast_math namespace | Functies in de fast_math naamruimte zijn niet C99-conform. Er worden slechts versies met één precisie van elke functie opgegeven. Deze functies maken gebruik van de intrinsieke DirectX-functies, die sneller zijn dan de bijbehorende functies in de precise_math naamruimte en geen uitgebreide ondersteuning voor dubbele precisie op de accelerator vereisen, maar ze zijn minder nauwkeurig. Er zijn twee versies van elke functie voor compatibiliteit op broncodeniveau met C99-code; beide versies nemen en retourneren waarden met één precisie. |
| Gelijktijdigheid::graphics-naamruimte | Biedt typen en functies die zijn ontworpen voor grafische programmering. |
| Concurrency::precise_math Namespace | Functies in de precise_math naamruimte zijn C99 conform. Zowel versies met één precisie als dubbele precisie van elke functie zijn opgenomen. Deze functies, waaronder de functies met één precisie, vereisen uitgebreide ondersteuning voor dubbele precisie op de accelerator. |
Klassen
| Naam | Description |
|---|---|
| acceleratorklasse | Vertegenwoordigt een abstractie van een fysiek, door DP geoptimaliseerd rekenknooppunt. |
| accelerator_view-klasse | Vertegenwoordigt een abstractie van een virtueel apparaat op een C++ AMP-gegevensparallelversneller. |
| accelerator_view_removed-klasse | De uitzondering die wordt gegenereerd wanneer een onderliggende DirectX-aanroep mislukt vanwege het Windows time-outdetectie- en herstelmechanisme. |
| matrixklasse | Een gegevensaggregatie op een accelerator_view in het grid-domein. Het is een verzameling variabelen, één voor elk element in een rasterdomein. Elke variabele bevat een waarde die overeenkomt met een C++-type. |
| array_view-klasse | Vertegenwoordigt een weergave van de gegevens in een array<T,N>. |
| completion_future-klasse | Vertegenwoordigt een toekomst die overeenkomt met een Asynchrone C++ AMP-bewerking. |
| extent Class | Vertegenwoordigt een vector van N gehele getallen die de grenzen van een N-dimensionale ruimte opgeven die een oorsprong heeft van 0. De waarden in de coördinaatvector worden geordend van de belangrijkste naar de minst significante. In de cartesische 3dimensionale ruimte vertegenwoordigt de omvangsvector (7,5,3) bijvoorbeeld een ruimte waarin de z-coördinaat varieert van 0 tot 7, de y-coördinaat varieert van 0 tot 5 en de x-coördinaat varieert van 0 tot 3. |
| indexklasse | Hiermee definieert u een N-dimensional indexpunt. |
| ongeldige_compute_domain-klasse | De uitzondering die wordt gegenereerd wanneer de runtime geen kernel kan starten met behulp van het rekendomein dat is opgegeven op de parallel_for_each aanroepsite. |
| out_of_memory-klasse | De uitzondering die wordt gegenereerd wanneer een methode mislukt vanwege een gebrek aan systeem- of apparaatgeheugen. |
| runtime_exception-klasse | Het basistype voor uitzonderingen in de C++ AMP-bibliotheek. |
| tile_barrier-klasse | Een mogelijkheidklasse die alleen door het systeem kan worden aangemaakt en wordt doorgegeven aan een tegel parallel_for_each lambda als onderdeel van de tiled_index parameter. Het biedt één methode, wait()waarvan het doel is om de uitvoering van threads die worden uitgevoerd in de threadgroep (tegel) te synchroniseren. |
| tiled_extent-klasse | Een tiled_extent object is een extent object van één tot drie dimensies waarmee de ruimte wordt onderverdeeld in eendimensionale, tweedimensionale of driedimensionale tegels. |
| tiled_index-klasse | Biedt een index in een tiled_grid object. Deze klasse heeft eigenschappen voor toegang tot element ten opzichte van de oorsprong van de lokale tegel en ten opzichte van de globale oorsprong. |
| uninitialized_object-klasse | De uitzondering die wordt gegenereerd wanneer een niet-geïnitialiseerd object wordt gebruikt. |
| unsupported_feature-klasse | De uitzondering die wordt gegenereerd wanneer een niet-ondersteunde functie wordt gebruikt. |
Opsommingen
| Naam | Description |
|---|---|
| access_type Enumeratie | Hiermee geeft u het gegevenstoegangstype op. |
| queuing_mode Enumeratie | Hiermee geeft u de wachtrijmodi op die worden ondersteund op de accelerator. |
Bedieners
| Operator | Description |
|---|---|
| operator== Operator (C++ AMP) | Bepaalt of de opgegeven gegevensstructuren gelijk zijn. |
| operator!= Operator (C++ AMP) | Bepaalt of de opgegeven gegevensstructuren ongelijk zijn. |
| operator+ Operator (C++ AMP) | Berekent de som van de opgegeven argumenten op basis van het onderdeel. |
| operator- Operator (C++ AMP) | Berekent het componentgewijze verschil tussen de opgegeven argumenten. |
| operator* Operator (C++ AMP) | Berekent het componentgewijze product van de opgegeven argumenten. |
| operator/ Operator (C++ AMP) | Berekent het quotiënt voor het onderdeel van de opgegeven argumenten. |
| operator% Operator (C++ AMP) | Berekent de modulus van het eerste opgegeven argument door het tweede opgegeven argument. |
Functions
| Naam | Description |
|---|---|
| all_memory_fence | Hiermee blokkeert u de uitvoering van alle threads in een tegel totdat alle geheugentoegang is voltooid. |
| amp_uninitialize | De-initialiseert de C++ AMP-runtime. |
| atomic_compare_exchange | Overbelast. Als de waarde die op de opgegeven locatie is opgeslagen, gelijk is aan de eerste opgegeven waarde, wordt de tweede opgegeven waarde op dezelfde locatie opgeslagen als een atomische bewerking. |
| atomic_exchange | Overbelast. Hiermee stelt u de waarde die is opgeslagen op de opgegeven locatie in op de opgegeven waarde als atomische bewerking. |
| atomic_fetch_add | Overbelast. Stelt de waarde die is opgeslagen op de opgegeven locatie in op de som van die waarde en een opgegeven waarde als een atomische operatie. |
| atomic_fetch_and | Overbelast. Hiermee stelt u de waarde die op de opgegeven locatie is opgeslagen in op het resultaat van een bitwise-operatie tussen die waarde en een opgegeven waarde, als een atomaire operatie. |
| atomic_fetch_dec | Overbelast. Hiermee wordt de waarde die op de opgegeven locatie is opgeslagen, ongedaan gemaakt en wordt het resultaat opgeslagen op dezelfde locatie als een atomische bewerking. |
| atomic_fetch_inc | Overbelast. Hiermee wordt de waarde die is opgeslagen op de opgegeven locatie verhoogd en wordt het resultaat opgeslagen op dezelfde locatie als een atomische bewerking. |
| atomic_fetch_max | Overbelast. Stelt de waarde opgeslagen op de opgegeven locatie in op de grotere van die waarde en een opgegeven waarde, als een atomische operatie. |
| atomic_fetch_min | Overbelast. Hiermee stelt u de waarde die op de opgegeven locatie is opgeslagen in op de kleiner van die waarde en een opgegeven waarde als atomische bewerking. |
| atomic_fetch_or | Overbelast. Hiermee stelt u de waarde die op de opgegeven locatie is opgeslagen in bitwise or van die waarde en een opgegeven waarde in als atomische bewerking. |
| atomic_fetch_sub | Overbelast. Hiermee stelt u de waarde die is opgeslagen op de opgegeven locatie in op het verschil van die waarde en een opgegeven waarde als atomische bewerking. |
| atomic_fetch_xor | Overbelast. Hiermee stelt u de waarde die op de opgegeven locatie is opgeslagen in bitwise xor van die waarde en een opgegeven waarde in als atomische bewerking. |
| copy | Hiermee kopieert u een C++ AMP-object. Aan alle vereisten voor synchrone gegevensoverdracht wordt voldaan. Gegevens kunnen niet worden gekopieerd wanneer code wordt uitgevoerd op een accelerator. De algemene vorm van deze functie is copy(src, dest). |
| copy_async | Kopieert een C++ AMP-object en retourneert completion_future waarop kan worden gewacht. Gegevens kunnen niet worden gekopieerd wanneer code wordt uitgevoerd op een accelerator. De algemene vorm van deze functie is copy(src, dest). |
| direct3d_abort | Hiermee wordt de uitvoering van een functie met de restrict(amp) beperkingscomponent afgebroken. |
| direct3d_errorf | Hiermee wordt een opgemaakte tekenreeks naar het Visual Studio Uitvoervenster afgedrukt en genereert een uitzondering met dezelfde opmaaktekenreeks. |
| direct3d_printf | Hiermee wordt een opgemaakte tekenreeks afgedrukt in het Visual Studio uitvoervenster. Het wordt aangeroepen vanuit een functie met de restrict(amp) beperkingscomponent. |
| global_memory_fence | Hiermee blokkeert u de uitvoering van alle threads in een tegel totdat alle globale geheugentoegang is voltooid. |
| parallel_for_each, functie (C++ AMP) | Voert een functie uit in het rekendomein. |
| tile_static_memory_fence | Blokkeert de uitvoering van alle threads in een tegel totdat tile_static geheugentoegang beëindigd is. |
Constanten
| Naam | Description |
|---|---|
| constante HLSL_MAX_NUM_BUFFERS | Het maximum aantal buffers dat is toegestaan door DirectX. |
| MODULENAME_MAX_LENGTH constante | Slaat de maximale lengte van de modulenaam op. Deze waarde moet hetzelfde zijn voor de compiler en de runtime. |
Requirements
Koptekst: amp.h