Hardware-Beschleunigung
Windows 10: Hardware-Grafikbeschleuniger – Alle Infos
Alle Infos zum Hardware-Beschleuniger Ihrer Grafikkarte unter Windows 10
Es ist möglich, den Hardware-Beschleuniger Ihrer Grafikkarte abzuschalten. Technisch gesehen sorgt der Beschleuniger dafür, dass die Anzeige von Spielen nicht von der CPU Ihres PCs berechnet wird. Diese Berechnung wird stattdessen vom Prozessor der Grafikkarte übernommen. Das führt dazu, dass ältere Games auf Ihrem PC nicht mehr spielbar sind. Doch der Hardware-Beschleuniger Ihrer Grafikkarte kann ausgeschaltet werden:
Was ist Hardwarebeschleunigung – sollten Sie sie verwenden oder nicht?
Hardwarebeschleunigung ist ein gebräuchlicher Begriff, den viele Menschen schon einmal gehört haben. Es wird am häufigsten als Einstellung gefunden, mit der Sie einige Anwendungen auf Ihrem System aktivieren können. Eine gängige App, die Hardwarebeschleunigung verwendet, ist Chrom und Sie haben die Möglichkeit, dies zu aktivieren oder zu deaktivieren, aber was ist das? Ist es eine gute Idee, es zu verwenden und welche Vorteile hat es?
Hardware-Beschleunigung
Hardware ist der Prozess, bei dem eine Anwendung andere Hardwarekomponenten auf Ihrem System verwendet, um viele Aufgaben auszuführen, um effizienter zu arbeiten. Genau genommen soll Ihre CPU die schwere Last von allem bewältigen. Aber sowohl Apps als auch Hardware haben einen langen Weg zurückgelegt und ihre Anforderungen haben sich etwas geändert. Die Hardwarekomponenten, die normalerweise zum Auslagern einiger Aufgaben verwendet werden, sind die Soundkarte und auch die GPU.
Apps, die grafikintensive Aufgaben wie das Anzeigen eines HD-Videos oder das Betrachten von 3D-Inhalten ausführen, geben diese Aufgabe an die GPU weiter. Ebenso übertragen Anwendungen, die audiolastige Aufgaben ausführen, einen Großteil der Last auf Ihre Soundkarte, anstatt dass sich Ihre CPU darum kümmert. Im Allgemeinen übergibt die Hardwarebeschleunigung Aufgaben normalerweise an eine GPU, und die Soundkarte schultert selten die Last.
Hardware vs. Software
Es lohnt sich zu fragen, ob Apps Beschleunigung unterstützen. Oder muss Ihr System viele Anforderungen erfüllen, bevor eine Anwendung es verwenden kann? Ihr System muss über Hardware verfügen, die Hardwarebeschleunigung unterstützt, damit eine App davon Gebrauch machen kann. Wenn die Funktionen Ihres Systems dies nicht unterstützen, können Apps die Aktivierung nicht erzwingen. Die meisten modernen Systeme unterstützen die Hardwarebeschleunigung und Sie können dies überprüfen, indem Sie die Systemsteuerung für Ihre jeweilige GPU durchsuchen.
Wenn Sie beispielsweise die NVIDIA-Systemsteuerung öffnen und zur Registerkarte Set PhysX Configuration gehen. Sie sehen eine kurze Beschreibung, die beschreibt, was dieses Panel steuert, einschließlich der „GPU-Beschleunigung“. Dies ist der Begriff, der anstelle von Hardwarebeschleunigung verwendet wird.
Eine mühsamere Methode, um zu überprüfen, ob Ihr System Hardwarebeschleunigung unterstützt, ist der Besuch einer der Demos auf dieser Website von Mozilla. Führen Sie zwei Tests durch; Aktivieren Sie im ersten Test die Hardwarebeschleunigung in Ihrem Browser und deaktivieren Sie sie im zweiten. Suchen Sie nach den folgenden zwei Unterschieden zwischen den einzelnen Läufen;
Steigt die CPU-Last?
Wird die Animation weniger flüssig oder sehr abgehackt?
Wenn Sie die beiden oben genannten beobachten, wenn Sie die Hardwarebeschleunigung ausschalten. Dann bedeutet das, dass Ihr System es unterstützt und es hilft, dass Anwendungen besser funktionieren. Möglicherweise stellen Sie auch fest, dass sich Ihre Systemlüfter einschalten, wenn die Hardwarebeschleunigung deaktiviert ist. Aber sie könnten das tun, selbst wenn Sie es aktiviert haben.
Sollten Sie es verwenden oder nicht?
Die einfache Antwort lautet: Ja. Du solltest. Es wird dazu beitragen, dass Ihr System besser läuft und Apps, die dedizierte Hardware benötigen, effizienter funktionieren. Ihr System wird mehr Strom verbrauchen, aber im größeren Rahmen der Dinge. Es ist nicht viel Kraft. Es wird sich nicht als dramatischer Anstieg Ihres Stromverbrauchs zeigen und Sie erhalten keine enorme Rechnung dafür.
Fazit
Okay, das war alles Leute! Ich hoffe, Ihnen gefällt dieser Artikel zur Hardwarebeschleunigung und Sie finden ihn hilfreich. Auch wenn ihr weitere Fragen habt, lasst es uns im Kommentarbereich unten wissen.
Ich wünsche ihnen einen wunderbaren Tag!
Hardware-Beschleunigung
Aus Wikipedia, der freien EnzyklopädieInformationen zu Hardwarebeschleunigern in Start-up-Unternehmen finden Sie unter Seed-Beschleuniger . Verwendung spezieller Computerhardware, um einige Funktionen effizienter auszuführen, als dies bei Software möglich ist, die auf einer allgemeineren CPU ausgeführt wird
Hardwarebeschleunigung ist die Verwendung von Computerhardware, mit der einige Funktionen effizienter ausgeführt werden können als bei Software, die auf einer Allzweck- Zentraleinheit (CPU) ausgeführt wird.Jede Transformation von Daten oder Routinen, die berechnet werden kann, kann ausschließlich in Software berechnet werden, die auf einer generischen CPU ausgeführt wird, ausschließlich in maßgeschneiderter Hardware oder in einer Mischung aus beiden.Eine Operation kann in anwendungsspezifischen integrierten Schaltkreisen (ASICs), die für die Berechnung der Operation ausgelegt oder programmiert sind,schnellerberechnet werden als in der Software angegeben und auf einem Allzweck- Computerprozessor ausgeführt. Jeder Ansatz hat Vor- und Nachteile.Die Implementierung von Computeraufgaben in Hardware zur Verringerung der Latenz und zur Erhöhung des Durchsatzes wird als Hardwarebeschleunigung bezeichnet.
Typische Vorteile von Software sind eine schnellere Entwicklung, geringere einmalige Engineering- Kosten, eine verbesserte Portabilität und die einfache Aktualisierung von Funktionen oder das Patchen von Fehlern auf Kosten des Overheads für die Berechnung allgemeiner Vorgänge.Zu den Vorteilen der Hardware gehören eine Beschleunigung, ein geringerer Stromverbrauch, eine geringere Latenz, eine erhöhte Parallelität und Bandbreite sowie eine bessere Nutzung derauf einer integrierten Schaltung verfügbarenFlächen- und Funktionskomponenten. auf Kosten einer geringeren Fähigkeit zur Aktualisierung von Designs, die einmal auf Silizium geätzt wurden, und höherer Kosten für die Funktionsüberprüfung und der Markteinführungszeiten.In der Hierarchie digitaler Computersysteme, die von Allzweckprozessoren bis hin zu vollständig angepasster Hardware reicht, gibt es einen Kompromiss zwischen Flexibilität und Effizienz, wobei die Effizienz um Größenordnungen zunimmt,wenn eine bestimmte Anwendung höher in dieser Hierarchie implementiert wird.Diese Hierarchie umfasst Allzweckprozessoren wie CPUs, speziellere Prozessoren wie GPUs, feste Funktionen, die auf feldprogrammierbaren Gate-Arrays (FPGAs) implementiert sind, und feste Funktionen, die auf ASICs implementiert sind.
Die Hardwarebeschleunigung ist für die Leistung vorteilhaftund praktisch, wenn die Funktionen festgelegt sind, sodass Aktualisierungen nicht so erforderlich sind wie bei Softwarelösungen.Mit dem Aufkommen von umprogrammierbaren Logikbausteinen wie FPGAs hat sich die Beschränkung der Hardwarebeschleunigung auf vollständig feste Algorithmen seit 2010 gelockert, sodass die Hardwarebeschleunigung auf Problembereiche angewendet werden kann, die Änderungen an Algorithmen und Verarbeitungssteuerungsabläufen erfordern.
Inhalt
1 Übersicht 1.1 Rechenäquivalenz von Hardware und Software 1.2 Computer mit gespeicherten Programmen 1.3 Hardware-Ausführungseinheiten 1.4 Neue Hardwarearchitekturen 1.5 Implementierungsmetriken
2 Beispielaufgaben beschleunigt 2.1 Summieren von zwei Arrays zu einem dritten Array 2.2 Eine Million ganze Zahlen summieren 2.3 Stream-Verarbeitung
3 Anwendungen
4 Hardwarebeschleunigungseinheiten nach Anwendung
5 Siehe auch
6 Referenzen
7 Externe Links
Überblick
Integrierte Schaltungen können erstellt werden, um beliebige Operationen an analogen und digitalen Signalendurchzuführen.Am häufigsten sind Signale beim Rechnen digital und können als Binärzahlendaten interpretiertwerden.Computerhardware und -software verarbeiten Informationen in binärer Darstellung, um das Rechnen durchzuführen;Dies wird durch dieBerechnung durchgeführt Booleschen Funktionen auf den Bits der Eingabe und zumAusgeben des Ergebnisses zu einemgewissen Ausgabeeinrichtung nachgeschalteten für Lagerung oder Weiterverarbeitung.
Rechenäquivalenz von Hardware und Software
Entweder Software oder Hardware können jede berechenbare Funktion berechnen.Benutzerdefinierte Hardware bietet eine höhere Leistung pro Watt für dieselben Funktionen, die in der Software angegeben werden können. Hardware -Beschreibungssprachen (HDL),wie etwa Verilog und VHDL kann das gleiche Modell Semantik als Software und synthetisieren die Konstruktion in eine Netzliste, die in auf einem FPGA oder zusammengesetzt werden können,programmiert Logikgatter eines ASIC.
Computer mit gespeicherten Programmen
Die überwiegende Mehrheit des softwarebasierten Rechnens findet auf Maschinen statt, die die von Neumann-Architektur implementieren, die zusammen als Computer mit gespeicherten Programmen bezeichnet werden. Computerprogramme werden als Daten gespeichert und ausgeführt von Prozessoren, in derRegel eines oder mehr CPU -Kern. Solche Prozessoren müssenals Teil des Befehlszyklus Befehle sowie Datenoperanden aus dem Speicher abrufen und decodieren, um die Befehle auszuführen, aus denen das Softwareprogramm besteht.Das Verlassen auf einen gemeinsamen Cache für Code und Daten führt zu dem von Neumann-Engpass, einer grundlegenden Einschränkung des Software-Durchsatzes auf Prozessoren, die die von Neumann-Architektur implementieren.Selbst in der modifizierten Harvard-Architektur, in der Befehle und Daten separate Caches in der Speicherhierarchie haben, istdas Decodieren von Befehls- Opcodes und das Multiplexen verfügbarer Ausführungseinheiten auf einem Mikroprozessor oder Mikrocontroller mit einem Overhead verbunden, was zu einer geringen Schaltungsauslastung führt. Moderne Prozessoren, die simultanes Multithreading bereitstellen,nutzendie unzureichende Auslastung der verfügbaren Prozessorfunktionseinheiten und die Parallelität auf Befehlsebene zwischen verschiedenen Hardware-Threads aus.
Hardware-Ausführungseinheiten
Hardware- Ausführungseinheiten verlassen sich im Allgemeinen nicht auf die von Neumann- oder modifizierten Harvard-Architekturen und müssen die Befehlsabruf- und -decodierungsschritte eines Befehlszyklus nicht ausführenund verursachen den Overhead dieser Stufen.Wenn erforderliche Berechnungen in einemRTL-Hardware-Design ( Register Transfer Level ) angegeben werden, können die Zeit- und Schaltungsbereichskosten, die durch Befehlsabruf- und Decodierungsstufen entstehen würden, zurückgefordert und für andere Zwecke verwendet werden.
Diese Rückgewinnung spart Zeit, Energie und Schaltkreisfläche bei der Berechnung.Die zurückgewonnenen Ressourcen können für eine verbesserte parallele Berechnung, andere Funktionen, Kommunikation oder Speicher sowie für erhöhte Eingabe- / Ausgabefunktionen verwendet werden.Dies geht mit den Opportunitätskosten eines weniger universellen Versorgungsunternehmens einher.
Neue Hardwarearchitekturen
Eine stärkere RTL-Anpassung von Hardwaredesigns ermöglicht es neuen Architekturen wie In-Memory-Computing, transportgetriggerten Architekturen (TTA) und Network-on-Chip (NoC), weiter von einer erhöhten Lokalität der Daten im Ausführungskontextzu profitieren, wodurch die Rechen- und Kommunikationslatenz zwischen diesenverringert wird Module und Funktionseinheiten.
Benutzerdefinierte Hardware ist in ihrer Parallelverarbeitungsfähigkeit nur durch den Bereich und die Logikblöcke begrenzt, die auf dem Chip der integrierten Schaltung verfügbar sind.Daher ist Hardware viel freier, um massive Parallelität zu bietenals Software auf Allzweckprozessoren, was die Möglichkeit bietet, dasPRAM-Modell ( Parallel Random Access Machine ) zuimplementieren.
Es ist üblich, Multicore- und Manycore- Prozessoreinheiten aus IP-Core-Schaltplänen von Mikroprozessoren auf einem einzelnen FPGA oder ASICzu erstellen.In ähnlicher Weise können spezialisierte Funktionseinheiten parallel wie bei der digitalen Signalverarbeitung zusammengesetzt werden, ohne in einen Prozessor- IP-Kern eingebettet zu sein.Daher wird die Hardwarebeschleunigung häufig für sich wiederholende, feste Aufgaben verwendet, bei denen nur eine geringe bedingte Verzweigung erforderlich ist, insbesondere bei großen Datenmengen.Auf diese Weise wirddie CUDA- GPU- Reihe von Nvidia implementiert.
Implementierungsmetriken
Mit zunehmender Mobilität der Geräte hat die relative Leistung bestimmter Beschleunigungsprotokolle neue Metriken erforderlich gemacht, wobei die Merkmale wie die Abmessungen der physischen Hardware, der Stromverbrauch und der Betriebsdurchsatz berücksichtigt wurden.Diese können in drei Kategorien zusammengefasst werden: Aufgabeneffizienz, Implementierungseffizienz und Flexibilität.Geeignete Metriken berücksichtigen den Bereich der Hardware sowie den entsprechenden Betriebsdurchsatz und den Energieverbrauch.
Beispielaufgaben beschleunigt
Summieren von zwei Arrays zu einem dritten Array
#include lt;stdio.hgt;int main(void){int arrayOne[] = {1, 2, 3};int arrayTwo[] = {4, 5, 6};int arraySum[3];for (int i = 0; i lt; 3; i++){arraySum[i] = arrayOne[i] + arrayTwo[i];}}
Eine Million ganze Zahlen summieren
Angenommen, wir möchten die Summe der ganzen Zahlen berechnen.Unter der Annahme, dass große Ganzzahlen verfügbar sind, die groß genug sind, um die Summe aufzunehmen, kann dies in der Software durch Angabe (hier in C ++ ) erfolgen: 2 20 = 1 , 048 , 576 { displaystyle 2 ^ {20} = 1.048.576} bignum
constexpr int N = 20;constexpr int two_to_the_N = 1 lt;lt; N;bignum array_sum(const std::arraylt;int, two_to_the_Ngt;amp; ints) {bignum result = 0;for (std::size_t i = 0; i lt; two_to_the_N; i++) {result += ints[i];}return result;}
Dieser Algorithmus läuft in linearer Zeit,in Big O - Notation. In Hardware, mit einerausreichenden Fläche auf Chip kann Berechnung parallelisiert werden nur 20 nehmen Zeitschritten unter Verwendung des Präfixsumme Algorithmus.Der Algorithmus benötigt nur logarithmische Zeit,und Raum als In-Place : Ö (( n ) { textstyle { mathcal {O}} left (n right)} Ö (( Log n ) { textstyle { mathcal {O}} left ( log {n} right)} Ö (( 1 ) { textstyle { mathcal {O}} left (1 right)}
parameter int N = 20;parameter int two_to_the_N = 1 lt;lt; N;function int array_sum;input int array[two_to_the_N];beginfor (genvar i = 0; i lt; N; i++) beginfor (genvar j = 0; j lt; two_to_the_N; j++) beginif (j gt;= (1 lt;lt; i)) beginarray[j] = array[j] + array[j - (1 lt;lt; i)];endendendreturn array[two_to_the_N - 1];endendfunction
Dieses Beispiel nutzt die größeren parallelen Ressourcen, die in anwendungsspezifischer Hardware verfügbar sind, als die meisten Software- und Allzweck- Computerparadigmen und -architekturen.
Stream-Verarbeitung
Die Hardwarebeschleunigung kann auf die Stream-Verarbeitung angewendet werden.
Anwendungen
Beispiele für die Hardwarebeschleunigung sind Bit-Blit- Beschleunigungsfunktionen in Grafikprozessoren (GPUs), die Verwendung von Memristoren zur Beschleunigung neuronaler Netze und die Hardwarebeschleunigung für reguläre Ausdrücke zur Spam-Kontrolle in der Serverindustrie, um Denial-of-Service- Angriffe (ReDoS)für reguläre Ausdrücke zu verhindern.Die Hardware, die die Beschleunigung ausführt, kann Teil einer Allzweck-CPU oder einer separaten Einheit sein, die als Hardwarebeschleuniger bezeichnet wird, obwohl sie normalerweise mit einem spezifischeren Begriff bezeichnet werden, wie z. B. 3D-Beschleuniger oder kryptografischer Beschleuniger.
Traditionell waren Prozessoren sequentiell ( Anweisungen werden einzeln ausgeführt) und wurden entwickelt, um Allzweckalgorithmen auszuführen, die durch Befehlsabruf gesteuert werden(z. B. Verschieben temporärer Ergebnisse in und aus einer Registerdatei ).Hardwarebeschleuniger verbessern die Ausführung eines bestimmten Algorithmus, indem sie eine größere Parallelität ermöglichen, bestimmte Datenpfade für ihre temporären Variablen haben und den Aufwand für die Befehlssteuerung im Abruf-Dekodierungs-Ausführungszyklus verringern.
Moderne Prozessoren sind mehrkernig und verfügen häufig über parallele SIMD- Einheiten(Single-Instruction; Multiple Data).Trotzdem bietet die Hardwarebeschleunigung immer noch Vorteile.Die Hardwarebeschleunigung eignet sich für jeden rechenintensiven Algorithmus, der häufig in einer Aufgabe oder einem Programm ausgeführt wird.Abhängig von der Granularität kann die Hardwarebeschleunigung von einer kleinen Funktionseinheit zu einem großen Funktionsblock variieren (wie die Bewegungsschätzung in MPEG-2 ).
Hardwarebeschleunigungseinheiten nach Anwendung
Siehe auch
Verweise
Externe Links