Articles

GPU vs CPU Computing: Was soll ich wählen?

Olena
Olena

Folge

8. Februar 2018 · 4 min Lesezeit

CPUs und GPUs haben viel gemeinsam. Sie sind beide Mikroprozessoren auf Siliziumbasis. Gleichzeitig unterscheiden sie sich erheblich und werden für verschiedene Rollen bereitgestellt.

Was sind CPUs und GPUs?

Eine CPU (Central Processing Unit) wird oft als „Gehirn“ oder „Herz“ eines Computers bezeichnet. Es ist erforderlich, die Mehrheit der Engineering- und Office-Software auszuführen. Es gibt jedoch eine Vielzahl von Aufgaben, die den Zentralprozessor eines Computers überfordern können. Das ist, wenn die Verwendung von GPU für das Computing unerlässlich wird.Eine GPU (Graphics Processing Unit) ist ein spezialisierter Mikroprozessor, der hauptsächlich für die schnelle Bildwiedergabe entwickelt wurde. GPUs erschienen als Reaktion auf grafisch intensive Anwendungen, die die CPU belasten und die Computerleistung beeinträchtigen. Sie wurden zu einer Möglichkeit, diese Aufgaben von CPUs zu entlasten, aber moderne Grafikprozessoren sind leistungsstark genug, um schnelle mathematische Berechnungen für viele andere Zwecke als das Rendern durchzuführen.

Was ist der Unterschied?

CPUs und GPUs verarbeiten Aufgaben auf unterschiedliche Weise. In Bezug auf Wechselbeziehungen werden sie oft mit Gehirn und Muskeln verglichen. Eine CPU (das Gehirn) kann an einer Vielzahl verschiedener Berechnungen arbeiten, während eine GPU (die Muskeln) am besten alle Rechenfähigkeiten auf eine bestimmte Aufgabe konzentrieren kann. Dies liegt daran, dass eine CPU aus einigen Kernen (bis zu 24) besteht, die für die sequentielle serielle Verarbeitung optimiert sind. Es wurde entwickelt, um die Leistung einer einzelnen Aufgabe innerhalb eines Jobs zu maximieren. Auf der anderen Seite verwendet eine GPU Tausende kleinerer und effizienterer Kerne für eine massiv parallele Architektur, die darauf abzielt, mehrere Funktionen gleichzeitig zu verarbeiten.Moderne GPUs bieten überlegene Rechenleistung, Speicherbandbreite und Effizienz gegenüber ihren CPU-Pendants. Sie sind 50-100 mal schneller bei Aufgaben, die mehrere parallele Prozesse erfordern, wie maschinelles Lernen und Big-Data-Analyse.

Quelle: blogs.nvidia.com

Für welche Probleme sind GPUs geeignet?

GPU-Computing ist definiert als die Verwendung einer GPU zusammen mit einer CPU, um wissenschaftliche, analytische, technische, Verbraucher- und Unternehmensanwendungen zu beschleunigen.

Seit vielen Jahren ermöglichen GPUs die Anzeige von Bildern und Bewegungen auf Computerbildschirmen, aber sie sind technisch in der Lage, mehr zu tun. Grafikprozessoren werden ins Spiel gebracht, wenn massive Berechnungen für eine einzelne Aufgabe erforderlich sind.

Diese Aufgabe kann Folgendes umfassen:

  • Spiele

Eine Grafikverarbeitungseinheit ist für das schnelle, grafikintensive Rendern der Spielewelt unerlässlich. Das Rendern von Spezialeffekten und anspruchsvollen 3D-Grafiken in Echtzeit erfordert einige ernsthafte Rechenleistung. Die Aufgaben moderner Spiele werden für die CPU-Grafiklösung zu schwer. Spiele sind mit Virtual Reality sogar noch einen Schritt weiter gegangen, was so glaubwürdig ist, weil GPUs realistische Bilder mit der richtigen Beleuchtung und Schattierung schnell rendern und beibehalten können.

  • 3D-Visualisierung

GPUs verbessern die Leistung von Ansichtsfenstern in 3D-Visualisierungsanwendungen wie Computer Aided Design (CAD). Software, mit der Sie Objekte in 3 Dimensionen visualisieren können, basiert auf GPUs, um diese Modelle in Echtzeit zu zeichnen, während Sie sie drehen oder bewegen.

  • Bildverarbeitung

GPUs können Millionen von Bildern genau verarbeiten, um Unterschiede und Ähnlichkeiten zu finden. Diese Fähigkeit wird in großem Umfang in Branchen wie Grenzkontrolle, Sicherheit und medizinischer Röntgenverarbeitung eingesetzt. Zum Beispiel hat das US-Militär im Jahr 2010 mehr als 1.700 Sony PlayStation 3TM-Systeme miteinander verbunden, um hochauflösende Satellitenbilder schneller zu verarbeiten.

  • Big Data

Mit Tausenden Rechenkernen und dem 10– bis 100-fachen Anwendungsdurchsatz im Vergleich zu CPUs allein sind Grafikeinheiten die erste Wahl für die Verarbeitung von Big Data für Wissenschaftler und Industrie. GPUs werden verwendet, um Daten als interaktive Visualisierung darzustellen, und sie lassen sich in andere Datensätze integrieren, um Volumen und Geschwindigkeit von Daten zu untersuchen. Zum Beispiel sind wir jetzt in der Lage, die Genkartierung durch Verarbeitung von Daten und Analyse von Co-Varianzen zu verbessern, um die Beziehung zwischen verschiedenen Kombinationen von Genen zu verstehen.

  • Tiefes maschinelles Lernen

Maschinelles Lernen gibt es schon seit einiger Zeit, aber leistungsstarkes und effizientes GPU-Computing hat es auf ein neues Niveau gehoben. Deep Learning ist die Verwendung ausgeklügelter neuronaler Netze, um Systeme zu erstellen, die eine Merkmalserkennung aus riesigen Mengen unbeschrifteter Trainingsdaten durchführen können. GPUs können Unmengen von Trainingsdaten verarbeiten und neuronale Netze in Bereichen wie Bild- und Videoanalyse, Spracherkennung und Verarbeitung natürlicher Sprache, selbstfahrenden Autos, Computer Vision und vielem mehr trainieren.

GPUs sind kein Ersatz für die CPU-Architektur. Vielmehr sind sie leistungsstarke Beschleuniger für die bestehende Infrastruktur. GPU-beschleunigtes Computing entlastet rechenintensive Teile der Anwendung auf die GPU, während der Rest des Codes weiterhin auf der CPU ausgeführt wird. Aus Sicht des Benutzers laufen Anwendungen einfach viel schneller. Während Allzweck-Computing immer noch die Domäne der CPU ist, sind GPUs das Hardware-Rückgrat fast aller intensiven Rechenanwendungen.