accelerator — Klasa

Akcelerator to funkcja sprzętowa zoptymalizowana pod kątem przetwarzania równoległego danych. Akcelerator może być urządzeniem dołączonym do magistrali PCIe (takiej jak procesor GPU) lub może być rozszerzoną instrukcją ustawioną na głównym procesorze CPU.

Składnia

class accelerator;

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
konstruktor akceleratora Inicjuje nowe wystąpienie klasy accelerator.
~destruktor akceleratora accelerator Niszczy obiekt.

Metody publiczne

Nazwa/nazwisko opis
create_view Tworzy i zwraca accelerator_view obiekt w tym akceleratorze.
get_all Zwraca wektor accelerator obiektów reprezentujących wszystkie dostępne akceleratory.
get_auto_selection_view Zwraca automatyczne zaznaczenie accelerator_view.
get_dedicated_memory Zwraca dedykowaną pamięć dla acceleratorklasy , w kilobajtach.
get_default_cpu_access_type Zwraca domyślne access_type dla buforów utworzonych w tym akceleratorze.
get_default_view Zwraca obiekt domyślny accelerator_view skojarzony z obiektem accelerator.
get_description Zwraca krótki opis accelerator urządzenia.
get_device_path Zwraca ścieżkę urządzenia.
get_has_display Określa, czy accelerator element jest dołączony do wyświetlacza.
get_is_debug Określa, czy accelerator warstwa DEBUG jest włączona na potrzeby rozbudowanego raportowania błędów.
get_is_emulated Określa, czy accelerator element jest emulowany.
get_supports_cpu_shared_memory Określa, czy obsługuje pamięć współdzieloną accelerator
get_supports_double_precision Określa, czy accelerator element jest dołączony do wyświetlacza.
get_supports_limited_double_precision Określa, czy accelerator ma ograniczoną obsługę obliczeń matematycznych o podwójnej precyzji.
get_version Zwraca wersję pliku accelerator.
set_default Zwraca ścieżkę domyślnego akceleratora.
set_default_cpu_access_type Ustawia domyślne access_typeprocesora CPU dla tablic i niejawnych alokacji pamięci wykonanych w tym acceleratorobiekcie .

Operatory publiczne

Nazwa/nazwisko opis
operator!= Porównuje ten accelerator obiekt z innym i zwraca false , jeśli są one takie same; w przeciwnym razie zwraca wartość true.
operator = Kopiuje zawartość określonego accelerator obiektu do tego.
operator== Porównuje ten accelerator obiekt z innym i zwraca true , jeśli są one takie same; w przeciwnym razie zwraca wartość false.

Publiczne elementy członkowskie danych

Nazwa/nazwisko opis
cpu_accelerator Pobiera stałą ciągu dla procesora CPU accelerator.
dedicated_memory Pobiera dedykowaną pamięć dla parametru w kilobajtach accelerator.
default_accelerator Pobiera stałą ciągu dla wartości domyślnej accelerator.
default_cpu_access_type Pobiera lub ustawia domyślne access_typeprocesora CPU dla tablic i niejawnych alokacji pamięci wykonanych w tym acceleratorobiekcie .
default_view Pobiera obiekt domyślny accelerator_view skojarzony z obiektem accelerator.
opis Pobiera krótki opis accelerator urządzenia.
device_path Pobiera ścieżkę urządzenia.
direct3d_ref Pobiera stałą ciągu dla odwołania acceleratorDirect3D.
direct3d_warp Pobiera stałą accelerator ciągu dla obiektu, którego można użyć do wykonywania kodu C++ AMP na procesorach wielordzeniowych korzystających z rozszerzeń SIMD przesyłania strumieniowego (SSE).
has_display Pobiera wartość logiczną wskazującą, czy accelerator element jest dołączony do wyświetlacza.
is_debug Wskazuje, czy accelerator dla warstwy DEBUG włączono obszerne raportowanie błędów.
is_emulated Wskazuje, czy accelerator element jest emulowany.
supports_cpu_shared_memory Wskazuje, czy obsługuje pamięć współdzieloną accelerator .
supports_double_precision Wskazuje, czy akcelerator obsługuje matematykę o podwójnej precyzji.
supports_limited_double_precision Wskazuje, czy akcelerator ma ograniczoną obsługę obliczeń matematycznych o podwójnej precyzji.
version Pobiera wersję pliku accelerator.

Hierarchia dziedziczenia

accelerator

Uwagi

Akcelerator to funkcja sprzętowa zoptymalizowana pod kątem przetwarzania równoległego danych. Akcelerator jest często dyskretnym procesorem GPU, ale może być również wirtualną jednostką po stronie hosta, taką jak urządzenie REF DirectX, WARP (urządzenie po stronie procesora CPU przyspieszone za pomocą instrukcji SSE) lub sam procesor CPU.

Obiekt można utworzyć accelerator , wyliczając dostępne urządzenia lub uzyskując domyślne urządzenie, urządzenie referencyjne lub urządzenie WARP.

Wymagania

Nagłówek: amprt.h

Przestrzeń nazw: współbieżność

~Akcelerator

accelerator Niszczy obiekt.

~accelerator();

Wartość zwracana

Akcelerator

Inicjuje nowe wystąpienie klasy akceleratora.

accelerator();

explicit accelerator(const std::wstring& _Device_path);

accelerator(const accelerator& _Other);

Parametry

_Device_path
Ścieżka urządzenia fizycznego.

_Innych
Akcelerator do skopiowania.

cpu_accelerator

Pobiera stałą ciągu dla akceleratora procesora CPU.

static const wchar_t cpu_accelerator[];

create_view

Tworzy i zwraca accelerator_view obiekt w tym akceleratorze przy użyciu określonego trybu kolejkowania. Gdy tryb kolejkowania nie zostanie określony, nowe accelerator_view używa trybu kolejkowania queuing_mode::natychmiastowego kolejkowania.

accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);

Parametry

qmode
Tryb kolejkowania.

Wartość zwracana

Nowy accelerator_view obiekt w tym akceleratorze przy użyciu określonego trybu kolejkowania.

dedicated_memory

Pobiera dedykowaną pamięć dla parametru w kilobajtach accelerator.

__declspec(property(get= get_dedicated_memory)) size_t dedicated_memory;

default_accelerator

Pobiera stałą ciągu dla wartości domyślnej accelerator.

static const wchar_t default_accelerator[];

default_cpu_access_type

Domyślna access_type procesora CPU dla tablic i niejawnych alokacji pamięci wykonanych w tym obiekcie accelerator.

__declspec(property(get= get_default_cpu_access_type)) access_type default_cpu_access_type;

default_view

Pobiera domyślny widok akceleratora skojarzony z elementem accelerator.

__declspec(property(get= get_default_view)) accelerator_view default_view;

opis

Pobiera krótki opis accelerator urządzenia.

__declspec(property(get= get_description)) std::wstring description;

device_path

Pobiera ścieżkę akceleratora. Ścieżka jest unikatowa w systemie.

__declspec(property(get= get_device_path)) std::wstring device_path;

direct3d_ref

Pobiera stałą ciągu dla akceleratora odwołania Direct3D.

static const wchar_t direct3d_ref[];

direct3d_warp

Pobiera stałą accelerator ciągu dla obiektu, którego można użyć do wykonywania kodu C++ AMP na procesorach wielordzeniowych przy użyciu rozszerzeń SIMD przesyłania strumieniowego (SSE).

static const wchar_t direct3d_warp[];

get_all

Zwraca wektor accelerator obiektów reprezentujących wszystkie dostępne akceleratory.

static inline std::vector<accelerator> get_all();

Wartość zwracana

Wektor dostępnych akceleratorów

get_auto_selection_view

Zwraca accelerator_view automatycznego zaznaczenia, które po określeniu jako cel parallel_for_each powoduje, że docelowy accelerator_view do wykonania jądra parallel_for_each do automatycznego wybrania przez środowisko uruchomieniowe. We wszystkich innych celach accelerator_view zwrócona przez tę metodę jest taka sama jak domyślna accelerator_view domyślnego akceleratora

static accelerator_view __cdecl get_auto_selection_view();

Wartość zwracana

Auto zaznaczenie accelerator_view.

get_dedicated_memory

Zwraca dedykowaną pamięć dla acceleratorklasy , w kilobajtach.

size_t get_dedicated_memory() const;

Wartość zwracana

Dedykowana pamięć dla klasy w kilobajtach accelerator.

get_default_cpu_access_type

Pobiera domyślne access_type procesora CPU dla buforów utworzonych w tym akceleratorze

access_type get_default_cpu_access_type() const;

Wartość zwracana

Domyślny access_type procesora CPU dla buforów utworzonych w tym akceleratorze.

get_default_view

Zwraca obiekt domyślny accelerator_view skojarzony z obiektem accelerator.

accelerator_view get_default_view() const;

Wartość zwracana

Obiekt domyślny accelerator_view skojarzony z obiektem accelerator.

get_description

Zwraca krótki opis accelerator urządzenia.

std::wstring get_description() const;

Wartość zwracana

Krótki opis accelerator urządzenia.

get_device_path

Zwraca ścieżkę akceleratora. Ścieżka jest unikatowa w systemie.

std::wstring get_device_path() const;

Wartość zwracana

Ścieżka wystąpienia urządzenia unikatowego dla całego systemu.

get_has_display

Zwraca wartość logiczną, która wskazuje, czy accelerator może wyświetlać dane wyjściowe.

bool get_has_display() const;

Wartość zwracana

trueaccelerator jeśli element może wyświetlić dane wyjściowe do wyświetlania; w przeciwnym razie . false

get_is_debug

Określa, czy accelerator warstwa DEBUG jest włączona na potrzeby rozbudowanego raportowania błędów.

bool get_is_debug() const;

Wartość zwracana

trueaccelerator jeśli dla warstwy DEBUG włączono obszerne raportowanie błędów. W przeciwnym razie wartość false.

get_is_emulated

Określa, czy accelerator element jest emulowany.

bool get_is_emulated() const;

Wartość zwracana

trueaccelerator jeśli element jest emulowany. W przeciwnym razie wartość false.

get_supports_cpu_shared_memory

Zwraca wartość logiczną wskazującą, czy akcelerator obsługuje pamięć dostępną zarówno przez akcelerator, jak i procesor CPU.

bool get_supports_cpu_shared_memory() const;

Wartość zwracana

true jeśli akcelerator obsługuje pamięć współdzieloną procesora CPU; w przeciwnym razie, false.

get_supports_double_precision

Zwraca wartość logiczną wskazującą, czy akcelerator obsługuje matematyczną podwójną precyzję, w tym pomnożoną sumę pomnożoną (FMA), dzielenie, wzajemne i rzutowanie między elementami int i double

bool get_supports_double_precision() const;

Wartość zwracana

true jeśli akcelerator obsługuje podwójną precyzję matematyczną; w przeciwnym razie, false.

get_supports_limited_double_precision

Zwraca wartość logiczną wskazującą, czy akcelerator ma ograniczoną obsługę matematycznej podwójnej precyzji. Jeśli akcelerator ma tylko ograniczoną obsługę, pomnóżdzanie add (FMA), dzielenie, wzajemne i rzutowanie między elementami int i double nie są obsługiwane.

bool get_supports_limited_double_precision() const;

Wartość zwracana

true jeśli akcelerator ma ograniczoną obsługę obliczeń matematycznych o podwójnej precyzji; w przeciwnym razie, false.

get_version

Zwraca wersję pliku accelerator.

unsigned int get_version() const;

Wartość zwracana

Wersja pliku accelerator.

has_display

Pobiera wartość logiczną, która wskazuje, czy accelerator może wyświetlać dane wyjściowe.

__declspec(property(get= get_has_display)) bool has_display;

is_debug

Pobiera wartość logiczną wskazującą, czy accelerator warstwa DEBUG jest włączona na potrzeby rozbudowanego raportowania błędów.

__declspec(property(get= get_is_debug)) bool is_debug;

is_emulated

Pobiera wartość logiczną wskazującą, czy accelerator element jest emulowany.

__declspec(property(get= get_is_emulated)) bool is_emulated;

operator!=

Porównuje ten accelerator obiekt z innym i zwraca false , jeśli są one takie same; w przeciwnym razie zwraca wartość true.

bool operator!= (const accelerator& _Other) const;

Parametry

_Innych
Obiekt accelerator do porównania z tym obiektem.

Wartość zwracana

false jeśli dwa accelerator obiekty są takie same; w przeciwnym razie true.

operator =

Kopiuje zawartość określonego accelerator obiektu do tego.

accelerator& operator= (const accelerator& _Other);

Parametry

_Innych
accelerator Obiekt do skopiowania.

Wartość zwracana

Odwołanie do tego accelerator obiektu.

operator==

Porównuje ten accelerator obiekt z innym i zwraca true , jeśli są one takie same; w przeciwnym razie zwraca wartość false.

bool operator== (const accelerator& _Other) const;

Parametry

_Innych
Obiekt accelerator do porównania z tym obiektem.

Wartość zwracana

true jeśli inny accelerator obiekt jest taki sam jak ten accelerator obiekt; w przeciwnym razie false.

set_default

Ustawia domyślny akcelerator do użycia dla dowolnej operacji, która niejawnie używa domyślnego akceleratora. Ta metoda powiedzie się tylko wtedy, gdy wybrany akcelerator domyślny środowiska uruchomieniowego nie został jeszcze użyty w operacji, która niejawnie używa domyślnego akceleratora

static inline bool set_default(std::wstring _Path);

Parametry

_Ścieżka
Ścieżka do akceleratora.

Wartość zwracana

true jeśli wywołanie zakończy się powodzeniem podczas ustawiania domyślnego akceleratora. W przeciwnym razie wartość false.

set_default_cpu_access_type

Ustaw domyślną access_type procesora CPU dla tablic utworzonych w tym akceleratorze lub dla niejawnych alokacji pamięci w ramach array_views dostępnego w tym akceleratorze. Ta metoda powiedzie się tylko wtedy, gdy default_cpu_access_type dla akceleratora nie została jeszcze zastąpiona przez poprzednie wywołanie tej metody, a środowisko uruchomieniowe wybrane default_cpu_access_type dla tego akceleratora nie zostało jeszcze użyte do przydzielania tablicy lub niejawnej alokacji pamięci, która wspiera array_view dostęp do tego akceleratora.

bool set_default_cpu_access_type(access_type _Default_cpu_access_type);

Parametry

_Default_cpu_access_type
Domyślna access_type procesora, która ma być używana na potrzeby alokacji pamięci tablicy/array_view w tym akceleratorze.

Wartość zwracana

Wartość logiczna wskazująca, czy domyślna access_type procesora CPU dla akceleratora została pomyślnie ustawiona.

supports_cpu_shared_memory

Pobiera wartość logiczną wskazującą, czy obsługuje pamięć udostępnioną accelerator .

__declspec(property(get= get_supports_cpu_shared_memory)) bool supports_cpu_shared_memory;

supports_double_precision

Pobiera wartość logiczną wskazującą, czy akcelerator obsługuje matematyczną podwójną precyzję.

__declspec(property(get= get_supports_double_precision)) bool supports_double_precision;

supports_limited_double_precision

Pobiera wartość logiczną wskazującą, czy akcelerator ma ograniczoną obsługę matematycznej podwójnej precyzji. Jeśli akcelerator ma tylko ograniczoną obsługę, pomnóżdzanie add (FMA), dzielenie, wzajemne i rzutowanie między elementami int i double nie są obsługiwane.

__declspec(property(get= get_supports_limited_double_precision)) bool supports_limited_double_precision;

version

Pobiera wersję pliku accelerator.

__declspec(property(get= get_version)) unsigned int version;

Zobacz też

Przestrzeń nazw współbieżności (C++ AMP)