Eine Grafikverarbeitungseinheit (GPU) stellt eine spezielle elektronische Schaltung dar, die für die digitale Bildverarbeitung und die Beschleunigung von Computergrafiken entwickelt wurde. Diese Einheiten werden entweder als separate Komponenten auf Grafikkarten integriert oder in Motherboards, Mobiltelefone, Personalcomputer, Workstations und Spielekonsolen eingebettet. Darüber hinaus werden GPUs zunehmend in der Verarbeitung künstlicher Intelligenz (KI) eingesetzt und nutzen ihre Fähigkeiten bei der linearen Algebrabeschleunigung, einer Technik, die auch für die Grafikverarbeitung von grundlegender Bedeutung ist.
Während eine eindeutige Definition für den Begriff noch schwer zu fassen ist und er im Großen und Ganzen jedes Videoanzeigesystem umfassen kann, definiert die heutige Verwendung eine GPU so, dass sie über die interne Rechenkapazität für verschiedene Grafikoperationen verfügt, wie etwa die Drehung und Skalierung von 3D-Bildern. Häufig unterstützen GPUs auch die Ausführung benutzerdefinierter Programme, sogenannte Shader. Diese Funktionalität unterscheidet sie von früheren Grafikcontrollern, insbesondere Videodisplay-Controllern, denen es an internen Rechenfähigkeiten mangelte, und von Blittern, die auf grundlegende Speicherübertragungsvorgänge beschränkt waren. Die moderne GPU entwickelte sich in den 1990er Jahren weiter und verfügte zunächst über die Fähigkeit, Linien und Text unabhängig von der Zentraleinheit (CPU) zu rendern, und integrierte anschließend 3D-Funktionen.
Die inhärente Unabhängigkeit von Grafikfunktionen erleichtert ihre Implementierung auf verschiedenen Rechenmaschinen. Moderne GPUs enthalten Hunderte oder sogar Tausende von Verarbeitungseinheiten. Diese parallele Architektur macht sie äußerst effektiv für nichtgrafische Berechnungen mit peinlich parallelen Problemen. Die Fähigkeit von GPUs, eine Vielzahl von Berechnungen schnell auszuführen, hat ihre Integration in verschiedene Bereiche vorangetrieben, insbesondere in die künstliche Intelligenz (KI), wo sie eine außergewöhnliche Leistung bei der Verwaltung datenintensiver und rechenintensiver Aufgaben zeigen. Weitere nichtgrafische Anwendungen umfassen das Training neuronaler Netzwerke und das Mining von Kryptowährungen.
Verlauf
1960er Jahre
Die Ursprünge dedizierter 3D-Grafikhardware lassen sich auf Grafikterminals wie das 1967 eingeführte Adage AGT-30 zurückführen, das über analoge Matrixprozessoren verfügte. Im Jahr 1969 gründeten Evans & Sutherland (E&S) stellte das Line Drawing System-1 (LDS-1) vor, das als erstes volldigitales System mit Matrizenmultiplikation bekannt ist. Gleichzeitig wurde 1969 das IMLAC PDS-1, ein kostengünstiges Grafikterminal, auf den Markt gebracht. Dieses System diente später als frühe Plattform für 3D-Spiele, wie beispielsweise bei Titeln wie Maze War.
1970er Jahre
Im Bereich der professionellen Hardware nahm das PLATO IV-System 1972 an der University of Illinois Urbana-Champaign seinen Betrieb auf. Von etwa 1973 bis 1978 entwickelten und verbreiteten Benutzer dieses Systems mehrere vernetzte Multiplayer-Wireframe-3D-Spiele. Ebenfalls 1972 wurde das „Watkins-Box“-System E&S Continuous Tone 1 (CT1), bestehend aus einem E&S LDS-2 und einem Shaded Picture System, an der Case Western Reserve University eingesetzt und führte die erste Echtzeit-Gouraud-Schattierung ein. 1975 begann eine Zusammenarbeit zwischen Evans & Die Sutherland Computer Corporation und die Computergrafikabteilung der University of Utah brachten den bahnbrechenden MOSFET-Video-Framebuffer hervor, der Farbe und sanfte Schattierung unterstützte. Das E&S Continuous Tone 3 (CT3)-System, das 1977 zur Pilotenausbildung mittels Computersimulation an Lufthansa geliefert wurde, war das erste Grafiksystem, das Texturen in Echtzeit abbilden konnte. In den späten 1970er Jahren produzierte Ikonas Grafiksysteme mit 8-Bit- und 24-Bit-Grafik sowie 3D-Beschleunigung.
Seit den 1970er Jahren sind in Arcade-Systemplatinen spezielle 2D-Grafikschaltungen integriert. In den Anfängen der Videospiel-Hardware machten die hohen RAM-Kosten für Bildpuffer es erforderlich, dass Videochips während des Display-Scanvorgangs auf dem Monitor Daten zusammensetzen.
Eine spezielle Barrel-Shifter-Schaltung erleichterte die Animation der Framebuffer-Grafiken durch die CPU für zahlreiche von Midway und Taito entwickelte Arcade-Videospiele der 1970er Jahre, darunter Gun Fight (1975), Sea Wolf (1976) und Space Invaders (1978). 1979 integrierte das Arcade-System Namco Galaxian spezielle Grafikhardware, die RGB-Farben, mehrfarbige Sprites und Tilemap-Hintergründe unterstützte. Die Galaxian-Hardware erlangte im goldenen Zeitalter der Arcade-Videospiele weite Verbreitung und wurde von namhaften Unternehmen wie Namco, Centuri, Gremlin, Irem, Konami, Midway, Nichibutsu, Sega und Taito eingesetzt.
1977 nutzte die Atari 2600-Konsole einen Video-Shifter namens Television Interface Adaptor. Anschließend enthielten die 1979 eingeführten Atari 8-Bit-Computer ANTIC, einen speziellen Videoprozessor. ANTIC interpretierte eine „Anzeigeliste“, die definierte, wie Scanlinien bestimmten Bitmap- oder Zeichenmodi zugeordnet wurden, und verwaltete den Speicher, wodurch die Notwendigkeit eines zusammenhängenden Bildpuffers entfällt. Darüber hinaus ermöglichte dieser Prozessor die Ausführung von 6502-Maschinencode-Unterprogrammen auf bestimmten Scanzeilen durch die Aktivierung eines bestimmten Bits innerhalb einer Anzeigelistenanweisung. ANTIC ermöglichte außerdem unabhängiges vertikales und horizontales Scrollen, ohne dass die zentrale Verarbeitungseinheit belastet wurde.
Die 1980er Jahre
Die 1980er Jahre waren geprägt von erheblichen Fortschritten bei der professionellen 3D-Grafikhardware. Eine besonders entscheidende Entwicklung war die Entwicklung der Geometry Engine im Jahr 1981, einem anwendungsspezifischen integrierten Schaltkreis (ASIC) mit Vektorprozessor „Very Large Scale Integration“ (VLSI), der von Jim Clark und Marc Hannah an der Stanford University konzipiert wurde. Dieser Prozessor gilt als Vorläufer moderner Tensorkerne und analoger Prozessoren, die in Grafik- und künstlichen Intelligenzanwendungen eingesetzt werden. Anschließend wurde die Geometry Engine für einen längeren Zeitraum in Silicon Graphics-Workstations integriert. Das erste Produkt von Silicon Graphics, das IRIS 1000-Terminal, wurde im November 1983 ausgeliefert und verfügte über hardwarebeschleunigte 3D-Grafiken, die von der Geometry Engine unterstützt wurden. Dieser innovative Prozessor zeigte eine Verarbeitungskapazität von etwa 6 Millionen Operationen pro Sekunde.
Der NEC μPD7220 war die erste Implementierung eines Grafikprozessors für Personalcomputer als einzelner integrierter LSI-Chip (Large-Scale Integration). Diese Innovation erleichterte die Entwicklung kostengünstiger, leistungsstarker Grafikkarten, wie beispielsweise die von Number Nine Visual Technology. Bis Mitte der 1980er Jahre erlangte es als bekannteste Grafikprozessoreinheit (GPU) Bekanntheit. Als erster vollständig integrierter Very Large-Scale Integration (VLSI)-Metalloxid-Halbleiter-Grafikprozessor (NMOS) für Personalcomputer unterstützte er Auflösungen bis zu 1024×1024 und legte den Grundstein für den PC-Grafikmarkt. Der μPD7220 wurde in zahlreiche Grafikkarten eingebaut und anschließend für kompatible Designs lizenziert, darunter den Intel 82720, der Intels ersten Vorstoß in die Grafikverarbeitungseinheiten markierte. Gleichzeitig verfügten die Arcade-Spiele von Williams Electronics aus dem Jahr 1982, Robotron: 2084, Joust, Sinistar und Bubbles, jeweils über benutzerdefinierte Blitter-Chips, die für die Bearbeitung von 16-Farben-Bitmaps entwickelt wurden.
1984 stellte Hitachi den ARTC HD63484 vor, der zum ersten bedeutenden Komplementär wurde Metalloxid-Halbleiter-Grafikprozessor (CMOS) für Personalcomputer. Der ARTC konnte im Monochrom-Modus Auflösungen von bis zu 4K wiedergeben. Es wurde in den späten 1980er Jahren in verschiedenen Grafikkarten und Terminals weit verbreitet.
Der 1985 eingeführte Amiga debütierte mit einem proprietären Grafikchip namens Agnus. Dieser Chip enthielt einen Blitter, der die Bearbeitung von Bitmaps, das Zeichnen von Linien und das Füllen von Flächen erleichterte. Darüber hinaus verfügte Agnus über einen Coprozessor, der mit einem eigenen, optimierten Befehlssatz ausgestattet war. Dieser Coprozessor war in der Lage, Grafik-Hardwareregister mit dem Videostrahl synchronisiert zu manipulieren und so Funktionen wie Palettenwechsel pro Scanzeile, Sprite-Multiplexing und Hardware-Fensterung zu ermöglichen, oder er konnte den Blitter direkt steuern.
Ebenfalls 1985 stellte IBM den Professional Graphics Controller vor, eine grundlegende 3D-Grafikkarte. Es bot eine Auflösung von 640 × 480 mit 256-Farben-Grafiken und nutzte eine dedizierte CPU, um Grafiken autonom vom Hauptsystem zu rendern. Dieser Controller diente als architektonische Grundlage für Karten verschiedener Hersteller, darunter Matrox, und seine analoge RGB-Signalisierung hatte direkten Einfluss auf die Entwicklung des VGA-Videostandards.
1986 stellte Texas Instruments den TMS34010 vor, der sich als erster vollständig programmierbarer Grafikprozessor hervortat. Dieser Prozessor verfügte über die Fähigkeit, Allzweckcode auszuführen und verfügte gleichzeitig über einen speziellen grafikorientierten Befehlssatz. Von 1990 bis 1992 bildete dieser Chip anschließend den Kern der Windows-Beschleunigerkarten mit Texas Instruments Graphics Architecture („TIGA“).
Anschließend stellte IBM 1987 das Grafiksystem 8514 vor. Dieses System zeichnete sich als eine der ersten Grafikkarten für IBM-PC-kompatible Geräte aus, die 2D-Primitive mit fester Funktion direkt in elektronische Hardware implementierten. Ebenfalls im Jahr 1987 enthielt der X68000-Computer von Sharp einen benutzerdefinierten Grafikchipsatz, der eine 65.536-Farben-Palette und Hardwarebeschleunigung für Sprites, Scrollen und mehrere Spielfelder bot. Diese Maschine diente insbesondere als Entwicklungsplattform für das Arcade-Board CP System von Capcom. Zwei Jahre später, 1989, unterstützte der FM Towns-Computer von Fujitsu eine Farbpalette mit 16.777.216 Farben.
Im Jahr 1987 stellte IBM sein VGA-Anzeigesystem (Video Graphics Array) vor, das eine maximale Auflösung von 640 × 480 Pixel unterstützte. Im Gegensatz zum 8514/A fehlten VGA-Funktionen zur Hardwarebeschleunigung. Im November 1988 gründete NEC Home Electronics die Video Electronics Standards Association (VESA), um Super VGA (SVGA) als Nachfolgestandard für die Computeranzeige von VGA zu entwickeln und zu fördern. Super VGA unterstützte Bildschirmauflösungen von bis zu 800 × 600 Pixeln, was einer Verbesserung der Auflösung um 56 % entspricht.
Im Jahr 1988 brachte SGI IRIS-Workstation-Grafiksysteme auf den Markt, die mit 10 bis 12 Geometry Engines ausgestattet waren, und brachte anschließend das IrisVision-Add-in-Board, ebenfalls basierend auf der Geometry Engine, für IBM auf den Markt MicroChannel-Bus (RS/6000)-Systeme.
Gleichzeitig im Jahr 1988 kamen das Namco System 21 und das Taito Air System auf den Markt und stellten die ersten speziellen polygonalen 3D-Grafikkarten in Arcade-Automaten vor.
Die 1990er Jahre
In den 1990er Jahren kam es zu erheblichen Fortschritten bei der 3D-Grafikhardware für professionelle Workstations von Sun Microsystems, SGI und anderen Herstellern. Die Einführung von OpenGL durch SGI im Jahr 1992 legte den Grundstein für standardisierte, hardwareunabhängige 3D-Programmierschnittstellen. Dennoch geriet Mitte bis Ende der 1990er Jahre professionelle Hardware zunehmend in den Schatten von Konsumgütern. Diese Verbraucherangebote boten eine vergleichbare oder überlegene Leistung, insbesondere im Hinblick auf die Texturzuordnung, zu reduzierten Kosten und auf Plattformen, die für Endbenutzer besser zugänglich sind.
Im Jahr 1991 stellte S3 Graphics den S3 86C911 vor, den seine Designer nach dem Porsche 911 benannten, um auf die erwarteten Leistungssteigerungen hinzuweisen. Der 86C911 inspirierte zahlreiche Nachahmungen; Bis 1995 hatten alle namhaften Hersteller von PC-Grafikchips 2D-Beschleunigungsfunktionen in ihre Produkte integriert. Dedizierte Windows-Beschleuniger mit fester Funktion übertrafen in der Folge kostspielige Allzweck-Grafik-Coprozessoren in Windows-Umgebungen, was dazu führte, dass letztere auf dem PC-Markt veraltet waren.
Während der frühen bis mittleren 1990er Jahre löste die Verbreitung von Echtzeit-3D-Grafiken in Arcade-, Computer- und Konsolenspielen eine wachsende Verbrauchernachfrage nach hardwarebeschleunigten 3D-Grafiklösungen aus. Bahnbrechende Beispiele für 3D-Grafikhardware für den Massenmarkt entstanden in Arcade-Systemplatinen, darunter Sega Model 1, Namco System 22 und Sega Model 2, sowie in Videospielkonsolen der fünften Generation wie Saturn, PlayStation und Nintendo 64. Insbesondere Arcade-Systeme wie das Sega Model 2 und der 1993 eingeführte SGI Onyx-basierte Namco Magic Edge Hornet Simulator verfügten über hardwarebeschleunigtes T&L (Transform, (Clipping- und Beleuchtungsfunktionen) bereits Jahre vor ihrer Integration in Consumer-Grafikkarten. Eine weitere frühe Innovation war der Super FX-Chip, ein RISC-basierter Grafikprozessor, der in SNES-Spielekassetten integriert ist und vor allem in Titeln wie Doom und Star Fox zum Einsatz kommt. Bestimmte Systeme verwendeten digitale Signalprozessoren (DSPs), um Transformationen zu beschleunigen. Fujitsu, ein Mitwirkender am Arcade-System Sega Model 2, begann 1995 mit der Integration von T&L in eine monolithische LSI-Lösung (Large-Scale Integration) für Personalcomputer. Dieses Unterfangen gipfelte im Fujitsu Pinolite, dem ersten 3D-Geometrieprozessor für Personalcomputer, der 1997 vorgestellt wurde. Der Reality Coprozessor des Nintendo 64, der 1996 auf den Markt kam, war die erste Hardware-T&L-GPU für Heimvideospielkonsolen. Anschließend stellte Mitsubishi 1997 die 3Dpro/2MP vor, eine GPU, die Transformations- und Beleuchtungsfunktionen für Workstations und Windows NT-Desktops bietet. ATi hat diese Technologie in seine FireGL 4000-Grafikkarte integriert, die ebenfalls 1997 auf den Markt kam.
Das Akronym „GPU“ stammt von Sony und bezieht sich speziell auf die 32-Bit-Sony-GPU (entwickelt von Toshiba), die in die PlayStation-Videospielkonsole integriert ist, die 1994 auf den Markt kam.
Die 2000er
Im Oktober 2002 ermöglichte die Einführung der ATI Radeon 9700 (auch als R300 bezeichnet), die als weltweit erster Direct3D 9.0-Beschleuniger gilt, Pixel- und Vertex-Shadern die Durchführung iterativer und umfangreicher Gleitkommaberechnungen. Diese Shader erreichten schnell die Flexibilität von CPUs und boten gleichzeitig eine um Größenordnungen höhere Geschwindigkeit für die Bild-Array-Verarbeitung. Pixelschattierung wird häufig für Bump-Mapping verwendet, eine Technik, die Textur anwendet, um Objekte mit unterschiedlichem Erscheinungsbild, wie glänzenden, matten, rauen, abgerundeten oder extrudierten Oberflächen, darzustellen.
Mit der Einführung der Nvidia GeForce 8-Serie und neuartigen generischen Stream-Processing-Einheiten entwickelten sich Grafikprozessoren (GPUs) zu allgemeineren Computergeräten. Parallele GPUs haben Zentraleinheiten (CPUs) bei Rechenaufgaben zunehmend herausgefordert und einen speziellen Forschungsbereich namens GPU Computing oder GPGPU gefördert, ein Akronym für General Purpose Computing on GPU. Dieses Gebiet hat vielfältige Anwendungen hervorgebracht, darunter maschinelles Lernen, Ölexploration, wissenschaftliche Bildverarbeitung, lineare Algebra, Statistik, 3D-Rekonstruktion und die Preisgestaltung von Aktienoptionen. GPGPUs dienten als grundlegende Vorläufer moderner Computer-Shader (z. B. CUDA, OpenCL, DirectCompute) und nutzten zunächst Hardware auf unkonventionelle Weise, indem sie algorithmische Daten als Texturkarten interpretierten und Algorithmen durch das Rendern eines Dreiecks oder Quads mit einem geeigneten Pixel-Shader ausführten. Dieser Ansatz führte zwangsläufig zu betrieblichem Overhead, da Komponenten wie der Scan-Konverter unnötig in Anspruch genommen wurden und Dreiecksmanipulationen außer dem alleinigen Zweck des Aufrufs des Pixel-Shaders irrelevant waren.
Die CUDA-Plattform von Nvidia, die 2007 eingeführt wurde, stellte das erste weit verbreitete Programmierparadigma für GPU-Computing dar. Im Gegensatz dazu erleichtert OpenCL, ein von der Khronos Group etablierter offener Standard, die Entwicklung von Code, der sowohl mit GPUs als auch mit CPUs kompatibel ist, wobei die plattformübergreifende Portabilität im Vordergrund steht. OpenCL-Implementierungen werden von wichtigen Branchenakteuren unterstützt, darunter Intel, AMD, Nvidia und ARM; Ein Bericht von Evans Data aus dem Jahr 2011 ergab, dass OpenCL zum zweithäufigsten Werkzeug im Hochleistungsrechnen (HPC) geworden ist.
2010er
Im Jahr 2010 arbeitete Nvidia mit Audi zusammen, um Tegra-GPUs in Fahrzeug-Armaturenbretter zu integrieren und so die Funktionalität von Navigations- und Unterhaltungssystemen für Kraftfahrzeuge zu verbessern. Gleichzeitig trugen Fortschritte in der GPU-Technologie im Automobilsektor erheblich zur Weiterentwicklung der Fähigkeiten zum autonomen Fahren bei. AMD stellte seine Grafikkarten der Radeon HD 6000-Serie im Jahr 2010 vor, gefolgt von der Veröffentlichung der diskreten GPUs der 6000M-Serie für mobile Plattformen im Jahr 2011. Die 2012 eingeführte Kepler-Grafikkartenreihe von Nvidia wurde in die Nvidia 600- und 700-Serien integriert. Zu den bemerkenswerten Merkmalen der Kepler-GPU-Mikroarchitektur gehörten GPU Boost, eine Technologie zur dynamischen Anpassung der Taktrate einer Grafikkarte basierend auf ihrem Stromverbrauch, und NVENC, eine dedizierte Technologie zur Beschleunigung der Videokodierung.
Im Jahr 2013 wurden die Konsolen PlayStation 4 und Xbox One veröffentlicht, die beide GPUs enthalten, die von AMDs Radeon HD 7850- und 7790-Architekturen abgeleitet sind. Nvidias Kepler-GPU-Serie wurde durch die Maxwell-Reihe abgelöst, die den identischen Herstellungsprozess nutzte. Die 28-nm-Chips von Nvidia wurden von TSMC in Taiwan im 28-nm-Verfahren hergestellt, das im Vergleich zur früheren 40-nm-Technologie eine Leistungssteigerung von 20 Prozent bei gleichzeitig geringerem Stromverbrauch ermöglichte. Virtual-Reality-Headsets erforderten bei ihrer ersten Veröffentlichung umfangreiche Systemspezifikationen, wobei die Hersteller GPUs wie die GTX 970 oder R9 290X oder höherwertige Modelle empfahlen. Grafikkarten, die auf der Pascal-Mikroarchitektur basieren, wurden 2016 eingeführt, darunter die GeForce 10-Serie. Diese Karten wurden in einem 16-nm-Herstellungsprozess hergestellt, was eine deutliche Verbesserung gegenüber früheren Mikroarchitekturen darstellt.
Im Jahr 2018 stellte Nvidia die GPUs der RTX 20-Serie vor, die dedizierte Raytracing-Kerne integriert hatten und Echtzeit-Raytracing-Funktionen auf Consumer-Hardware ermöglichten. Gleichzeitig wurden die GPUs Polaris 11 und Polaris 10 von AMD im 14-nm-Verfahren hergestellt, was zu einer deutlichen Verbesserung der Leistung pro Watt bei AMD-Grafikkarten führte. AMD brachte außerdem die Vega-GPU-Serie auf den Markt, die als direkter Konkurrent zu Nvidias High-End-Pascal-Karten auf den High-End-Markt abzielt und insbesondere mit High Bandwidth Memory 2 (HBM2) ausgestattet ist, ähnlich der Titan V.
Im Jahr 2019 führte AMD RDNA ein, den Nachfolger seiner Graphics Core Next (GCN)-Mikroarchitektur und seines Befehlssatzes, wobei die Grafikkartenserie Radeon RX 5000 die erste war Produkte, um es zu präsentieren. Anschließend gab das Unternehmen bekannt, dass die nächste Iteration der RDNA-Mikroarchitektur eine schrittweise „Aktualisierung“ darstellen würde. AMD stellte später die Radeon RX 6000-Serie vor, die die RDNA 2-Grafikarchitektur enthielt und Hardware-beschleunigtes Raytracing unterstützte. Zu dieser Ende 2020 eingeführten Produktserie gehörten der RX 6800, der RX 6800 XT und der RX 6900 XT. Die RX 6700 XT, die auf der Navi 22-Architektur basiert, wurde Anfang 2021 veröffentlicht.
Die PlayStation 5, Xbox Series
2020er
In den 2020er Jahren wurden Grafikprozessoren (GPUs) zunehmend für Berechnungen mit hochgradig parallelisierbaren Problemen eingesetzt, insbesondere für das Training neuronaler Netze anhand umfangreicher Datensätze, die für große Sprachmodelle mit künstlicher Intelligenz unerlässlich sind. Die meisten modernen GPUs verfügen über spezielle Prozessorkerne, die für Deep Learning entwickelt wurden und die FLOPS-Leistung durch 4×4-Matrixmultiplikations- und Divisionsoperationen erheblich verbessern. Erste Implementierungen, am Beispiel der 2017 eingeführten Volta-Mikroarchitektur von Nvidia, zeigten Leistungsniveaus von bis zu 128 TFLOPS in bestimmten Anwendungen.
Anschließend wurden KI-Beschleunigungskerne zu einem vorherrschenden Merkmal in Verbraucher- und Workstation-Mikroarchitekturen, beginnend mit der Turing-Mikroarchitektur von Nvidia im Jahr 2018, wo sie als Tensorkerne bezeichnet wurden. Diese Kerne wurden ursprünglich für Deep Learning Super Sampling (DLSS) eingesetzt, um die Spieleleistung zu steigern und die Bildtreue zu verbessern. Seitdem wurden sie in die Broadcast-Software von Nvidia integriert und ermöglichen verschiedene KI-gesteuerte Funktionen wie Sprachfilterung und Videorauschunterdrückung.
AMD integrierte anschließend seine analogen „Matrix“-Kerne in seine RDNA-3-Architektur für Verbraucherprodukte, während Intel seine entsprechenden „XMX“-Kerne in alle Arc-GPUs einbaute, beginnend mit der Alchemist-Mikroarchitektur.
GPU-Hersteller
Zahlreiche Unternehmen haben GPUs entwickelt, die unter verschiedenen Markennamen vermarktet werden. Im Jahr 2009 waren Intel, Nvidia und AMD/ATI die wichtigsten Marktführer und hielten Marktanteile von 49,4 %, 27,8 % bzw. 20,6 %. Matrox stellt auch GPUs her. Darüber hinaus haben chinesische Firmen, darunter Jingjia Micro, GPUs hauptsächlich für ihren Heimatmarkt produziert, obwohl ihr weltweites Verkaufsvolumen deutlich unter dem der etablierten Marktführer liegt.
Rechenfunktionen
Die Leistung einer Grafikkarte beim Echtzeit-Rendering wird von mehreren architektonischen Faktoren beeinflusst, darunter den Abmessungen der Anschlusswege bei der Herstellung von Halbleiterbauelementen, der Taktsignalfrequenz sowie der Menge und Kapazität der integrierten Speicher-Caches. Die Leistung wird zusätzlich durch die Anzahl der Streaming-Multiprozessoren (SMs) in Nvidia-GPUs, Compute Units (CUs) in AMD-GPUs oder Xe-Kernen in Intel Xe-basierten GPUs bestimmt. Diese Einheiten stellen die On-Silicon-Prozessorkerne innerhalb des GPU-Chips dar, die primäre Berechnungen ausführen und oft parallel mit anderen SMs oder CUs arbeiten. Die GPU-Leistung wird herkömmlicherweise in Gleitkommaoperationen pro Sekunde (FLOPS) quantifiziert. GPUs, die in den 2010er und 2020er Jahren entwickelt wurden, erreichen typischerweise Leistungsniveaus, die in Teraflops (TFLOPS) gemessen werden. Es ist wichtig zu beachten, dass diese Metrik eine geschätzte Leistung liefert, da verschiedene andere Elemente die tatsächliche Anzeigerate beeinflussen können.
2D-Grafik-Anwendungsprogrammierschnittstellen
Alte GPUs unterstützten oft eine oder mehrere 2D-Grafik-APIs (Application Programming Interfaces) für die 2D-Beschleunigung, einschließlich GDI und DirectDraw.
GPU-Konfigurationen
Terminologie
In den 1970er Jahren bezeichnete das Akronym „GPU“ zunächst eine Grafikprozessoreinheit und bezeichnete eine programmierbare Verarbeitungskomponente, die autonom von der Zentraleinheit (CPU) arbeitete und sich der Grafikmanipulation und -ausgabe widmete. Im Jahr 1994 verwendete Sony den Begriff (mit der Bedeutung Grafikprozessor), wenn er sich auf die von Toshiba entwickelte Sony-GPU in der PlayStation-Konsole bezog. Nvidia machte den Begriff 1999 populär und vermarktete seine GeForce 256 als „die weltweit erste GPU“, die als „Einzelchip-Prozessor mit integrierten Transformations-, Beleuchtungs-, Dreiecks-Setup/Clipping- und Rendering-Engines“ präsentiert wurde. Als Reaktion darauf führte der Konkurrent ATI Technologies mit der Veröffentlichung seiner Radeon 9700 im Jahr 2002 die Bezeichnung „Visual Processing Unit“ (VPU) ein. In jüngerer Zeit enthält der 2023 auf den Markt gebrachte AMD Alveo MA35D zwei VPUs, die jeweils im 5-nm-Prozess hergestellt werden.
In Personal-Computing-Systemen manifestieren sich GPUs hauptsächlich in zwei Konfigurationen: dedizierte Grafiken (auch als diskrete Grafiken bekannt) und integrierte Grafiken (alternativ auch als Shared Graphics Solutions, Integrated Graphics Processors (IGPs) oder Unified Memory Architecture (UMA) bezeichnet).
Dedizierte Grafikverarbeitungseinheit
Dedizierte Grafikprozessoreinheiten nutzen Random Access Memory (RAM), das ausschließlich der GPU zugewiesen ist und somit nicht vom Hauptsystemspeicher des Computers abhängig ist. Dieser spezielle RAM, wie etwa GDDR SDRAM, wird normalerweise ausgewählt, um die erwartete sequentielle Arbeitslast der Grafikkarte zu bewältigen. Historisch gesehen wurden Systeme, die mit dedizierten diskreten GPUs ausgestattet waren, oft als „DIS“-Systeme bezeichnet, im Gegensatz zu „UMA“-Systemen (Unified Memory Architecture).
Technologien wie Scan-Line Interleave von 3dfx, Scalable Link Interface (SLI) und NVLink von Nvidia sowie CrossFire von AMD ermöglichen es mehreren GPUs, Bilder gleichzeitig für eine einzige Anzeige zu rendern, wodurch die Rechenkapazität für die Grafikverarbeitung erhöht wird. Dennoch nimmt die Verbreitung dieser Multi-GPU-Konfigurationen ab, vor allem weil die meisten modernen Spiele ihre Fähigkeiten nicht voll ausschöpfen und die damit verbundenen Kosten für die Mehrheit der Verbraucher unerschwinglich sind. Trotz dieses Rückgangs bei der Verbraucherakzeptanz bleiben Multi-GPU-Setups in speziellen Bereichen wie Supercomputing (z. B. Summit), professionellen Workstations zur Beschleunigung der Videoverarbeitung und 3D-Rendering, der Produktion von visuellen Effekten (VFX), Workloads für allgemeine Grafikverarbeitungseinheiten (GPGPU), wissenschaftlichen Simulationen und Schulungen für künstliche Intelligenz (KI) weiterhin integraler Bestandteil, beispielhaft dargestellt durch Nvidias DGX-Workstations und -Server, Tesla-GPUs und Intels Ponte Vecchio GPUs.
Integrierte Grafikverarbeitungseinheiten
Integrierte Grafikverarbeitungseinheiten (IGPU), auch integrierte Grafik, gemeinsame Grafiklösungen, integrierte Grafikprozessoren (IGP) oder Unified Memory Architecture (UMA) genannt, nutzen ein Segment des Hauptsystem-Random-Access-Speichers (RAM) des Computers, anstatt dedizierten Grafikspeicher zu verwenden. Diese integrierten Grafikprozessoren können direkt auf einer Hauptplatine eingebettet werden, häufig als Komponente des Northbridge-Chipsatzes, oder auf demselben integrierten Schaltkreischip wie die Zentraleinheit (CPU) untergebracht werden, wie beispielsweise die Accelerated Processing Units (APUs) von AMD und Intel HD Graphics. Darüber hinaus ermöglichen bestimmte Motherboard-Designs den IGPs von AMD den Zugriff auf dedizierten Sideport-Speicher, der einen separaten, leistungsstarken Speicherblock darstellt, der ausschließlich für GPU-Operationen reserviert ist. Anfang 2007 machten Systeme mit integrierter Grafik etwa 90 % aller ausgelieferten PCs aus. Obwohl sie im Vergleich zu diskreten Grafiklösungen eine kostengünstigere Implementierung bieten, weisen sie im Allgemeinen eine geringere Leistungsfähigkeit auf. In der Vergangenheit galten integrierte Grafiklösungen als ungeeignet für anspruchsvolle 3D-Spiele oder grafikintensive Anwendungen, obwohl sie weniger anspruchsvolle Programme wie Adobe Flash ausreichend unterstützten. Anschauliche Beispiele aus dieser Zeit sind Angebote von SiS und VIA um das Jahr 2004. Dennoch sind moderne integrierte Grafikprozessoren, darunter die Accelerated Processing Units von AMD und die Intel Graphics Technology-Varianten (z. B. HD, UHD, Iris, Iris Pro, Iris Plus und Aufgrund ihres minimalen oder fehlenden dedizierten Videospeichers kämpfen sie oft mit der Zentraleinheit (CPU) um den Zugriff auf den vergleichsweise langsameren System-RAM. Während IGPs normalerweise Systemspeicher mit einer Bandbreite von etwa 128 Gigabyte pro Sekunde nutzen, kann eine separate Grafikkarte zwischen ihrem Video-Random-Access-Speicher (VRAM) und dem GPU-Kern Bandbreiten von mehr als 1000 Gigabyte pro Sekunde erreichen. Solche Unterschiede in der Speicherbusbandbreite können die GPU-Leistung erheblich einschränken, obwohl die Implementierung von Mehrkanal-Speicherkonfigurationen diese Einschränkung teilweise mildern kann. In der Vergangenheit verfügten integrierte Grafikchipsätze nicht über Hardware-Umwandlungs- und Beleuchtungsfunktionen. moderne Iterationen enthalten diese Funktionen jedoch jetzt.
In Systemen, die eine Unified Memory Architecture (UMA) verwenden, wie z. B. moderne AMD- und Intel-Prozessoren mit integrierter Grafik, Apple-Prozessoren und Konsolen wie die PlayStation 5 und Xbox Series, blockieren die Kerne der Zentraleinheit (CPU) und die Grafikeinheit (GPU) den Zugriff auf einen gemeinsamen Pool von Arbeitsspeicher (RAM) und einen einheitlichen Speicheradressraum.
Stream Processing und General-Purpose Graphics Processing Units (GPGPU)
Die Verwendung einer Allzweck-Grafikverarbeitungseinheit (GPGPU) als angepasster Stream- oder Vektorprozessor, der Rechenkerne ausführt, ist zu einer weit verbreiteten Praxis geworden. Diese Methodik wandelt die umfangreichen Rechenkapazitäten, die der Shader-Pipeline eines modernen Grafikbeschleunigers innewohnen, effektiv in eine vielseitige Ressource für die allgemeine Datenverarbeitung um. Für spezielle Anwendungen, die umfangreiche Vektoroperationen erfordern, kann dieser Ansatz Leistungssteigerungen liefern, die um mehrere Größenordnungen höher sind als die, die mit einer herkömmlichen Zentraleinheit (CPU) erreichbar sind. Sowohl AMD als auch Nvidia, die führenden Entwickler diskreter GPUs, treiben dieses Paradigma in einer Vielzahl von Anwendungen aktiv voran. Insbesondere haben Nvidia und AMD mit der Stanford University zusammengearbeitet, um einen GPU-beschleunigten Client für das verteilte Computerprojekt Folding@home zu entwickeln, das sich der Proteinfaltungssimulation widmet. Unter bestimmten Bedingungen kann die GPU Berechnungen bis zu vierzigmal schneller durchführen als die bisher für diese Art von Anwendungen eingesetzten CPUs.
GPU-beschleunigte Hochleistungsrechnersysteme tragen maßgeblich dazu bei, groß angelegte Computermodelle zu ermöglichen. Derzeit nutzen drei der zehn leistungsstärksten Supercomputer der Welt die GPU-Beschleunigung, um ihre Rechenleistung zu entfalten.
Seit 2005 besteht ein erhebliches Interesse daran, die Rechenkapazitäten von GPUs für allgemeine Evolutionsberechnungen zu nutzen, insbesondere für die Beschleunigung der Fitnessbewertung innerhalb der genetischen Programmierung. Die vorherrschenden Methoden umfassen das Kompilieren linearer oder baumbasierter Programme auf einem Host-PC und die anschließende Übertragung des ausführbaren Codes zur Ausführung auf die GPU. Leistungssteigerungen werden typischerweise durch die gleichzeitige Ausführung eines einzelnen aktiven Programms über zahlreiche parallele Probleminstanzen hinweg erzielt, wobei die Single Instruction, Multiple Data (SIMD)-Architektur der GPU ausgenutzt wird. Darüber hinaus lässt sich eine erhebliche Beschleunigung erzielen, indem man auf die Programmkompilierung verzichtet und die Programme stattdessen direkt zur Interpretation auf die GPU überträgt.
Externe GPU (eGPU)
Eine GPU kann über einen externen Bus mit einem Notebook verbunden werden, wobei PCI Express der ausschließlich für diese Anwendung verwendete Standard ist. Zu den verfügbaren Porttypen gehören unter anderem ExpressCard oder mPCIe (PCIe ×1 mit bis zu 5 bzw. 2,5 Gigabit pro Sekunde), Thunderbolt 1, 2 oder 3 (PCIe ×4 mit bis zu 10, 20 bzw. 40 Gigabit pro Sekunde), USB4 mit Thunderbolt-Kompatibilität oder OCuLink. Die Verfügbarkeit dieser Ports hängt von bestimmten Notebook-Systemkonfigurationen ab. Externe GPU-Gehäuse erfordern ein unabhängiges Netzteil (PSU), da Hochleistungs-GPUs einen erheblichen Stromverbrauch von möglicherweise Hunderten von Watt haben.
Energieeffizienz
Verkäufe
Die weltweiten GPU-Lieferungen erreichten 2013 438,3 Millionen Einheiten, mit einem prognostizierten Rückgang auf 414,2 Millionen für 2014. Dennoch waren die PC-GPU-Lieferungen bis zum dritten Quartal 2022 auf etwa 75,5 Millionen Einheiten zurückgegangen, was einem Rückgang von 19 % gegenüber dem Vorjahr entspricht.
Hardware
Hardware
- Liste der AMD-Grafikprozessoren
- Liste der Nvidia-Grafikprozessoren
- Liste der Intel-Grafikprozessoren
- Liste der diskreten und integrierten Grafikverarbeitungseinheiten
- Intel GMA
- Larrabee
- Nvidia PureVideo ist eine von Nvidia entwickelte Bitstream-Technologie, die in ihre Grafikchips integriert ist, um die hardwarebeschleunigte Videodekodierung auf GPUs mit DXVA zu ermöglichen.
- SoC
- UVD (Unified Video Decoder) steht für die Bitstream-Videodekodierungstechnologie von ATI, die eine hardwarebeschleunigte GPU-Dekodierung über DXVA ermöglicht.
APIs
Anwendungen
- GPU-Cluster
- Mathematica bietet native Unterstützung für die GPU-Ausführung über CUDA- und OpenCL-Frameworks.
- Molekulare Modellierung auf GPU
- Deeplearning4j ist ein Open-Source-Framework für verteiltes Deep Learning, das speziell für Java-Umgebungen entwickelt wurde.
Personen
- Liste der Namensgeber der Nvidia GPU-Mikroarchitekturen
Referenzen
Quellen
- Peddie, Jon (1. Januar 2023). Die Geschichte der GPU – Neue Entwicklungen. Springer Natur. ISBN 978-3-03-114047-1. OCLC 1356877844.