Sdílet prostřednictvím


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

Jméno popis
accelerator – konstruktor Inicializuje novou instanci accelerator třídy.
~akcelerátor – destruktor accelerator Zničí objekt.

Veřejné metody

Jméno 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 acceleratorhodnotu 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 acceleratorpřípadě .

Veřejné operátory

Jméno 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

Jméno 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 acceleratorDirect3D .
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

Obor názvů: Souběžnost

~Accelerator

accelerator Zničí objekt.

~accelerator();

Vrácená hodnota

Accelerator

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í.

_Další
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_viewrežim queuing_mode::immediate řízení front.

accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);

Parametry

qmode
Režim řazení do fronty.

Vrácená 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 acceleratorpří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();

Vrácená 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();

Vrácená hodnota

Automatický výběr accelerator_view.

get_dedicated_memory

Vrátí vyhrazenou paměť pro acceleratorhodnotu v kilobajtech.

size_t get_dedicated_memory() const;

Vrácená hodnota

Vyhrazená paměť pro acceleratorv 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;

Vrácená 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;

Vrácená 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;

Vrácená 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;

Vrácená 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;

Vrácená hodnota

trueaccelerator 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;

Vrácená hodnota

trueaccelerator 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;

Vrácená hodnota

trueaccelerator 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;

Vrácená 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á 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;

Vrácená hodnota

truepokud 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;

Vrácená 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;

Vrácená hodnota

Verze acceleratorsouboru .

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

_Další
Objekt accelerator , který chcete porovnat s tímto objektem.

Vrácená 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

_Další
Objekt accelerator , ze který chcete kopírovat.

Vrácená 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

_Další
Objekt accelerator , který chcete porovnat s tímto objektem.

Vrácená 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

_Cestu
Cesta k akcelerátoru.

Vrácená 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.

Vrácená 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;

Viz také

Obor názvů Concurrency (C++ AMP)