Sdílet prostřednictvím


třída akcelerátoru

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;

Viz také

Concurrency namespace (C++ AMP)