Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Ein Accelerator ist eine Hardwarefunktion, die für daten-parallele Computervorgänge optimiert ist. Ein Beschleuniger kann ein Gerät sein, das an einen PCIe-Bus angeschlossen wird (wie ein Grafikprozessor), oder es könnte ein erweiterter Befehlssatz auf der Haupt-CPU sein.
Syntax
class accelerator;
Mitglieder
Öffentliche Konstruktoren
| Name | Beschreibung |
|---|---|
| Accelerator-Konstruktor | Initialisiert eine neue Instanz der accelerator-Klasse. |
| ~Accelerator-Destruktor | Zerstört das accelerator-Objekt. |
Öffentliche Methoden
| Name | Beschreibung |
|---|---|
| create_view | Erstellt und gibt ein accelerator_view-Objekt auf diesem Beschleuniger zurück. |
| get_all | Gibt einen Vektor von accelerator-Objekten zurück, die alle verfügbaren Accelerators darstellen. |
| get_auto_selection_view | Gibt die automatische Auswahlaccelerator_viewzurück. |
| get_dedicated_memory | Gibt den dedizierten Arbeitsspeicher für das accelerator-Objekt in KB zurück. |
| get_default_cpu_access_type | Gibt den Standard-access_type für Puffer zurück, die auf diesem Beschleuniger 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 gemeinsamen Speicher 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 den standardmäßigen CPU-Zugriffstyp für Arrays und implizite Speicherzuweisungen fest, die auf diesem accelerator vorgenommen werden. |
Ö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 Datenmitglieder
| Name | Beschreibung |
|---|---|
| cpu_accelerator | Ruft eine Stringkonstante für die CPU accelerator ab. |
| dedicated_memory | Ruft den dedizierten Arbeitsspeicher für das accelerator-Objekt in Kilobyte ab. |
| default_accelerator | Ruft eine Zeichenkettenkonstante für die Standard accelerator ab. |
| Standard-CPU-Zugriffstyp | Dient zum Abrufen oder Festlegen des Standard-CPU-access_type für Arrays und implizite Speicherzuweisungen 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 Geräts ab. |
| direct3d_ref | Ruft eine String-Konstante für den Direct3D-Referenzaccelerator 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 accelerator freigegebenen Arbeitsspeicher unterstützt. |
| unterstützt_Doppelpräzision | Gibt an, ob der Beschleuniger doppelte Präzision unterstützt. |
| unterstützt_eingeschränkte_doppelte_Genauigkeit | Gibt an, ob der Beschleuniger über eingeschränkte Unterstützung für Doppelpräzisionsmathematik verfügt. |
| Version | Ruft die Version der accelerator ab. |
Vererbungshierarchie
accelerator
Hinweise
Ein Beschleuniger ist eine Hardwarefähigkeit, die für datenparallele Computervorgänge optimiert ist. Ein Beschleuniger ist häufig eine diskrete GPU, kann jedoch auch ein virtuelles hostseitiges Gerät wie ein DirectX REF-Gerät, ein WARP (ein CPU-seitiges Gerät, das mithilfe von SSE-Befehlen 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: Gleichzeitigkeit
~Beschleuniger
Zerstört das accelerator-Objekt.
~accelerator();
Rückgabewert
Beschleuniger
Initialisiert eine neue Instanz der Beschleunigerklasse.
accelerator();
explicit accelerator(const std::wstring& _Device_path);
accelerator(const accelerator& _Other);
Parameter
_Device_path
Der Pfad des physischen Geräts.
_Andere
Der Beschleuniger zum Kopieren.
CPU-Beschleuniger
Ruft eine Zeichenfolgenkonstante für den CPU-Beschleuniger ab.
static const wchar_t cpu_accelerator[];
create_view
Erstellt und gibt ein accelerator_view-Objekt auf diesem Beschleuniger mithilfe des angegebenen Warteschlangenmodus zurück. Wenn der Warteschlangenmodus nicht angegeben wird, verwendet der neue accelerator_view den Modus queuing_mode::immediate.
accelerator_view create_view(queuing_mode qmode = queuing_mode_automatic);
Parameter
qmode
Der Wartemodus.
Rückgabewert
Ein neues accelerator_view Objekt auf diesem Beschleuniger unter Verwendung des angegebenen Warteschlangenmodus.
dedizierter Speicher
Ruft den dedizierten Arbeitsspeicher für das accelerator-Objekt in Kilobyte ab.
__declspec(property(get= get_dedicated_memory)) size_t dedicated_memory;
Standardbeschleuniger
Ruft eine Zeichenkettenkonstante für die Standard accelerator ab.
static const wchar_t default_accelerator[];
default_cpu_access_type
Der standardmäßige CPU-access_type für Arrays und implizite Speicherzuweisungen erfolgt auf diesem accelerator.
__declspec(property(get= get_default_cpu_access_type)) access_type default_cpu_access_type;
Standardansicht
Ruft die standardmäßige Beschleunigeransicht ab, die der accelerator zugeordnet ist.
__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;
Gerätepfad
Ruft den Pfad des Beschleunigers 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-Referenzbeschleuniger 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 Accelerators darstellen.
static inline std::vector<accelerator> get_all();
Rückgabewert
Der Vektor der verfügbaren Beschleuniger
get_auto_selection_view
Gibt das accelerator_view-Objekt zur automatischen Auswahl des Ziel-accelerator_view zurück, das, wenn es als Ziel für parallel_for_each angegeben wird, in dem Ziel-accelerator_view resultiert, damit der parallel_for_each-Kernel von der Laufzeit automatisch ausgewählt wird. Für alle anderen Zwecke ist das von dieser Methode zurückgegebene accelerator_view dasselbe wie das standartmäßige accelerator_view des default accelerator.
static accelerator_view __cdecl get_auto_selection_view();
Rückgabewert
Die automatische Auswahl "accelerator_view".
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_standardprozessor_zugriffsart einstellen
Ruft den standardmäßigen CPU-access_type für Puffer ab, die auf diesem Beschleuniger erstellt wurden.
access_type get_default_cpu_access_type() const;
Rückgabewert
Der standardmäßige CPU-Zugriffstyp für Puffer, die auf diesem Beschleuniger erstellt werden.
standardansicht_abrufen
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 des Beschleunigers 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 zurück, der angibt, ob die accelerator auf einem Bildschirm dargestellt werden kann.
bool get_has_display() const;
Rückgabewert
truewenn der accelerator an ein Anzeigegerät ausgeben kann; 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.
Unterstützt_Cpu_Gemeinsamer_Speicher_Abfragen
Gibt einen booleschen Wert zurück, der angibt, ob der Beschleuniger Speicher unterstützt, auf den sowohl der Beschleuniger als auch die CPU zugreifen können.
bool get_supports_cpu_shared_memory() const;
Rückgabewert
truefalls der Beschleuniger den gemeinsam genutzten CPU-Speicher unterstützt; andernfallsfalse.
get_supports_double_precision # Diese Funktion überprüft die Unterstützung für doppelte Genauigkeit
Gibt einen booleschen Wert zurück, der angibt, ob der Beschleuniger die Mathematik mit doppelter Genauigkeit unterstützt, einschließlich Fused Multiply Add (FMA), Division, Reziprok und Umwandlung zwischen int und double.
bool get_supports_double_precision() const;
Rückgabewert
truewenn der Beschleuniger Berechnungen mit doppelter Genauigkeit unterstützt; andernfalls false.
unterstützt_begrenzte_Doppelpräzision_abfragen
Gibt einen Booleschen Wert zurück, der angibt, ob der Accelerator eingeschränkte Unterstützung für Double-Precision-Mathematik bietet. Wenn der Beschleuniger nur eingeschränkt unterstützt wird, werden FMA (fused multiply add), Division, Kehrwertberechnung und Konvertierungen zwischen int und double nicht unterstützt.
bool get_supports_limited_double_precision() const;
Rückgabewert
truewenn der Beschleuniger eine eingeschränkte Unterstützung für Mathematik mit doppelter Genauigkeit hat; andernfalls false.
Version_abrufen
Gibt die Version von accelerator zurück.
unsigned int get_version() const;
Rückgabewert
Die Version der accelerator.
hat_anzeige
Ruft einen booleschen Wert ab, der angibt, ob die Ausgabe in eine Anzeige möglich ist.
__declspec(property(get= get_has_display)) bool has_display;
is_debug
Ruft einen booleschen Wert ab, der angibt, ob die accelerator-DEBUG-Schicht für umfangreiche Fehlerberichterstattung aktiviert ist.
__declspec(property(get= get_is_debug)) bool is_debug;
wird_emuliert
Ruft einen booleschen Wert ab, 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
_Andere
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
_Andere
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
_Andere
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.
Standardeinstellung festlegen
Legt den Standardbeschleuniger fest, der für eine beliebige Operation verwendet wird, die den Standardbeschleuniger implizit nutzt. Diese Methode ist nur erfolgreich, wenn der von der Laufzeit ausgewählte Standardbeschleuniger nicht bereits in einem Vorgang verwendet wurde, der implizit denselben Standardbeschleuniger benutzt.
static inline bool set_default(std::wstring _Path);
Parameter
_Pfad
Der Pfad zum Beschleuniger.
Rückgabewert
true wenn der Aufruf erfolgreich ist und die Standardtastenkombination festgelegt wird. Andernfalls, false.
set_default_cpu_access_type
Legen Sie den Standard-CPU-Zugriffstyp für Arrays fest, die auf diesem Beschleuniger erstellt wurden, oder für implizite Speicherzuweisungen als Teil von Array-Ansichten, auf die auf diesem Beschleuniger zugegriffen wird. Diese Methode ist nur erfolgreich, wenn der default_cpu_access_type für den Beschleuniger nicht bereits durch einen vorherigen Aufruf dieser Methode überschrieben wurde und der vom Laufzeitsystem gewählte default_cpu_access_type für diesen Beschleuniger noch nicht zur Zuordnung eines Arrays oder für eine implizite Speicherallokation verwendet wurde, die ein auf diesem Beschleuniger zugegriffenes array_view unterstützt.
bool set_default_cpu_access_type(access_type _Default_cpu_access_type);
Parameter
_Default_cpu_access_type
Der standardmäßige CPU-Zugriffsart, die bei der Speichervergabe für Array/Array_View auf diesem Beschleuniger verwendet wird.
Rückgabewert
Ein boolescher Wert, der angibt, ob der Standardwert des CPU-access_type für den Beschleuniger erfolgreich festgelegt wurde.
unterstützt_cpu-gemeinsamer_speicher
Ruft einen booleschen Wert ab, der angibt, ob das accelerator gemeinsamen Speicher unterstützt.
__declspec(property(get= get_supports_cpu_shared_memory)) bool supports_cpu_shared_memory;
unterstützt_doppelte_Präzision
Ruft einen booleschen Wert ab, der angibt, ob der Beschleuniger doppelte Präzision unterstützt.
__declspec(property(get= get_supports_double_precision)) bool supports_double_precision;
unterstützt_eingeschränkte_doppelte_Genauigkeit
Ruft einen booleschen Wert ab, der angibt, ob der Beschleuniger eingeschränkte Unterstützung für Doppelpräzisions-Berechnungen bietet. Wenn der Beschleuniger nur eingeschränkt unterstützt wird, sind fused multiply-add (FMA), Division, Reziprok und Umwandlungen zwischen int und double nicht unterstützt.
__declspec(property(get= get_supports_limited_double_precision)) bool supports_limited_double_precision;
Ausgabe
Ruft die Version der accelerator ab.
__declspec(property(get= get_version)) unsigned int version;