Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Poskytuje třídy a funkce, které urychlují spouštění kódu jazyka C++ na hardwaru paralelně s daty. Další informace najdete v tématu Přehled C++ AMP
Syntaxe
namespace Concurrency;
Členové
Namespaces
| název | Description |
|---|---|
| Concurrency::direct3d – prostor názvů | Poskytuje funkce, které podporují interoperabilitu D3D. Umožňuje bezproblémové použití prostředků D3D pro výpočetní prostředky v kódu AMP a použití prostředků vytvořených v AMP v kódu D3D bez nutnosti vytvářet redundantní zprostředkující kopie. Pomocí C++ AMP můžete inkrementálně zrychlit oddíly náročné na výpočetní výkon aplikací DirectX a použít rozhraní API D3D pro data vytvořená z výpočtů AMP. |
| Concurrency::fast_math – jmenný prostor | Funkce v fast_math oboru názvů nejsou v souladu s C99. K dispozici jsou pouze verze s jednou přesností každé funkce. Tyto funkce používají vnitřní funkce DirectX, které jsou rychlejší než odpovídající funkce v precise_math oboru názvů a nevyžadují rozšířenou podporu dvojité přesnosti na akcelerátoru, ale jsou méně přesné. Existují dvě verze každé funkce pro kompatibilitu na úrovni zdroje s kódem C99; obě verze přebírají a vracejí hodnoty s jednou přesností. |
| Concurrency::graphics prostor názvů | Poskytuje typy a funkce navržené pro programování grafiky. |
| Concurrency::precise_math – obor názvů | Funkce v oboru názvů precise_math jsou v souladu s C99. Součástí jsou verze s jednoduchou přesností i dvojitou přesností každé funkce. Tyto funkce – to zahrnuje funkce s jednoduchou přesností – vyžadují rozšířenou podporu dvojité přesnosti na akcelerátoru. |
Vyučování
| název | Description |
|---|---|
| třída Accelerator | Představuje abstrakci fyzického výpočetního uzlu optimalizovaného pro DP. |
| Třída accelerator_view | Představuje abstrakci virtuálního zařízení na datově paralelním akcelerátoru C++ AMP. |
| Třída accelerator_view_removed | Výjimka, která se vyvolá, když základní volání rozhraní DirectX selže kvůli mechanismu detekce a obnovení po vypršení časového limitu systému Windows. |
| Array třída | Agregát dat v doméně mřížky accelerator_view Jedná se o kolekci proměnných, jednu pro každý prvek v doméně mřížky. Každá proměnná obsahuje hodnotu, která odpovídá určitému typu C++. |
| array_view Třída | Představuje zobrazení dat v matici<T,N>. |
| třída completion_future | Představuje budoucnost, která odpovídá asynchronní operaci C++ AMP. |
| třída extent | Představuje vektor N celočíselných hodnot, které určují hranice N-dimenzionálního prostoru, který má počátek v 0. Hodnoty v souřadnicovém vektoru jsou seřazeny od nejvýznamnějších po nejméně významné. Například v kartézském trojrozměrném prostoru představuje vektor rozsahu (7,5,3) prostor, ve kterém souřadnice z se pohybuje od 0 do 7, rozsahy souřadnic y od 0 do 5 a souřadnice x se pohybuje od 0 do 3. |
| Index Class | Definuje N-dimenzionální indexový bod. |
| invalid_compute_domain – třída | Výjimka, která se vyvolá, když modul runtime nemůže spustit jádro pomocí výpočetní domény zadané v lokalitě parallel_for_each volání. |
| out_of_memory – třída | Výjimka, která se vyvolá, když metoda selže kvůli nedostatku systémové paměti nebo paměti zařízení. |
| Třída runtime_exception | Základní typ výjimek v knihovně C++ AMP. |
| třída tile_barrier | Třída schopností, která může být vytvořena pouze systémem, a je předána dílčí parallel_for_each lambda jako součást parametru tiled_index. Poskytuje jednu metodu, wait()jejíž účelem je synchronizovat provádění vláken spuštěných ve skupině vláken (dlaždice). |
| Třída tiled_extent | Objekt tiled_extent je extent objekt jednoho až tří dimenzí, který rozděluje prostor rozsahu na jednorozměrné, dvourozměrné nebo trojrozměrné dlaždice. |
| tiled_index – třída | Poskytuje index objektu tiled_grid . Tato třída má vlastnosti pro přístup k elementu vzhledem k místnímu zdroji dlaždice a vzhledem k globálnímu původu. |
| Třída uninitialized_object | Výjimka, která je vyvolána při použití neinicializovaného objektu. |
| Třída unsupported_feature | Výjimka, která se vyvolá při použití nepodporované funkce. |
Výčty
| název | Description |
|---|---|
| access_type – výčtový typ | Určuje datový typ přístupu. |
| queuing_mode – výčet | Určuje režimy řízení front, které jsou podporovány v akcelerátoru. |
Operátoři
| Operátor | Description |
|---|---|
| operator== – operátor (C++ AMP) | Určuje, zda jsou zadané datové struktury stejné. |
| operator!= – operátor (C++ AMP) | Určuje, zda jsou zadané datové struktury nerovné. |
| operator+ – operátor (C++ AMP) | Vypočítá součet zadaných argumentů podle komponent. |
| operator- Operator (C++ AMP) | Vypočítá rozdíl mezi jednotlivými složkami zadaných argumentů. |
| operator* – operátor (C++ AMP) | Vypočítá součin komponentových součinů zadaných argumentů. |
| Operator/Operátor (C++ AMP) | Vypočítá podíl po složkách zadaných argumentů. |
| operator% – operátor (C++ AMP) | Vypočítá moduly prvního zadaného argumentu druhým zadaným argumentem. |
Functions
| název | Description |
|---|---|
| all_memory_fence | Blokuje provádění všech vláken na dlaždici, dokud se nedokončí všechny přístupy k paměti. |
| amp_uninitialize | Deinicializuje C++ AMP runtime. |
| atomic_compare_exchange | Přetíženo. Pokud se hodnota uložená v zadaném umístění porovná s první zadanou hodnotou, uloží se druhá zadaná hodnota ve stejném umístění jako atomická operace. |
| atomic_exchange | Přetíženo. Nastaví hodnotu uloženou v zadaném umístění na zadanou hodnotu jako atomická operace. |
| atomic_fetch_add | Přetíženo. Nastaví hodnotu uloženou na zadaném místě tak, aby byla rovna součtu této hodnoty a zadané hodnoty, a to jako atomická operace. |
| atomic_fetch_and | Přetíženo. Nastaví hodnotu uloženou v zadaném umístění na bitovou and hodnotu této hodnoty a zadanou hodnotu jako atomické operace. |
| atomic_fetch_dec | Přetíženo. Sníží hodnotu uloženou v zadaném umístění a uloží výsledek do stejného umístění jako atomická operace. |
| atomic_fetch_inc | Přetíženo. Zvýší hodnotu uloženou v zadaném umístění a uloží výsledek do stejného umístění jako atomická operace. |
| atomic_fetch_max | Přetíženo. Nastaví hodnotu uloženou v zadaném umístění na větší ze dvou hodnot: stávající a zadanou, jako atomickou operaci. |
| atomic_fetch_min | Přetíženo. Nastaví hodnotu uloženou v zadaném umístění na menší z této hodnoty a zadané hodnoty jako atomickou operaci. |
| atomic_fetch_or | Přetíženo. Nastaví hodnotu uloženou v zadaném umístění na bitovou or hodnotu této hodnoty a zadanou hodnotu jako atomické operace. |
| atomic_fetch_sub | Přetíženo. Nastaví hodnotu uloženou v zadaném umístění na rozdíl mezi touto hodnotou a zadanou hodnotou jako atomická operace. |
| atomic_fetch_xor | Přetíženo. Nastaví hodnotu uloženou v zadaném umístění na bitovou xor hodnotu této hodnoty a zadanou hodnotu jako atomické operace. |
| kopírovat | Zkopíruje objekt C++ AMP. Jsou splněny všechny synchronní požadavky na přenos dat. Data se nedají zkopírovat, když kód spouští kód na akcelerátoru. Obecná forma této funkce je copy(src, dest). |
| copy_async | Zkopíruje objekt C++ AMP a vrátí completion_future , na který lze čekat. Data se nedají zkopírovat, když je kód spuštěný na akcelerátoru. Obecná forma této funkce je copy(src, dest). |
| direct3d_abort | Přeruší provádění funkce, která má restrict(amp) klauzuli omezení. |
| direct3d_errorf | Vytiskne formátovaný řetězec do okna Výstup sady Visual Studio a vyvolá výjimku runtime_exception, která má stejný formátovací řetězec. |
| direct3d_printf | Vytiskne formátovaný řetězec do okna Výstup sady Visual Studio. Volá se z funkce, která má klauzuli restrict(amp) omezení. |
| global_memory_fence | Blokuje provádění všech vláken na dlaždici, dokud se nedokončí všechny globální přístupy k paměti. |
| funkce parallel_for_each (C++ AMP) | Spustí funkci napříč výpočetní doménou. |
| tile_static_memory_fence | Blokuje provádění všech vláken na dlaždici, dokud nejsou dokončeny přístupy k paměti tile_static. |
Constants
| název | Description |
|---|---|
| konstanta HLSL_MAX_NUM_BUFFERS | Maximální počet vyrovnávacích pamětí povolených rozhraním DirectX. |
| Konstanta MODULENAME_MAX_LENGTH | Uloží maximální délku názvu modulu. Tato hodnota musí být stejná v kompilátoru a modulu runtime. |
Požadavky
záhlaví : amp.h