accelerator – třída
Akcelerátor je hardwarová funkce, která je optimalizovaná pro paralelní výpočty dat. Akcelerátorem může být zařízení připojené ke sběrnici PCIe (například GPU), nebo se může jednat o rozšířenou instrukci nastavenou na hlavní procesor.
Syntaxe
class accelerator;
Členové
Veřejné konstruktory
Název | Popis |
---|---|
accelerator – konstruktor | Inicializuje novou instanci accelerator třídy. |
~akcelerátor – destruktor | accelerator Zničí objekt. |
Veřejné metody
Název | Popis |
---|---|
create_view | Vytvoří a vrátí objekt na tomto akcelerátoru accelerator_view . |
get_all | Vrátí vektor accelerator objektů, které představují všechny dostupné akcelerátory. |
get_auto_selection_view | Vrátí automatický výběr accelerator_view . |
get_dedicated_memory | Vrátí vyhrazenou paměť pro accelerator hodnotu v kilobajtech. |
get_default_cpu_access_type | Vrátí výchozí access_type pro vyrovnávací paměti vytvořené v tomto akcelerátoru. |
get_default_view | Vrátí výchozí accelerator_view objekt přidružený k objektu accelerator . |
get_description | Vrátí krátký popis accelerator zařízení. |
get_device_path | Vrátí cestu zařízení. |
get_has_display | Určuje, zda je připojen k accelerator zobrazení. |
get_is_debug | Určuje, jestli accelerator má vrstva DEBUG povolenou pro rozsáhlé zasílání zpráv o chybách. |
get_is_emulated | Určuje, zda je accelerator emulován. |
get_supports_cpu_shared_memory | Určuje, zda podporuje sdílenou accelerator paměť. |
get_supports_double_precision | Určuje, zda je připojen k accelerator zobrazení. |
get_supports_limited_double_precision | Určuje, zda má omezená podpora pro matematiku accelerator s dvojitou přesností. |
get_version | Vrátí verzi accelerator . |
set_default | Vrátí cestu výchozího akcelerátoru. |
set_default_cpu_access_type | Nastaví výchozí access_typeprocesoru pro pole a implicitní přidělení paměti provedené v tomto accelerator případě . |
Veřejné operátory
Název | Popis |
---|---|
operator!= | Porovná tento accelerator objekt s jiným a vrátí false , pokud jsou stejné; v opačném případě vrátí true . |
operator= | Zkopíruje obsah zadaného accelerator objektu do tohoto objektu. |
operator== | Porovná tento accelerator objekt s jiným a vrátí true , pokud jsou stejné; v opačném případě vrátí false . |
Veřejné datové členy
Název | Popis |
---|---|
cpu_accelerator | Získá řetězcovou konstantu pro procesor accelerator . |
dedicated_memory | Získá vyhrazenou paměť pro accelerator , v kilobajtů. |
default_accelerator | Získá řetězcovou konstantu pro výchozí accelerator . |
default_cpu_access_type | Získá nebo nastaví výchozí procesor access_typepro pole a implicitní přidělení paměti provedené v tomto accelerator . |
default_view | Získá výchozí accelerator_view objekt, který je přidružen k accelerator . |
popis | Získá krátký popis accelerator zařízení. |
device_path | Získá cestu zařízení. |
direct3d_ref | Získá řetězcovou konstantu pro odkaz accelerator Direct3D . |
direct3d_warp | Získá řetězcovou konstantu accelerator pro objekt, který můžete použít pro spuštění kódu C++ AMP na vícejádrových procesorech, které používají streamovaná rozšíření SIMD (SSE). |
has_display | Získá logickou hodnotu, která označuje, zda je připojen k accelerator zobrazení. |
is_debug | Určuje, jestli accelerator má vrstva DEBUG povolenou pro rozsáhlé hlášení chyb. |
is_emulated | Určuje, jestli accelerator je emulován. |
supports_cpu_shared_memory | Určuje, zda podporuje sdílenou accelerator paměť. |
supports_double_precision | Určuje, jestli akcelerátor podporuje matematiku s dvojitou přesností. |
supports_limited_double_precision | Určuje, zda akcelerátor má omezenou podporu pro matematiku s dvojitou přesností. |
version | Získá verzi accelerator . |
Hierarchie dědičnosti
accelerator
Poznámky
Akcelerátor je hardwarová funkce, která je optimalizovaná pro paralelní výpočty dat. Akcelerátor je často diskrétní GPU, ale může to být také entita na straně virtuálního hostitele, jako je zařízení DIRECTX REF, WARP (zařízení na straně procesoru, které se akceleruje pomocí instrukcí SSE) nebo samotného procesoru.
Objekt můžete vytvořit accelerator
pomocí výčtu dostupných zařízení nebo získáním výchozího zařízení, referenčního zařízení nebo zařízení WARP.
Požadavky
Záhlaví: amprt.h
Namespace: Souběžnost
~akcelerátor
accelerator
Zničí objekt.
~accelerator();
Návratová hodnota
akcelerátor
Inicializuje novou instanci třídy akcelerátoru.
accelerator();
explicit accelerator(const std::wstring& _Device_path);
accelerator(const accelerator& _Other);
Parametry
_Device_path
Cesta fyzického zařízení.
_Jiný
Akcelerátor, který chcete zkopírovat.
cpu_accelerator
Získá řetězcovou konstantu pro akcelerátor procesoru.
static const wchar_t cpu_accelerator[];
create_view
Vytvoří a vrátí accelerator_view
objekt na tomto akcelerátoru pomocí zadaného režimu řízení front. Pokud není zadán režim řízení front, použije nový accelerator_view
režim queuing_mode::immediate řízení front.
accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);
Parametry
qmode
Režim řazení do fronty.
Návratová hodnota
Nový accelerator_view
objekt v tomto akcelerátoru pomocí zadaného režimu řízení front.
dedicated_memory
Získá vyhrazenou paměť pro accelerator
, v kilobajtů.
__declspec(property(get= get_dedicated_memory)) size_t dedicated_memory;
default_accelerator
Získá řetězcovou konstantu pro výchozí accelerator
.
static const wchar_t default_accelerator[];
default_cpu_access_type
Výchozí access_typeprocesoru pro pole a implicitní přidělení paměti provedené v tomto accelerator
případě .
__declspec(property(get= get_default_cpu_access_type)) access_type default_cpu_access_type;
default_view
Získá výchozí zobrazení akcelerátoru, který je přidružen .accelerator
__declspec(property(get= get_default_view)) accelerator_view default_view;
description
Získá krátký popis accelerator
zařízení.
__declspec(property(get= get_description)) std::wstring description;
device_path
Získá cestu akcelerátoru. Cesta je v systému jedinečná.
__declspec(property(get= get_device_path)) std::wstring device_path;
direct3d_ref
Získá řetězcovou konstantu pro akcelerátor odkazu Direct3D.
static const wchar_t direct3d_ref[];
direct3d_warp
Získá řetězcovou konstantu accelerator
pro objekt, který můžete použít pro spuštění kódu C++ AMP na vícejádrových procesorech pomocí streamovaných rozšíření SIMD (SSE).
static const wchar_t direct3d_warp[];
get_all
Vrátí vektor accelerator
objektů, které představují všechny dostupné akcelerátory.
static inline std::vector<accelerator> get_all();
Návratová hodnota
Vektor dostupných akcelerátorů
get_auto_selection_view
Vrátí accelerator_view automatického výběru, který při zadání jako cíl parallel_for_each způsobí, že cílový accelerator_view pro spuštění jádra parallel_for_each automaticky vybere modul runtime. Pro všechny ostatní účely je accelerator_view vrácená touto metodou stejná jako výchozí accelerator_view výchozího akcelerátoru.
static accelerator_view __cdecl get_auto_selection_view();
Návratová hodnota
Automatický výběr accelerator_view.
get_dedicated_memory
Vrátí vyhrazenou paměť pro accelerator
hodnotu v kilobajtech.
size_t get_dedicated_memory() const;
Návratová hodnota
Vyhrazená paměť pro accelerator
v kilobajtech.
get_default_cpu_access_type
Získá výchozí access_type procesoru pro vyrovnávací paměti vytvořené v tomto akcelerátoru.
access_type get_default_cpu_access_type() const;
Návratová hodnota
Výchozí access_type procesoru pro vyrovnávací paměti vytvořené na tomto akcelerátoru.
get_default_view
Vrátí výchozí accelerator_view
objekt přidružený k objektu accelerator
.
accelerator_view get_default_view() const;
Návratová hodnota
Výchozí accelerator_view
objekt přidružený k objektu accelerator
.
get_description
Vrátí krátký popis accelerator
zařízení.
std::wstring get_description() const;
Návratová hodnota
Stručný popis accelerator
zařízení.
get_device_path
Vrátí cestu akcelerátoru. Cesta je v systému jedinečná.
std::wstring get_device_path() const;
Návratová hodnota
Cesta k instanci zařízení pro celý systém.
get_has_display
Vrátí logickou hodnotu, která určuje, jestli accelerator
může výstup zobrazit.
bool get_has_display() const;
Návratová hodnota
true
accelerator
pokud může výstup na displej; v opačném případě false
.
get_is_debug
Určuje, jestli accelerator
má vrstva DEBUG povolenou pro rozsáhlé zasílání zpráv o chybách.
bool get_is_debug() const;
Návratová hodnota
true
accelerator
pokud má vrstva DEBUG povolenou pro rozsáhlé hlášení chyb. V opačném případě hodnota false
.
get_is_emulated
Určuje, zda je accelerator
emulován.
bool get_is_emulated() const;
Návratová hodnota
true
accelerator
pokud je emulován. V opačném případě hodnota false
.
get_supports_cpu_shared_memory
Vrátí logickou hodnotu označující, jestli akcelerátor podporuje paměť dostupnou akcelerátorem i procesorem.
bool get_supports_cpu_shared_memory() const;
Návratová hodnota
true
pokud akcelerátor podporuje sdílenou paměť procesoru; v opačném případě . false
get_supports_double_precision
Vrátí logickou hodnotu, která určuje, jestli akcelerátor podporuje matematiku s dvojitou přesností, včetně součinu násobení (FMA), dělení, reciproční a přetypování mezi int
a double
bool get_supports_double_precision() const;
Návratová hodnota
true
pokud akcelerátor podporuje matematiku s dvojitou přesností; v opačném případě . false
get_supports_limited_double_precision
Vrátí logickou hodnotu, která označuje, zda akcelerátor má omezenou podporu pro matematiku s dvojitou přesností. Pokud má akcelerátor pouze omezenou podporu, pak sloučí sčítání násobení (FMA), dělení, reciproční a přetypování mezi int
a double
nejsou podporovány.
bool get_supports_limited_double_precision() const;
Návratová hodnota
true
má-li akcelerátor omezenou podporu pro matematiku s dvojitou přesností; v opačném případě . false
get_version
Vrátí verzi accelerator
.
unsigned int get_version() const;
Návratová hodnota
Verze accelerator
souboru .
has_display
Získá logickou hodnotu, která označuje, zda accelerator
může výstup do zobrazení.
__declspec(property(get= get_has_display)) bool has_display;
is_debug
Získá logickou hodnotu, která označuje, zda accelerator
má vrstva DEBUG povolena pro rozsáhlé hlášení chyb.
__declspec(property(get= get_is_debug)) bool is_debug;
is_emulated
Získá logickou hodnotu, která označuje, zda accelerator
je emulován.
__declspec(property(get= get_is_emulated)) bool is_emulated;
operator!=
Porovná tento accelerator
objekt s jiným a vrátí false
, pokud jsou stejné; v opačném případě vrátí true
.
bool operator!= (const accelerator& _Other) const;
Parametry
_Jiný
Objekt accelerator
, který chcete porovnat s tímto objektem.
Návratová hodnota
false
jsou-li dva accelerator
objekty stejné; jinak , true
.
operator=
Zkopíruje obsah zadaného accelerator
objektu do tohoto objektu.
accelerator& operator= (const accelerator& _Other);
Parametry
_Jiný
Objekt accelerator
, ze který chcete kopírovat.
Návratová hodnota
Odkaz na tento accelerator
objekt.
operator==
Porovná tento accelerator
objekt s jiným a vrátí true
, pokud jsou stejné; v opačném případě vrátí false
.
bool operator== (const accelerator& _Other) const;
Parametry
_Jiný
Objekt accelerator
, který chcete porovnat s tímto objektem.
Návratová hodnota
true
je-li druhý accelerator
objekt stejný jako tento accelerator
objekt; jinak, false
.
set_default
Nastaví výchozí akcelerátor, který se použije pro libovolnou operaci, která implicitně používá výchozí akcelerátor. Tato metoda je úspěšná pouze v případě, že modul runtime vybraný výchozí akcelerátor ještě nebyl použit v operaci, která implicitně používá výchozí akcelerátor.
static inline bool set_default(std::wstring _Path);
Parametry
_Cesta
Cesta k akcelerátoru.
Návratová hodnota
true
pokud je volání úspěšné při nastavení výchozího akcelerátoru. V opačném případě hodnota false
.
set_default_cpu_access_type
Nastavte výchozí access_type procesoru pro pole vytvořená na tomto akcelerátoru nebo pro implicitní přidělení paměti jako součást array_views přístup k tomuto akcelerátoru. Tato metoda je úspěšná pouze v případě, že default_cpu_access_type akcelerátoru ještě nebyla přepsána předchozím voláním této metody a modul runtime vybraný default_cpu_access_type pro tento akcelerátor ještě nebyl použit pro přidělování pole nebo pro implicitní přidělení paměti backing array_view přístup k tomuto akcelerátoru.
bool set_default_cpu_access_type(access_type _Default_cpu_access_type);
Parametry
_Default_cpu_access_type
Výchozí access_type procesoru, který se má použít pro přidělení paměti pro pole nebo array_view na tomto akcelerátoru.
Návratová hodnota
Logická hodnota označující, jestli se výchozí access_type procesoru pro akcelerátor úspěšně nastavil.
supports_cpu_shared_memory
Získá logickou hodnotu označující, zda podporuje sdílenou accelerator
paměť.
__declspec(property(get= get_supports_cpu_shared_memory)) bool supports_cpu_shared_memory;
supports_double_precision
Získá logickou hodnotu, která označuje, zda akcelerátor podporuje matematiku s dvojitou přesností.
__declspec(property(get= get_supports_double_precision)) bool supports_double_precision;
supports_limited_double_precision
Získá logickou hodnotu, která označuje, zda akcelerátor má omezenou podporu pro matematiku s dvojitou přesností. Pokud má akcelerátor pouze omezenou podporu, pak sloučí sčítání násobení (FMA), dělení, reciproční a přetypování mezi int
a double
nejsou podporovány.
__declspec(property(get= get_supports_limited_double_precision)) bool supports_limited_double_precision;
version
Získá verzi accelerator
.
__declspec(property(get= get_version)) unsigned int version;