Der Unterschied zwischen GPU und CPU

12

Ich weiß, was eine CPU ist (glaube ich). Es ist die Sache, deren Geschwindigkeit in GigaHertz (heutzutage) gemessen wird.

Sie hören jedoch viel über eine GPU und lassen die GPU übernehmen, nicht die CPU, sondern die GPU, GPU-basiertes Rendering usw.

Was ist diese GPU überhaupt? Wie kann ich darauf zugreifen und es zu meinem Vorteil nutzen? Was verpasse ich hier?

KdgDev
quelle
2
Äh ... das ist keine sehr gute Definition von CPU. ;)
Mateen Ulhaq

Antworten:

17

Die GPU ist die grafische Verarbeitungseinheit. Es ist die CPU der Grafikkarte.

Traditionell übernahm die CPU die gesamte Grafikverarbeitung, bis die Hersteller von Grafikkarten damit begannen, GPUs in die Displayadapter aufzunehmen. Die GPU war eine dedizierte Hardware ähnlich der alten FPU (Gleitkommaeinheit, die für die schnellere Ausführung fortgeschrittener mathematischer Routinen als die CPU vorgesehen war), mit der gängige Grafikroutinen sehr schnell ausgeführt werden konnten. (Tatsächlich kamen GPUs mit dem Schritt der Grafikkartenhersteller, die Grafikbeschleunigung in die Karte zu integrieren, anstatt eine separate Karte zu benötigen, genau wie die Funktion von FPUs schließlich direkt in CPUs integriert wurde.)

Schließlich übertrafen GPUs die CPUs, so dass ein Grafikprozessor tatsächlich mehr Transistoren hatte, schneller (und heißer) lief und so weiter. Die Hersteller von Grafikkarten erkannten, dass die GPU nun eine wirklich leistungsstarke Hardware ist, die häufig im Leerlauf ist (z. B. beim Surfen im Internet, Bearbeiten von Dokumenten usw.). Ab dem X1300 enthielten die ATI-Karten also AVIVO , was die Benutzer, um Videokonvertierungssoftware auf dem Prozessor der Grafikkarte auszuführen, anstatt dies nur auf der langsameren CPU zu tun. Nvidia antwortete mit CUDA , der ersten echten GPGPU, bei der es sich im Grunde um eine Möglichkeit handelt, die GPUs auf einer Grafikkarte als allgemeine Zusatzprozessoren zu verwenden, die für jeden Zweck verwendet werden können, nicht nur für Grafik- oder Videozwecke.

Da eine GPU stark optimiert ist, um erweiterte Berechnungen wie Gleitkomma-Arithmetik, Matrix-Arithmetik und dergleichen durchzuführen, können sie Funktionen wie Videokonvertierung, Nachbearbeitung sowie Aufgaben wie BOINC oder Folding @ Home viel besser ausführen als mit eine CPU allein.

Ein moderner Computer kann ein Kraftpaket sein, mit einer Multi-Core-CPU und Multi-GPU-Grafikkarte (n), die als Super-CPUs fungieren können. Die Rechenleistung heutiger Computer ist wirklich unglaublich. Noch besser ist, dass die Hersteller die Chips energieeffizienter machen, so dass sie wirklich leistungsstark sind, aber auch so wenig Strom verbrauchen und so wenig Wärme wie möglich erzeugen können, wenn sie nicht benötigt werden, und uns so das Beste aus beiden Welten bieten!

Synetech
quelle
Nur ein Kommentar, aber für BOINC und Folding @ Home unterscheiden sich CPU- und GPU-Aufgaben erheblich. Die meisten Aufgaben sind auf einer CPU tatsächlich besser, da sie komplexe molekulare Dynamiken beinhalten, die auf einer GPU schwer zu simulieren sind. Ebenso gibt es Aufgaben, die von der wahnsinnigen Parallelität einer GPU profitieren können. Aus diesem Grund führt eine GPU in der Regel höhere Aufgaben als CPUs aus, verbirgt jedoch die Tatsache, dass viele Aufgaben nur auf einer CPU ausgeführt werden können (Simulationen mit langem Flug usw.). Zu sagen, dass diese Aufgaben besser für eine GPU geeignet sind, ist jedoch falsch.
Wald
13

Die GPU ist die Grafikverarbeitungseinheit. Dies ist im Wesentlichen die CPU Ihrer Grafikkarte (die CPU ist die Zentraleinheit, das "Gehirn" oder der Prozessor eines Computers). Grafikkarten sind heutzutage so komplex, dass sie im Grunde genommen Computer für sich sind, mit einem eigenen Speicher, Bussen und Prozessoren.

GPUs waren in der Vergangenheit relativ speziell und wurden für maximale Leistung entwickelt, wenn ein diskreter Satz von Grafikoperationen für bestimmte Arten von Datenprimitiven (Scheitelpunkte, Pixel usw.) ausgeführt wurde. Unternehmen wie Intel, nVidia und ATI beginnen jedoch, die Hülle mit allgemeineren GPU-Komponenten zu erweitern, was es Softwareentwicklern einfacher als je zuvor macht, die auf der Grafikkarte verfügbare zusätzliche Verarbeitungsleistung für nicht grafische Vorgänge zu nutzen. In Kombination mit CUDA und anderen speziellen GPU-Sprachen eröffnen diese neuen Chips viele Möglichkeiten.

GPGPU ist eine Art Hauptquartier für GPU-Computing für allgemeine Zwecke. Als Benutzer und nicht als Programmierer betrifft Sie das gesamte "Auslagern auf die GPU" an dieser Stelle nicht wirklich, abgesehen von einer Situation, in der Sie auf diese Weise entwickelte Software verwenden würden (nicht sehr viele Endbenutzer) Software existiert zum aktuellen Zeitpunkt).

Phoebus
quelle
4

Die CPU ist die Zentraleinheit (wahrscheinlich Ihr Intel- oder AMD-Prozessor).

Die GPU ist die Grafikverarbeitungseinheit auf Ihrer Grafikkarte. Sehen:

http://en.wikipedia.org/wiki/Graphics_processing_unit

Sie sind schwer zu programmieren, haben jedoch den Vorteil, dass sie massiv parallel sind, sodass einige Aufgaben viel schneller als die CPU ausgeführt werden können.

Neue Initiativen wie CUDA von Nvidia hoffen, dieses Potenzial freizusetzen, indem sie die Programmierung vereinfachen. Sehen:

http://en.wikipedia.org/wiki/CUDA

Keybits
quelle
0

Eine GPU ist nur eine CPU für die Grafikverarbeitung. Eine CPU kann so gut wie alles verarbeiten, aber eine GPU ist auf die Berechnung von 3D-Bildern zugeschnitten - die Leute beginnen, Ihre GPU zu nutzen, weil sie sehr, sehr gut parallel verarbeitet werden kann, was bedeutet, dass Software viele Dinge tut, die nicht davon abhängen Jeder kann es für eine viel bessere Leistung durch die Grafikkarte laufen lassen.

Außerdem wird es normalerweise nie verwendet, sodass es nicht wirklich schaden kann, seine Kraft zu nutzen.

Phoshi
quelle