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.
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 |
|---|---|
| akcelerátor – 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í accelerator_view objekt na tomto akcelerátoru. |
| získat_vše | Vrátí vektor accelerator objektů, které představují všechny dostupné akcelerátory. |
| získat_pohled_na_automatický_výběr | Vrátí automaticky zvolenou možnost accelerator_view. |
| get_dedicated_memory | Vrátí vyhrazenou paměť pro accelerator 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 accelerator připojen k 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 accelerator podporuje sdílenou paměť. |
| get_supports_double_precision | Určuje, zda je accelerator připojen k displeji. |
| get_supports_limited_double_precision | Určuje, zda accelerator má omezenou podporu pro matematiku 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_type pro CPU pro pole a implicitní přidělování paměti prováděné zde. |
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 kilobajtech. |
| default_accelerator | Získá řetězcovou konstantu pro výchozí accelerator. |
| výchozí_typ_přístupu_cpu | Získá nebo nastaví výchozí typ přístupu procesoru pro pole a implicitní přidělení paměti provedená na tomto accelerator. |
| default_view | Získá výchozí accelerator_view objekt, který je přidružen k accelerator. |
| popis | Získá krátký popis zařízení accelerator. |
| device_path | Získá cestu zařízení. |
| direct3d_ref | Získá řetězcovou konstantu pro accelerator odkaz 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). |
| má_displej | Získá pravdivostní hodnotu, která udává, zda je accelerator připojen ke zobrazení. |
| is_debug | Určuje, jestli accelerator má vrstva DEBUG povolenou pro rozsáhlé hlášení chyb. |
| je_emulováno | Určuje, jestli accelerator je emulován. |
| podporuje_sdílenou_paměť_pro_CPU | Určuje, zda accelerator podporuje sdílenou paměť. |
| podporuje_dvojnásobnou_přesnost | 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í. |
| verze | 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
Obor názvů: 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 ke zkopírování.
akcelerátor CPU
Získá řetězcovou konstantu pro akcelerátor procesoru.
static const wchar_t cpu_accelerator[];
vytvořit_pohled
Vytvoří a vrátí accelerator_view objekt na tomto akcelerátoru pomocí zadaného režimu fronty. Pokud není zadán režim řízení front, použije nový accelerator_viewrež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 s použitím zadaného režimu frontování.
vyhrazená paměť
Získá vyhrazenou paměť pro accelerator, v kilobajtech.
__declspec(property(get= get_dedicated_memory)) size_t dedicated_memory;
výchozí akcelerátor
Získá řetězcovou konstantu pro výchozí accelerator.
static const wchar_t default_accelerator[];
výchozí_typ_přístupu_k_cpu
Výchozí access_type procesoru pro pole a implicitní přidělení paměti provedené v tomto acceleratorpřípadě .
__declspec(property(get= get_default_cpu_access_type)) access_type default_cpu_access_type;
výchozí_zobrazení
Získá výchozí zobrazení akcelerátoru, který je přidružen k accelerator.
__declspec(property(get= get_default_view)) accelerator_view default_view;
popis
Získá krátký popis zařízení accelerator.
__declspec(property(get= get_description)) std::wstring description;
device_path
Získá cestu k 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 referenční akcelerátor 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ů
získat_zobrazení_automatického_výběru
Vrátí accelerator_view automatického výběru, který při použití jako cíl v parallel_for_each způsobí, že modul runtime automaticky vybere cílový accelerator_view pro spuštění jádra parallel_for_each. 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 v kilobajtech.
size_t get_dedicated_memory() const;
Návratová hodnota
Vyhrazená paměť pro acceleratorv kilobajtech.
Získat_výchozí_typ_přístupu_CPU
Výchozí typ přístupu procesoru pro vyrovnávací paměti vytvořené na tomto akcelerátoru získává.
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.
získat_popis
Vrátí krátký popis accelerator zařízení.
std::wstring get_description() const;
Návratová hodnota
Stručný popis accelerator zařízení.
získat_cestu_zařízení
Vrátí cestu akcelerátoru. Cesta je v systému jedinečná.
std::wstring get_device_path() const;
Návratová hodnota
Unikátní cesta k instanci zařízení v celém systému.
get_has_display
Vrátí logickou hodnotu, která určuje, zda accelerator může poskytovat výstup na displej.
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ě false.
získat_je_emulováno
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ě 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
truepokud akcelerátor podporuje sdílenou paměť procesoru; v opačném případě . false
get_supports_double_precision
Vrátí logickou hodnotu, která udává, jestli akcelerátor podporuje matematiku s dvojitou přesností, včetně fúzovaného násobení a sčítání (FMA), dělení, výpočtu reciproční hodnoty a přetypování mezi int a double.
bool get_supports_double_precision() const;
Návratová hodnota
truepokud akcelerátor podporuje matematiku s dvojitou přesností; v opačném případě . false
získat_podporuje_omezenou_dvojnásobnou_přesnost
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, nejsou podporovány operace spojené násobení a sčítání (FMA), dělení, výpočet převrácené hodnoty a přetypování mezi int a double.
bool get_supports_limited_double_precision() const;
Návratová hodnota
truemá-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.
má_displej
Získá logickou hodnotu, která označuje, zda accelerator může poskytovat výstup na 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;
je_emulováno
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.
nastavit_výchozí
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 výchozí akcelerátor vybraný runtime nebyl dříve 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ě false.
set_default_cpu_access_type
Nastavte výchozí typ přístupu procesoru pro pole vytvořená na tomto akcelerátoru nebo pro implicitní přidělení paměti v rámci pohledů pole, které je přístupné na tomto akcelerátoru. Tato metoda je úspěšná pouze v případě, že výchozí default_cpu_access_type pro akcelerátor ještě nebyl přepsán v důsledku předchozího volání této metody a runtime vybraný default_cpu_access_type pro tento akcelerátor ještě nebyl použit pro přidělení pole nebo pro implicitní přidělení paměti podporující array_view při přístupu na tento akcelerátor.
bool set_default_cpu_access_type(access_type _Default_cpu_access_type);
Parametry
_Default_cpu_access_type
Výchozí access_type CPU, který se má použít pro přidělení paměti array/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;
podporuje_dvojí_přesnost
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;
podporuje_omezenou_dvojitou_přesnost
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, tedy sloučené násobení a sčítání (FMA), dělení, vzájemné převody a přetypování mezi int a double nejsou podporovány.
__declspec(property(get= get_supports_limited_double_precision)) bool supports_limited_double_precision;
verze
Získá verzi accelerator.
__declspec(property(get= get_version)) unsigned int version;