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
~Beschleuniger
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 accelerator
Thema 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 accelerator
zugeordnet 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
true
wenn 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
true
wenn 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
true
wenn 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
true
wenn 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;