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

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

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 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();

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 acceleratorhodnotu v kilobajtech.

size_t get_dedicated_memory() const;

Návratová 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;

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

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;

Návratová 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;

Návratová 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;

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

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;

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

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

Viz také

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