ARTIKEL/TESTS / Unified: GeForce 8800 Serie unter der Lupe

Unified Shader-Architektur

Um den Sinn und Zweck der neuen Unified Shader-Architektur besser verstehen zu können, möchten wir vorab nochmals kurz auf den Aufbau der bisherigen, "klassischen" Pipeline eingehen. Die klassische Pipeline setzt sich dabei im Wesentlichen aus vier Teilen zusammen: Vertex, Setup (Grafik: Triangle), Pixel und ROP. Dabei betreten die vom Prozessor gelieferten Daten zuerst die Vertex-Stufe (Vertex-Shader), die primär für die Berechnung von Formveränderungen und Lichteinfalländerungen zuständig ist. Die zweite Stufe berechnet aus den Vertices (Plural von Vertex, dem Eckpunkt eines Polygons) entsprechend primitive Gebilde, wie beispielsweise Linien (Verbindung zwischen zwei Vertices) und Dreiecke (Verbindung zwischen drei Vertices). Diese Primitiven werden anschließend in Fragmente (Fragments) überführt und den durch den Programmierer vorgesehenen Abläufen unterworfen. Dabei ist der Pixel-Shader zum Beispiel für Interpolationen mit Texturen beim Shading zuständig, um möglichst realistische Darstellungen zu ermöglichen. Z-Testing (Sichtbarkeit von Objekten), Framebuffer-Blending (Vermischen mit Pixeln aus dem Framebuffer; Beispiel: Transparenz) oder Anti-Aliasing (Kantenglättung) wird anschließend durch die Stufe ROP (Raster Operations) realisiert. Die so durch die GPU bzw. die Pipelines geführten Daten, die ursprünglich von der CPU geliefert wurden, werden nun in den Grafikspeicher (Framebuffer) geschoben und stehen für die Ausgabe auf dem Monitor bereit.

Die Struktur der klassischen 3D-Pipeline im Überblick.

Das klassische Design sieht also einen festen, sequentiellen Verlauf der Berechnungen vor und gibt zudem auch den Umfang bzw. die Rechenleistung der jeweiligen Stufen (Stages) an. Hier liegt einer der wesentlichen Knackpunkte im Unterschied der beiden Architekturen: Statt des stupiden Durchlaufs der Daten durch die klassischen Pipelines, setzt Nvidia bei Unified Shader auf das mehrfache Hintereinanderschalten so genannter "Stream Prozessoren" (Stream Processors, kurz: SP). Diese SPs taugen dabei für alle Arten der Berechnungen, die Vertex, Setup und Pixel umfassen. Wir schicken also unsere anfallenden Daten von der CPU in die neue G80-GPU und "Loopen" von den Vertex-Berechnungen bis hin zum Pixel-Shader von SP zu SP und übergeben die Daten anschließend der ROP-Stage, um diese abschließend in den Framebuffer zu schreiben. Kurz gesagt werden die Stufen Vertex, Setup und Pixel durch die neuen SPs ersetzt. Diese Floating-Point-Prozessoren sind dabei noch deutlich intelligenter und können zusätzlich auch physikalische Berechnungen (Physics; mehr dazu auf Seite 4) und Geometrie-Daten (Geometry; Teil von DirectX 10, siehe Seite 6) verarbeiten. Daraus ergibt sich schließlich die brandneue Unified-Pipeline, wie sie im folgenden Bild dargestellt ist.

Die Unified-Pipeline soll dem G80 zum Erfolg verhelfen.

Das ganze lässt sich nun auch an einem hübschen Beispiel verdeutlichen, in dem wir eine GPU mit 8 Pixel-Shadern und 4 Vertex-Shadern annehmen. Die folgenden Szenen (Bild links) zeigen eine sehr stark von der Vertex-Leistung abhängige Berechnung und eine Pixel-Shader-lastige Darstellung. Entsprechend ergibt sich jeweils nicht benötigte Hardware, da im Falle von Vertex-Last die Pixel-Shader kaum beansprucht werden und umgekehrt genauso. Insgesamt 12 Shader können also nicht maximal effizient arbeiten, da sie lediglich für eine einzige Art der Berechnung konzipiert und entsprechend optimiert wurden.

Links: Berechnung mithilfe der klassischen 3D-Pipeline.
Rechts: Unified Shader bzw. SPs in Aktion.

Vergleich wir den klassischen Fall mit einer Unified-Pipeline mit ebenfalls 12 Shadern (Bild rechts), können wir hier eine maximale Ausnutzung der zur Verfügung stehenden Resourcen vermelden: Die 12 Shader lassen sich je nach anfallenden Daten in ihrer Ausrichtung anpassen und es kommt nicht zum Leerlauf. Hierfür zuständig ist eine so genannte "Dispatch and Control"-Logik, die den SPs ihre jeweiligen "Aufträge" zuordnet. Dadurch will man nicht nur eine höhere Performance erreichen, sondern auch den Programmierern mehr Freiraum geben, da man künftig nicht mehr zwingend auf ein ausgewogenes Pixel-Vertex-Verhältnis achten muss. Übrigens: Nvidias Ingenieure entwickelten die Unified Shader-Architektur für den G80 seit dem Jahr 2002.

Die Unified Shader-Architektur im Falle der GeForce 8800 GTX im Detail.

Autor: Patrick von Brunn
Sapphire NITRO+ RX 7900 GRE im Test
Sapphire NITRO+ RX 7900 GRE im Test
NITRO+ RX 7900 GRE

Mit der AMD Radeon RX 7900 GRE hat eine bisher als OEM-Variante vertriebene GPU nun den offiziellen Weg in den Handel gefallen. Passend zum Marktstart haben wir uns die Sapphire NITRO+ RX 7900 GRE im Test angesehen.

KFA2 GeForce RTX 4080 SUPER SG im Test
KFA2 GeForce RTX 4080 SUPER SG im Test
KFA2 RTX 4080 SUPER SG

Die GeForce RTX 4080 SUPER SG von KFA2 kommt mit 1-Click OC und einer wuchtigen Kühlung im Quad-Slot-Design inkl. RGB-Beleuchtung. Wir haben uns den Boliden im Praxistest ausführlich zur Brust genommen.

ZOTAC RTX 4070 Ti SUPER Trinity Black Test
ZOTAC RTX 4070 Ti SUPER Trinity Black Test
Trinity Black Edition

ZOTAC bietet mit der Trinity Black Edition ein Custom-Design der GeForce RTX 4070 Ti SUPER an, die erst kürzlich von Nvidia vorgestellt wurde. Wie sich die extravagante Grafikkarte im Test schlägt, lesen Sie hier in unserem Review.

INNO3D RTX 4080 SUPER iCHILL Frostbite
INNO3D RTX 4080 SUPER iCHILL Frostbite
INNO3D RTX 4080 SUPER iCHILL Frostbite

Mit der GeForce RTX 4080 SUPER iCHILL Frostbite von INNO3D haben wir heute ein Custom-Design für Systeme mit Wasserkühlung im Test. Der Hersteller arbeitet zu diesem Zweck mit Alphacool zusammen. Mehr in unserem Review.