Delen via


acceleratorklasse

Een accelerator is een hardwaremogelijkheid die is geoptimaliseerd voor gegevensparallel computing. Een accelerator kan een apparaat zijn dat is gekoppeld aan een PCIe-bus (zoals een GPU), of het kan een uitgebreide instructie zijn die is ingesteld op de hoofd-CPU.

Syntaxis

class accelerator;

Leden

Openbare constructors

Naam Beschrijving
acceleratorConstructor Initialiseert een nieuw exemplaar van de klasse accelerator.
~Accelerator Destructor Vernietigt het accelerator object.

Openbare methoden

Naam Beschrijving
create_view Hiermee maakt en retourneert u een accelerator_view object op deze accelerator.
get_all Retourneert een vector van accelerator objecten die alle beschikbare accelerators vertegenwoordigen.
get_auto_selection_view Retourneert de automatische selectie accelerator_view.
get_dedicated_memory Retourneert het toegewezen geheugen voor de accelerator, in kilobytes.
get_default_cpu_access_type Retourneert de standaard-access_type voor buffers die op deze accelerator zijn gemaakt.
get_default_view Retourneert het standaardobject accelerator_view dat is gekoppeld aan de accelerator.
get_description Retourneert een korte beschrijving van het accelerator apparaat.
get_device_path Retourneert het pad van het apparaat.
get_has_display Bepaalt of het accelerator is gekoppeld aan een beeldscherm.
get_is_debug Bepaalt of de accelerator laag DEBUG is ingeschakeld voor uitgebreide foutrapportage.
get_is_emulated Bepaalt of het accelerator geëmuleerd is.
get_supports_cpu_shared_memory Bepaalt of het accelerator gedeelde geheugen wordt ondersteund
get_supports_double_precision Bepaalt of het accelerator is gekoppeld aan een beeldscherm.
get_supports_limited_double_precision Bepaalt of de accelerator ondersteuning voor berekeningen met dubbele precisie beperkt is.
get_version Retourneert de versie van de accelerator.
set_default Retourneert het pad van de standaardversneller.
set_default_cpu_access_type Hiermee stelt u de standaard CPU-access_type in voor matrices en impliciete geheugentoewijzingen die hierop acceleratorzijn gemaakt.

Openbare operators

Naam Beschrijving
operator!= Vergelijkt dit accelerator object met een andere en retourneert false als ze hetzelfde zijn; anders retourneert truehet object.
operator = Hiermee kopieert u de inhoud van het opgegeven accelerator object naar dit object.
operator== Vergelijkt dit accelerator object met een andere en retourneert true als ze hetzelfde zijn; anders retourneert falsehet object.

Leden van openbare gegevens

Naam Beschrijving
cpu_accelerator Haalt een tekenreeksconstante op voor de CPU accelerator.
dedicated_memory Hiermee haalt u het toegewezen geheugen op voor de accelerator, in kilobytes.
default_accelerator Hiermee haalt u een tekenreeksconstante op voor de standaardwaarde accelerator.
default_cpu_access_type Hiermee haalt of stelt u de standaard CPU-access_type voor matrices en impliciete geheugentoewijzingen op die accelerator.
default_view Hiermee wordt het standaardobject accelerator_view opgehaald dat is gekoppeld aan de accelerator.
beschrijving Hiermee wordt een korte beschrijving van het accelerator apparaat weergegeven.
device_path Hiermee haalt u het pad van het apparaat op.
direct3d_ref Hiermee haalt u een tekenreeksconstante op voor een Direct3D-verwijzing accelerator.
direct3d_warp Hiermee haalt u de tekenreeksconstante op voor een accelerator object dat u kunt gebruiken voor het uitvoeren van C++ AMP-code op CPU's met meerdere kernen die gebruikmaken van Streaming SIMD Extensions (SSE).
has_display Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of de accelerator waarde aan een weergave is gekoppeld.
is_debug Geeft aan of de accelerator laag DEBUG is ingeschakeld voor uitgebreide foutrapportage.
is_emulated Geeft aan of het accelerator geëmuleerd is.
supports_cpu_shared_memory Geeft aan of het accelerator gedeelde geheugen wordt ondersteund.
supports_double_precision Geeft aan of de accelerator ondersteuning biedt voor wiskunde met dubbele precisie.
supports_limited_double_precision Geeft aan of de accelerator beperkte ondersteuning heeft voor wiskunde met dubbele precisie.
versie Hiermee haalt u de versie van de accelerator.

Overnamehiërarchie

accelerator

Opmerkingen

Een accelerator is een hardwaremogelijkheid die is geoptimaliseerd voor gegevensparallel computing. Een accelerator is vaak een discrete GPU, maar het kan ook een entiteit aan de hostzijde zijn, zoals een DirectX REF-apparaat, een WARP (een CPU-apparaat dat wordt versneld door middel van SSE-instructies) of de CPU zelf.

U kunt een accelerator object maken door de beschikbare apparaten te inventariseren of door het standaardapparaat, het referentieapparaat of het WARP-apparaat op te halen.

Behoeften

Koptekst: amprt.h

naamruimte: gelijktijdigheid

~gaspedaal

Vernietigt het accelerator object.

~accelerator();

Retourwaarde

gaspedaal

Initialiseert een nieuw exemplaar van de acceleratorklasse.

accelerator();

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

accelerator(const accelerator& _Other);

Parameterwaarden

_Device_path
Het pad van het fysieke apparaat.

_Ander
De versneller die moet worden gekopieerd.

cpu_accelerator

Haalt een tekenreeksconstante op voor de CPU-accelerator.

static const wchar_t cpu_accelerator[];

create_view

Hiermee maakt en retourneert u een accelerator_view object in deze accelerator met behulp van de opgegeven wachtrijmodus. Wanneer de wachtrijmodus niet is opgegeven, gebruikt de nieuwe accelerator_view modus queuing_mode::immediate queuing.

accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);

Parameterwaarden

qmode
De wachtrijmodus.

Retourwaarde

Een nieuw accelerator_view object in deze accelerator met behulp van de opgegeven wachtrijmodus.

dedicated_memory

Hiermee haalt u het toegewezen geheugen op voor de accelerator, in kilobytes.

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

default_accelerator

Hiermee haalt u een tekenreeksconstante op voor de standaardwaarde accelerator.

static const wchar_t default_accelerator[];

default_cpu_access_type

De standaard cpu-access_type voor matrices en impliciete geheugentoewijzingen die hierop acceleratorzijn gemaakt.

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

default_view

Hiermee haalt u de standaardverbeteringsweergave op die is gekoppeld aan de accelerator.

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

beschrijving

Hiermee wordt een korte beschrijving van het accelerator apparaat weergegeven.

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

device_path

Hiermee haalt u het pad van de accelerator op. Het pad is uniek op het systeem.

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

direct3d_ref

Hiermee haalt u een tekenreeksconstante op voor een Direct3D-verwijzingsversneller.

static const wchar_t direct3d_ref[];

direct3d_warp

Hiermee haalt u de tekenreeksconstante op voor een accelerator object dat u kunt gebruiken voor het uitvoeren van uw C++ AMP-code op CPU's met meerdere kernen met behulp van Streaming SIMD Extensions (SSE).

static const wchar_t direct3d_warp[];

get_all

Retourneert een vector van accelerator objecten die alle beschikbare accelerators vertegenwoordigen.

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

Retourwaarde

De vector van beschikbare accelerators

get_auto_selection_view

Retourneert de automatische selectie-accelerator_view, die wanneer deze is opgegeven als de parallel_for_each doelresultaten in de doel-accelerator_view voor het uitvoeren van de parallel_for_each kernel automatisch door de runtime worden geselecteerd. Voor alle andere doeleinden is de accelerator_view die door deze methode worden geretourneerd, hetzelfde als de standaard accelerator_view van de standaardversneller

static accelerator_view __cdecl get_auto_selection_view();

Retourwaarde

De automatische selectie accelerator_view.

get_dedicated_memory

Retourneert het toegewezen geheugen voor de accelerator, in kilobytes.

size_t get_dedicated_memory() const;

Retourwaarde

Het toegewezen geheugen voor de accelerator, in kilobytes.

get_default_cpu_access_type

Hiermee haalt u de standaard cpu-access_type op voor buffers die op deze accelerator zijn gemaakt

access_type get_default_cpu_access_type() const;

Retourwaarde

De standaard cpu-access_type voor buffers die op deze accelerator zijn gemaakt.

get_default_view

Retourneert het standaardobject accelerator_view dat is gekoppeld aan de accelerator.

accelerator_view get_default_view() const;

Retourwaarde

Het standaardobject accelerator_view dat is gekoppeld aan de accelerator.

get_description

Retourneert een korte beschrijving van het accelerator apparaat.

std::wstring get_description() const;

Retourwaarde

Een korte beschrijving van het accelerator apparaat.

get_device_path

Retourneert het pad van de accelerator. Het pad is uniek op het systeem.

std::wstring get_device_path() const;

Retourwaarde

Het systeembrede unieke pad naar het apparaatexemplaren.

get_has_display

Retourneert een Booleaanse waarde die aangeeft of de accelerator uitvoer naar een weergave kan worden uitgevoerd.

bool get_has_display() const;

Retourwaarde

trueals de accelerator uitvoer naar een weergave kan worden uitgevoerd; anders. false

get_is_debug

Bepaalt of de accelerator laag DEBUG is ingeschakeld voor uitgebreide foutrapportage.

bool get_is_debug() const;

Retourwaarde

true als de accelerator FOUTOPSPORINGslaag is ingeschakeld voor uitgebreide foutrapportage. Anders false.

get_is_emulated

Bepaalt of het accelerator geëmuleerd is.

bool get_is_emulated() const;

Retourwaarde

true als het accelerator wordt geëmuleerd. Anders false.

get_supports_cpu_shared_memory

Retourneert een Booleaanse waarde die aangeeft of de accelerator geheugen ondersteunt die toegankelijk is voor zowel de accelerator als de CPU.

bool get_supports_cpu_shared_memory() const;

Retourwaarde

true als de accelerator ondersteuning biedt voor gedeeld CPU-geheugen; anders, false.

get_supports_double_precision

Retourneert een Booleaanse waarde die aangeeft of de accelerator ondersteuning biedt voor dubbele precisieberekeningen, inclusief gefuseerde vermenigvuldigingswaarde (FMA), verdeling, wederkerigheid en cast-conversie tussen int en double

bool get_supports_double_precision() const;

Retourwaarde

true als de accelerator dubbele precisieberekeningen ondersteunt; anders, false.

get_supports_limited_double_precision

Retourneert een Booleaanse waarde die aangeeft of de accelerator beperkte ondersteuning heeft voor dubbele precisieberekeningen. Als de accelerator slechts beperkte ondersteuning heeft, worden gefuseerde vermenigvuldigingsvoegingen (FMA), deling, wederkerigheid en cast-conversie tussen int en double niet ondersteund.

bool get_supports_limited_double_precision() const;

Retourwaarde

true als de accelerator beperkte ondersteuning heeft voor berekeningen met dubbele precisie; anders, false.

get_version

Retourneert de versie van de accelerator.

unsigned int get_version() const;

Retourwaarde

De versie van de accelerator.

has_display

Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of de accelerator uitvoer naar een weergave kan worden uitgevoerd.

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

is_debug

Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of de accelerator DEBUG-laag is ingeschakeld voor uitgebreide foutrapportage.

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

is_emulated

Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of de accelerator waarde is geëmuleerd.

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

operator!=

Vergelijkt dit accelerator object met een andere en retourneert false als ze hetzelfde zijn; anders retourneert truehet object.

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

Parameterwaarden

_Ander
Het accelerator object dat moet worden vergeleken met dit object.

Retourwaarde

falseals de twee accelerator objecten hetzelfde zijn; anders. true

operator=

Hiermee kopieert u de inhoud van het opgegeven accelerator object naar dit object.

accelerator& operator= (const accelerator& _Other);

Parameterwaarden

_Ander
Het accelerator object waaruit moet worden gekopieerd.

Retourwaarde

Een verwijzing naar dit accelerator-object.

operator==

Vergelijkt dit accelerator object met een andere en retourneert true als ze hetzelfde zijn; anders retourneert falsehet object.

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

Parameterwaarden

_Ander
Het accelerator object dat moet worden vergeleken met dit object.

Retourwaarde

trueals het andere accelerator object hetzelfde is als dit accelerator object; anders. false

set_default

Hiermee stelt u de standaardversneller in die moet worden gebruikt voor elke bewerking die impliciet gebruikmaakt van de standaardversneller. Deze methode slaagt alleen als de geselecteerde standaardversneller voor runtime nog niet is gebruikt in een bewerking die impliciet gebruikmaakt van de standaardversneller

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

Parameterwaarden

_Pad
Het pad naar de accelerator.

Retourwaarde

true als de aanroep slaagt bij het instellen van de standaardversneller. Anders false.

set_default_cpu_access_type

Stel de standaard cpu-access_type in voor matrices die op deze accelerator zijn gemaakt of voor impliciete geheugentoewijzingen als onderdeel van array_views geopend op deze accelerator. Deze methode slaagt alleen als de default_cpu_access_type voor de accelerator nog niet is overschreven door een eerdere aanroep naar deze methode en de geselecteerde runtime default_cpu_access_type voor deze accelerator nog niet is gebruikt voor het toewijzen van een matrix of voor een impliciete geheugentoewijzing die back-ups maakt van een array_view die op deze accelerator is geopend.

bool set_default_cpu_access_type(access_type _Default_cpu_access_type);

Parameterwaarden

_Default_cpu_access_type
De standaard cpu-access_type die moeten worden gebruikt voor matrix-/array_view geheugentoewijzingen op deze accelerator.

Retourwaarde

Een booleaanse waarde die aangeeft of de standaard cpu-access_type voor de accelerator is ingesteld.

supports_cpu_shared_memory

Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of het accelerator gedeelde geheugen wordt ondersteund.

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

supports_double_precision

Hiermee haalt u een Booleaanse waarde op die aangeeft of de accelerator ondersteuning biedt voor dubbele precisieberekeningen.

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

supports_limited_double_precision

Hiermee wordt een Booleaanse waarde opgehaald die aangeeft of de accelerator beperkte ondersteuning heeft voor dubbele precisieberekeningen. Als de accelerator slechts beperkte ondersteuning heeft, worden gefuseerde vermenigvuldigingsvoegingen (FMA), deling, wederkerigheid en cast-conversie tussen int en double niet ondersteund.

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

Versie

Hiermee haalt u de versie van de accelerator.

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

Zie ook

Naamruimte voor gelijktijdigheid (C++ AMP)