Sdílet prostřednictvím


Obor názvů souběžnosti (C++ AMP)

Poskytuje třídy a funkce urychlující spuštění kódu jazyka C++ na datově paralelním hardwaru.Další informace naleznete v tématu Přehled produktu C++ AMP

namespace Concurrency;

Členy

Obory názvů

Název

Description

Concurrency::direct3d – obor názvů

Poskytuje funkce podporující spolupráci rozhraní D3D.Zajišťuje bezproblémové využití zdrojů D3D pro výpočty v kódu AMP a umožňuje používat prostředky vytvořené pomocí knihovny AMP v kódu D3D bez nutnosti vytvářet nadbytečné pomocné kopie.Použitím C++ AMP lze postupně urychlovat provádění výpočetně náročných oddílů DirectX aplikace a použít rozhraní D3D API nad daty vytvořenými výpočty AMP.

Concurrency::fast_math – obor názvů

Funkce v oboru názvů fast_math nejsou kompatibilní s normou C99.Jsou k dispozici pouze verze s jednoduchou přesností jednotlivých funkcí.Tyto funkce používají vnitřní funkce rozhraní DirectX, které jsou rychlejší než odpovídající funkce v oboru názvů precise_math a nevyžadují žádnou rozšířenou podporu s dvojitou přesností na akcelerátoru, ale jsou méně přesné.Existují dvě verze jednotlivých funkcí pro kompatibilitu na úrovni zdroje s kódem C99; obě verze přebírají a vracejí hodnoty s přesností na jedno místo.

Concurrency::graphics – obor názvů

Poskytuje typy a funkce navržené pro grafické programování.

Concurrency::precise_math – obor názvů

Funkce v oboru názvů precise_math jsou kompatibilní s normou C99.Jsou zahrnuty verze funkcí pro jednoduchou i dvojitou přesnost.Tyto funkce, včetně funkcí s jednoduchou přesností, vyžadují rozšířenou podporu dvojité přesnosti v akcelerátoru.

Třídy

Název

Description

accelerator – třída

Představuje abstrakcí fyzického DP-optimalizovaného výpočetního uzlu.

accelerator_view – třída

Představuje abstrakci virtuálního zařízení v akcelerátoru paralelních dat knihovny C++ AMP.

accelerator_view_removed – třída

Výjimka, která je vyvolaná, když podkladové volání rozhraní DirectX selže z důvodu detekce vypršení časového limitu nebo kvůli mechanismu obnovení operačního systému Windows.

array – třída

Souhrn dat na objektu accelerator_view v doméně mřížky.Jde o kolekci proměnných, jedna pro každý prvek v doméně mřížky.Každá proměnná obsahuje hodnotu odpovídající některému typu jazyka C++.

array_view – třída

Představuje pohled na data v poli <T,N>.

completion_future – třída

Představuje budoucí odpovídající asynchronní operaci C++ AMP.

extent – třída (C++ AMP)

Představuje vektor N celočíselných hodnot určujících hranice N-rozměrného prostoru s počátkem v hodnotě 0.Hodnoty ve vektoru souřadnic jsou seřazeny od nejvýznamnější po nejméně významnou.Například v kartézském trojrozměrném prostoru představuje vektor rozsahu (7,5,3) prostor, v němž souřadnice z nabývá rozsahu 0 až 7, souřadnice y rozsahu 0 až 5 a souřadnice x rozsahu 0 až 3.

index – třída

Definuje N-rozměrný bod indexu.

invalid_compute_domain – třída

Výjimka vyvolaná tehdy, kdy modul runtime nemůže spustit jádro za použití výpočetní domény určené na místě volání algoritmu parallel_for_each.

out_of_memory – třída

Výjimka, která je vyvolána, jestliže metoda selže z důvodu nedostatku systémové paměti nebo paměti v zařízení.

runtime_exception – třída

Základní typ výjimky v knihovně C++ AMP.

tile_barrier – třída

Užitková třída, kterou může vytvořit pouze systém a která je předána do dlaždicového výrazu lambda parallel_for_each jako součást parametru tiled_index.Poskytuje jednu metodu wait(), jejímž účelem je synchronizovat provádění vláken spuštěných ve skupině vláken (bloku).

tiled_extent – třída

Objekt tiled_extent je objektem extent s dimenzí od jedné do tří, který rozděluje rozsah prostoru do jednorozměrných, dvourozměrných nebo třírozměrných dlaždic.

tiled_index – třída

Poskytuje index do objektu tiled_grid.Tato třída obsahuje vlastnosti pro přístup k prvku relativnímu k místnímu původu bloku a ke globálnímu původu.

uninitialized_object – třída

Výjimka, která je vyvolána při použití neinicializovaného objektu.

unsupported_feature – třída

Výjimka, která je vyvolána při použití nepodporované funkce.

Výčty

Název

Description

access_type – výčet

Určuje typ přístupu k datům.

queuing_mode – výčet

Určuje režimy zařazování do fronty podporované akcelerátorem.

Operátory

Operátor

Description

operator== – operátor (C++ AMP)

Určuje, zda zadané datové struktury jsou stejné.

operator!= – operátor (C++ AMP)

Určuje, zda zadané datové struktury jsou nestejné.

operator+ – operátor (C++ AMP)

Vypočítá součet zadaných argumentů podle komponent.

operator- – operátor (C++ AMP)

Vypočítá rozdíl mezi zadanými argumenty podle komponent.

operator* – operátor (C++ AMP)

Vypočítá součin zadaných argumentů podle komponent.

operator/ – operátor (C++ AMP)

Vypočítá podíl zadaných argumentů podle komponent.

operator% – operátor (C++ AMP)

Vypočítá zbytek z prvního zadaného argumentu ve druhém zadaném argumentu.

Funkce

Název

Description

all_memory_fence – funkce

Pozastaví spuštění všech vláken v bloku, dokud nejsou dokončeny všechny přístupy do paměti.

amp_uninitialize – funkce

Zruší inicializaci modulu runtime jazyka C++ AMP.

atomic_compare_exchange – funkce

Přetíženo.Pokud je uložená hodnota v zadaném umístění při porovnání rovna první zadané hodnotě, tak druhá zadaná hodnota je uložena ve stejném umístění jako atomická operace.

atomic_exchange – funkce (C++ AMP)

Přetíženo.Nastaví hodnotu uloženou v zadaném umístění na zadanou hodnotu jako atomickou operaci.

atomic_fetch_add – funkce (C++ AMP)

Přetíženo.Nastaví hodnotu uloženou v zadaném umístění na součet dané hodnoty a určitou hodnotu jako atomickou operaci.

atomic_fetch_and – funkce (C++ AMP)

Přetíženo.Nastaví hodnotu uloženou v zadaném umístění na bitové and dané hodnoty a určitou hodnotu jako atomickou operaci.

atomic_fetch_dec – funkce

Přetíženo.Sníží hodnoty uložené v zadaném umístění a výsledek je uložen na stejném místě jako atomická operace.

atomic_fetch_inc – funkce

Přetíženo.Zvýší hodnoty uložené v zadaném umístění a výsledek je uložen na stejném místě jako atomická operace.

atomic_fetch_max – funkce

Přetíženo.Nastaví hodnotu uloženou v zadaném umístění na větší z dané hodnoty a určitou hodnotu jako atomickou operaci.

atomic_fetch_min – funkce

Přetíženo.Nastaví hodnotu uloženou v zadaném umístění na menší z dané hodnoty a určitou hodnotu jako atomickou operaci.

atomic_fetch_or – funkce (C++ AMP)

Přetíženo.Nastaví hodnotu uloženou v zadaném umístění na bitové or dané hodnoty a určitou hodnotu jako atomickou operaci.

atomic_fetch_sub – funkce (C++ AMP)

Přetíženo.Nastaví hodnotu uloženou v zadaném umístění na rozdíl dané hodnoty a určitou hodnotu jako atomickou operaci.

atomic_fetch_xor – funkce (C++ AMP)

Přetíženo.Nastaví hodnotu uloženou v zadaném umístění na bitové xor dané hodnoty a určitou hodnotu jako atomickou operaci.

copy – funkce

Zkopíruje objekt knihovny C++ AMP.Jsou splněny všechny požadavky synchronního přenosu dat.Data nelze kopírovat, pokud kód spouští kód na akcelerátoru.Obecný tvar této funkce je copy(src, dest).

copy_async – funkce

Zkopíruje objekt jazyka C++ AMP a vrátí objekt completion_future, který může být očekáván.Data nelze kopírovat, pokud je kód spuštěn na akcelerátoru.Obecný tvar této funkce je copy(src, dest).

direct3d_abort – funkce

Zruší spuštění funkce s omezovací klauzulí restrict(amp).

direct3d_errorf – funkce

Vytiskne formátovaný řetězec pro okno Výstup aplikace Visual Studio a vyvolává výjimku runtime_exception, která využívá stejný řetězce formátování.

direct3d_printf – funkce

Vytiskne na okno Výstup aplikace Visual Studio formátovaný řetězec.Funkce je volána z funkce s omezující podmínkou restrict(amp).

global_memory_fence – funkce

Zastaví spuštění všech vláken v dlaždici, dokud nejsou všechny globální přístupy dokončeny.

parallel_for_each – funkce (C++ AMP)

Spustí funkci napříč výpočetní doménou.

tile_static_memory_fence – funkce

Pozastaví spuštění všech vláken v bloku, dokud nejsou dokončeny přístupy do paměti typu tile_static.

Konstanty

Název

Description

HLSL_MAX_NUM_BUFFERS – konstanta

Maximální počet vyrovnávacích pamětí povolených rozhraním DirectX.

MODULENAME_MAX_LENGTH – konstanta

Ukládá maximální délku názvu modulu.Tato hodnota musí být stejná v kompilátoru a modulu runtime.

Požadavky

Hlavička: amp.h

Viz také

Další zdroje

Referenční dokumentace (C++ AMP)