Zugriffstastenklasse

Eine Zugriffstaste ist eine Hardwarefunktion, die für datenparallele Computervorgänge optimiert ist. Eine Zugriffstaste ist ein Gerät, das einem PCIe-Bus angefügt wird (wie einem GPU-Computer), oder es handelt sich um einen erweiterten Befehl, der auf der Haupt-CPU festgelegt ist.

Syntax

class accelerator;

Member

Öffentliche Konstruktoren

Name Beschreibung
Accelerator-Konstruktor Initialisiert eine neue Instanz der accelerator-Klasse.
~accelerator Destructor Zerstört das accelerator-Objekt.

Öffentliche Methoden

Name Beschreibung
create_view Erstellt und gibt ein accelerator_view-Objekt auf dieser Zugriffstaste zurück.
get_all Gibt einen Vektor von accelerator-Objekten zurück, die alle verfügbaren Zugriffstasten darstellen.
get_auto_selection_view Gibt das accelerator_view-Objekt für die automatische Auswahl zurück.
get_dedicated_memory Gibt den dedizierten Arbeitsspeicher für das accelerator-Objekt in KB zurück.
get_default_cpu_access_type Gibt die Standard-access_type für Puffer zurück, die auf dieser Zugriffstaste erstellt wurden.
get_default_view Gibt das standardmäßige accelerator_view-Objekt zurück, das mit dem accelerator-Objekt verknüpft ist.
get_description Gibt eine kurze Beschreibung des accelerator-Geräts zurück.
get_device_path Gibt den Pfad des physischen Geräts zurück.
get_has_display Bestimmt, ob das accelerator-Objekt mit einer Anzeige verbunden ist.
get_is_debug Bestimmt, für das accelerator-Objekt die DEBUG-Ebene für eine umfangreiche Fehlerberichterstattung aktiviert ist.
get_is_emulated Bestimmt, ob das accelerator-Objekt emuliert ist.
get_supports_cpu_shared_memory Bestimmt, ob das accelerator-Objekt freigegebenen Arbeitsspeicher unterstützt
get_supports_double_precision Bestimmt, ob das accelerator-Objekt mit einer Anzeige verbunden ist.
get_supports_limited_double_precision Bestimmt, ob das accelerator-Objekt über beschränkte Unterstützung für mathematische Funktionen mit doppelter Genauigkeit verfügt.
get_version Gibt die Version des accelerator-Objekts zurück.
set_default Gibt den Pfad der Standardzugriffstaste zurück.
set_default_cpu_access_type Legt die standardmäßige CPU-access_type für Arrays und implizite Speicherzuordnungen fest, die auf diesem accelerator.

Öffentliche Operatoren

Name Beschreibung
operator!= Vergleicht dieses accelerator Objekt mit einem anderen und gibt zurück false , wenn sie identisch sind; andernfalls wird zurückgegeben true.
operator= Kopiert den Inhalt des angegebenen accelerator-Objekts in dieses Objekt.
operator== Vergleicht dieses accelerator Objekt mit einem anderen und gibt zurück true , wenn sie identisch sind; andernfalls wird zurückgegeben false.

Öffentliche Datenmember

Name Beschreibung
cpu_accelerator Ruft eine Zeichenfolgenkonstante für die CPU-accelerator ab.
dedicated_memory Ruft den dedizierten Arbeitsspeicher für das accelerator-Objekt in KB ab.
default_accelerator Ruft eine Zeichenfolgenkonstante für die standardmäßige accelerator ab.
default_cpu_access_type Dient zum Abrufen oder Festlegen der standardmäßigen CPU-access_type für Arrays und implizite Speicherzuweisungen, die auf diesem accelerator.
default_view Ruft das standardmäßige accelerator_view-Objekt ab, das dem accelerator-Element zugeordnet ist.
Beschreibung Ruft eine kurze Beschreibung des accelerator-Geräts ab.
device_path Ruft den Pfad des physischen Geräts ab.
direct3d_ref Ruft eine Zeichenfolgenkonstante für eine Direct3D-Verweis-accelerator ab.
direct3d_warp Ruft die Zeichenfolgenkonstante für ein accelerator Objekt ab, das Sie zum Ausführen von C++-AMP-Code auf Multi-Core-CPUs verwenden können, die Streaming SIMD-Erweiterungen (SSE) verwenden.
has_display Ruft einen booleschen Wert ab, der angibt, ob das accelerator-Objekt mit einer Anzeige verbunden ist.
is_debug Gibt an, ob für das accelerator-Objekt die DEBUG-Ebene für eine umfangreiche Fehlerberichterstattung aktiviert ist.
is_emulated Gibt an, ob das accelerator-Objekt emuliert ist.
supports_cpu_shared_memory Gibt an, ob das accelerator-Objekt freigegebenen Arbeitsspeicher unterstützt.
supports_double_precision Gibt an, ob die Zugriffstaste mathematische Funktionen mit doppelter Genauigkeit unterstützt.
supports_limited_double_precision Gibt an, ob die Zugriffstaste über beschränkte Unterstützung für mathematische Funktionen mit doppelter Genauigkeit verfügt.
Version Ruft die Version der accelerator ab.

Vererbungshierarchie

accelerator

Hinweise

Eine Zugriffstaste ist eine Hardwarefunktion, die für datenparallele Computervorgänge optimiert ist. Eine Zugriffstaste ist häufig eine einzelne GPU, kann jedoch auch eine virtuelle hostseitige Entität wie ein DirectX REF-Gerät, ein WARP-Gerät (ein CPU-seitiges Gerät, das mithilfe von SSE-Anweisungen beschleunigt wird) oder die CPU selbst sein.

Sie können ein accelerator-Objekt erstellen, indem Sie die verfügbaren Geräte auflisten oder das Standardgerät, das Referenzgerät oder das WARP-Gerät abrufen.

Anforderungen

Kopfzeile: amprt.h

Namespace: Parallelität

~Accelerator

Zerstört das accelerator-Objekt.

~accelerator();

Rückgabewert

Beschleuniger

Initialisiert eine neue Instanz der Zugriffstastenklasse.

accelerator();

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

accelerator(const accelerator& _Other);

Parameter

_Device_path
Der Pfad des physischen Geräts.

_Other
Die zu kopierende Zugriffstaste.

cpu_accelerator

Ruft eine Zeichenfolgenkonstante für den CPU-Zugriffstasten ab.

static const wchar_t cpu_accelerator[];

create_view

Erstellt und gibt ein accelerator_view Objekt auf dieser Zugriffstaste mithilfe des angegebenen Warteschlangenmodus zurück. Wenn der Warteschlangenmodus nicht angegeben wird, verwendet der neue accelerator_view den Modus "queuing_mode::immediate queuing".

accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);

Parameter

qmode
Der Warteschlangenmodus.

Rückgabewert

Ein neues accelerator_view Objekt auf dieser Zugriffstaste unter Verwendung des angegebenen Warteschlangenmodus.

dedicated_memory

Ruft den dedizierten Arbeitsspeicher für das accelerator-Objekt in KB ab.

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

default_accelerator

Ruft eine Zeichenfolgenkonstante für die standardmäßige accelerator ab.

static const wchar_t default_accelerator[];

default_cpu_access_type

Die standardmäßige CPU-access_type für Arrays und implizite Speicherzuordnungen, die auf diesem acceleratorThema vorgenommen werden.

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

default_view

Ruft die Standardmäßige Zugriffstastenansicht ab, die der accelerator.

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

Beschreibung

Ruft eine kurze Beschreibung des accelerator-Geräts ab.

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

device_path

Ruft den Pfad der Zugriffstaste ab. Der Pfad ist im System eindeutig.

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

direct3d_ref

Ruft eine Zeichenfolgenkonstante für einen Direct3D-Verweisbeschleuniger ab.

static const wchar_t direct3d_ref[];

direct3d_warp

Ruft die Zeichenfolgenkonstante für ein accelerator Objekt ab, das Sie zum Ausführen des C++-AMP-Codes auf Multi-Core-CPUs mit Streaming SIMD-Erweiterungen (SSE) verwenden können.

static const wchar_t direct3d_warp[];

get_all

Gibt einen Vektor von accelerator-Objekten zurück, die alle verfügbaren Zugriffstasten darstellen.

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

Rückgabewert

Der Vektor der verfügbaren Zugriffstasten

get_auto_selection_view

Gibt das accelerator_view-Objekt zur automatischen Auswahl zurück, das, sofern als parallel_for_each-Ziel angegeben, im accelerator_view-Ziel resultiert, damit der parallel_for_each-Kernels von der Laufzeit automatisch ausgewählt wird. Für alle anderen Zwecke ist das von dieser Methode zurückgegebene accelerator_view-Objekt, mit dem accelerator_view-Standardobjekt der Standardzugriffstaste identisch.

static accelerator_view __cdecl get_auto_selection_view();

Rückgabewert

Das accelerator_view-Objekt zur automatischen Auswahl.

get_dedicated_memory

Gibt den dedizierten Arbeitsspeicher für das accelerator-Objekt in KB zurück.

size_t get_dedicated_memory() const;

Rückgabewert

Der dedizierte Speicher für die accelerator, in Kilobyte.

get_default_cpu_access_type

Ruft das standardmäßige CPU-access_type-Objekt für die Puffer zurück, die auf dieser Zugriffstaste erstellt werden.

access_type get_default_cpu_access_type() const;

Rückgabewert

Das standardmäßige CPU-access_type-Objekt für die Puffer, die auf dieser Zugriffstaste erstellt werden.

get_default_view

Gibt das standardmäßige accelerator_view-Objekt zurück, das mit dem accelerator-Objekt verknüpft ist.

accelerator_view get_default_view() const;

Rückgabewert

Das Standardobjekt accelerator_view , das dem acceleratorzugeordnet ist.

get_description

Gibt eine kurze Beschreibung des accelerator-Geräts zurück.

std::wstring get_description() const;

Rückgabewert

Eine kurze Beschreibung des accelerator Geräts.

get_device_path

Gibt den Pfad der Zugriffstaste zurück. Der Pfad ist im System eindeutig.

std::wstring get_device_path() const;

Rückgabewert

Der systemweite eindeutige Geräteinstanzpfad.

get_has_display

Gibt einen booleschen Wert, der angibt, ob die accelerator Ausgabe in eine Anzeige möglich ist.

bool get_has_display() const;

Rückgabewert

truewenn die accelerator Ausgabe in eine Anzeige möglich ist; andernfalls . false

get_is_debug

Bestimmt, für das accelerator-Objekt die DEBUG-Ebene für eine umfangreiche Fehlerberichterstattung aktiviert ist.

bool get_is_debug() const;

Rückgabewert

true wenn die accelerator DEBUG-Ebene für umfangreiche Fehlerberichterstattung aktiviert ist. Andernfalls false.

get_is_emulated

Bestimmt, ob das accelerator-Objekt emuliert ist.

bool get_is_emulated() const;

Rückgabewert

true wenn die accelerator Emuliert ist. Andernfalls false.

get_supports_cpu_shared_memory

Gibt einen booleschen Wert zurück, der angibt, ob die Zugriffstaste Arbeitsspeicher unterstützt, auf den sowohl die Zugriffstaste als auch die CPU zugreifen können.

bool get_supports_cpu_shared_memory() const;

Rückgabewert

truewenn die Zugriffstaste den gemeinsam genutzten CPU-Speicher unterstützt; andernfalls . false

get_supports_double_precision

Gibt einen booleschen Wert zurück, der angibt, ob die Zugriffstaste die Mathematik mit doppelter Genauigkeit unterstützt, einschließlich fused multiplizieren Add (FMA), Division, Gegenseitigkeit und Umwandlung zwischen int und double

bool get_supports_double_precision() const;

Rückgabewert

truewenn die Beschleuniger Mathematik mit doppelter Genauigkeit unterstützt; andernfalls . false

get_supports_limited_double_precision

Gibt einen booleschen Wert zurück, der angibt, ob die Zugriffstaste eingeschränkte Unterstützung für Mathematik mit doppelter Genauigkeit hat. Wenn die Zugriffstaste nur eingeschränkt unterstützt wird, werden fused multiplizieren Add (FMA), Division, Gegenseitigkeit und Umwandlung zwischen int und double nicht unterstützt.

bool get_supports_limited_double_precision() const;

Rückgabewert

truewenn die Zugriffstaste eingeschränkte Unterstützung für Mathematik mit doppelter Genauigkeit hat; andernfalls . false

get_version

Gibt die Version des accelerator-Objekts zurück.

unsigned int get_version() const;

Rückgabewert

Die Version der accelerator.

has_display

Ruft einen booleschen Wert, der angibt, ob die accelerator Ausgabe in eine Anzeige möglich ist.

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

is_debug

Ruft einen booleschen Wert, der angibt, ob die accelerator DEBUG-Ebene für umfangreiche Fehlerberichterstattung aktiviert ist.

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

is_emulated

Ruft einen booleschen Wert, der angibt, ob die accelerator Emuliert ist.

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

operator!=

Vergleicht dieses accelerator Objekt mit einem anderen und gibt zurück false , wenn sie identisch sind; andernfalls wird zurückgegeben true.

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

Parameter

_Other
Das accelerator Objekt, das mit diesem verglichen werden soll.

Rückgabewert

false wenn die beiden accelerator Objekte gleich sind; andernfalls true.

operator =

Kopiert den Inhalt des angegebenen accelerator-Objekts in dieses Objekt.

accelerator& operator= (const accelerator& _Other);

Parameter

_Other
Das accelerator-Objekt, aus dem kopiert werden soll.

Rückgabewert

Ein Verweis auf das accelerator-Objekt.

operator==

Vergleicht dieses accelerator Objekt mit einem anderen und gibt zurück true , wenn sie identisch sind; andernfalls wird zurückgegeben false.

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

Parameter

_Other
Das accelerator Objekt, das mit diesem verglichen werden soll.

Rückgabewert

true wenn das andere accelerator Objekt mit diesem accelerator Objekt identisch ist; andernfalls false.

set_default

Legt die Standardzugriffstaste fest, die für jeden Vorgang verwendet werden soll, der die Standardzugriffstaste implizit verwendet. Diese Methode ist nur erfolgreich, wenn die von der Laufzeit ausgewählte Standardzugriffstaste nicht bereits in einem Vorgang verwendet wurde, der die Standardzugriffstaste implizit verwendet

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

Parameter

_Pfad
Der Pfad zur Zugriffstaste.

Rückgabewert

true wenn der Aufruf erfolgreich war, um die Standardtaste festzulegen. Andernfalls false.

set_default_cpu_access_type

Legen Sie die standardmäßige CPU-access_type für Arrays fest, die auf dieser Zugriffstaste erstellt wurden, oder für implizite Speicherzuweisungen als Teil array_views, auf die auf dieser Zugriffstaste zugegriffen wird. Diese Methode ist nur erfolgreich, wenn die default_cpu_access_type für die Zugriffstaste noch nicht durch einen vorherigen Aufruf dieser Methode außer Kraft gesetzt wurde und die default_cpu_access_type für diese Zugriffstaste ausgewählte Laufzeit noch nicht für die Zuordnung eines Arrays oder für eine implizite Speicherzuweisung verwendet wurde, auf die auf diese Zugriffstaste zugegriffen array_view.

bool set_default_cpu_access_type(access_type _Default_cpu_access_type);

Parameter

_Default_cpu_access_type
Das Standard-CPU-access_type-Objekt, das für array/array_view-Speicherbelegungen auf dieser Zugriffstaste verwendet wird.

Rückgabewert

Ein boolescher Wert, der angibt, ob das Standard-CPU-access_type-Objekt für die Zugriffstaste erfolgreich festgelegt wurde.

supports_cpu_shared_memory

Ruft einen booleschen Wert ab, der angibt, ob das accelerator-Objekt freigegebenen Arbeitsspeicher unterstützt.

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

supports_double_precision

Ruft einen booleschen Wert ab, der angibt, ob die Zugriffstaste Mathematik mit doppelter Genauigkeit unterstützt.

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

supports_limited_double_precision

Ruft einen booleschen Wert, der angibt, ob die Zugriffstaste eingeschränkte Unterstützung für Mathematik mit doppelter Genauigkeit hat. Wenn die Zugriffstaste nur eingeschränkt unterstützt wird, werden fused multiplizieren Add (FMA), Division, Gegenseitigkeit und Umwandlung zwischen int und double nicht unterstützt.

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

version

Ruft die Version der accelerator ab.

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

Siehe auch

Concurrency-Namespace (C++ AMP)