NEWS

Tile Based Rasterization als Geheimrezept hinter der Maxwell/Pascal-Architektur enthüllt

Portrait des Authors


Tile Based Rasterization als Geheimrezept hinter der Maxwell/Pascal-Architektur enthüllt
11

Werbung

Ein Trend der vergangenen GPU-Architekturen von AMD und NVIDIA: Zwar stellen die Hersteller der Presse möglichst viele Informationen zu neuen Funktionen zur Verfügung, bei den Details zur Implementation der einzelnen Shadereinheiten werden die Hersteller aber plötzlich recht wortkarg. Der Grund ist ganz einfach, man will dem Konkurrenten keine Hinweise auf die Optimierungen geben und diese werden immer wichtiger, wenn die Effektivität gesteigert werden soll. Dabei spielt der Umstand eine Rolle, dass AMD und NVIDIA lange auf die Fertigung in 28 nm angewiesen waren.

David Kanter von Real World Tech ist ein ausgesprochener GPU-Experte und hat sich genauer angeschaut, welche Änderungen NVIDIA bei der Maxwell- und Pascal-Architektur im Vergleich zur Fermi- oder Kepler-Architektur vorgenommen hat. NVIDIA selbst sprach beim Launch der 1. Maxwell-Generation von einem Leistungsplus von 35 % bei den Shadern, bei Pascal soll sich die Leistung auf den einzelnen Shader bezogen abzüglich der Änderung der Fertigung von 28 auf 16 nm nicht mehr geändert haben. Umso mehr ein Grund sich einmal anzuschauen, welche Änderungen NVIDIA nun vorgenommen hat, um eine solche Steigerung zu erreichen.

Software zur Darstellung der Tile Based Rasterization

Software zur Darstellung der Tile Based Rasterization

Offenbar wendet NVIDIA bei der Maxwell- und Pascal-Architektur das sogenannte Tile Based Rendering bzw. eine Tile Based Rasterization an. Das Tile Based Rendering ist dabei keine neue Erfindung oder eine solche, die sich NVIDIA exklusiv zu Eigen macht. Imagination Technology oder ARM wenden das Tile Based Rendering bei den PowerVR- und Mali-Designs schon seit geraumer Zeit an. Das Gegenkonzept zu Tile Based Rendering ist das Immediate Mode Rendering. Dabei wird der Rasterization-Prozess über den kompletten Frame angewendet, während beim Tile Based Rendering der Frame in viele kleine Tiles, also rechteckige Blöcke aufgeteilt und der Rasterization-Prozess durchgeführt werden kann. Typischerweise sind diese Tiles 16x16 oder 32x32 Pixel groß. Diese Parallelisierung kommt den aktuellen GPUs mit mehreren Tausend Shadern natürlich positiv entgegen. Das Immediate Mode Rendering hingegen ist besonders hinsichtlich des Speicherbedarfs recht aufwendig.

Das Tile Based Rendering ist auch nur ein Subset einer Technik namens TBDR (Tile Based Deferred Renderers). Diese wurde beispielsweise von den 3dfx-Grafikkarten angewendet. 3dfx hatte sich die Technologie von Gigapixel für 150 Millionen US-Dollar zugekauft, die wiederum mit dem GP-1-Chip in den 90zigern für Aufregung sorgten. Jahre später kaufte NVIDIA die Voodoo-Macher 3dfx auf, eine Investition, die sich offensichtlich ausgezahlt hat.

Doch das Tile Based Rendering hat nicht nur Vorteile. Nahezu alle Spiele und weitere Anwendungen sind auf ein Immediate Mode Rendering ausgelegt und dahingehend optimiert. Für die Maxwell- und Pascal-Architektur musste sich NVIDIA daher einige Tricks einfallen lassen, damit das Tile Based Rendering seine Effektivität ausspielen kann. Dazu gehört auch spezieller DirectX-Code, der sich spezifisch an die Triangle-Rasterization richtet. Außerdem belässt das Tile Based Rendering Bereich der Grafik-Pipeline unangetastet. Dazu gehört das Tessellation, Geometry-Setup, Shader und vieles mehr.

Software zur Darstellung der Tile Based Rasterization

Software zur Darstellung der Tile Based Rasterization

Neben NVIDIA verwendet wie gesagt auch Imagination Technology und ARM das Tile Based Rendering. Verwendet wurde und wird es aber auch von Intel bei der Larabee-GPU. Die Microsoft Xbox 360 und Xbox One besitzen 10 bzw. 32 MB eDRAM/eSRAM ein. Dieser eigentlich zu kleine Speicher kann einen kompletten Frame gar nicht fassen. Also wird On-Chip-Speicher (Cache) verwendet, um die Tiles eines Tile Based Rendering zu speichern, was bei Auflösungen von 720p oder 1080p bei 4x MSAA auch notwendig wird.

Einen ähnliche Methode wendet wohl auch NVIDIA an. Speicherbandbreite ist ein wichtiger Faktor bei der Leistung moderner GPUs geworden. Sowohl AMD als auch NVIDIA arbeiten an immer effektiveren Speicherkomprimierungen, doch die beste Einsparung der Speicherbandbreite ist, wenn keine Daten über dieses Interface geschrieben werden muss und genau hier kommt Tile Based Rendering ins Spiel. Da die dazugehörigen Daten in Speichern in der GPU verbleiben müssen, erklärt dies auch den großen Sprung der L2-Caches. Bei der Kepler-Architektur sah NVIDIA 256 kB als ausreichend an, mit Maxwell machte man den Sprung auf 2.048 kB.

Weniger Schreib- und Lesevorgänge im Speicher bedeutet auch eine höhere Effizienz hinsichtlich des Verbrauchs. Als Teil der Optimierungen, die in diesen Bereich für Maxwell und Pascal eingeflossen sind, spielt damit auch das Tile Based Rendering eine Rolle.

Neben der Technologie als solches bleibt interessant, dass NVIDIA mit der Einführung der Maxwell- und Pascal-Architektur keine Details zum Tile Based Rendering veröffentlicht hat. So dauerte es nun auch einige Jahre, bis David Kanter darauf gestoßen. Die zur Analyse verwendete Software ist übrigens auf GitHub zu finden. Das Tile Based Rasterization ist auch nur ein kleiner Teil des Rezeptes, welches die von NVIDIA vorgenommenen Optimierungen in der Architektur aufzeigt. Vieles ist und bleibt im Verborgenen.

Datenschutzhinweis für Youtube



An dieser Stelle möchten wir Ihnen ein Youtube-Video zeigen. Ihre Daten zu schützen, liegt uns aber am Herzen: Youtube setzt durch das Einbinden und Abspielen Cookies auf ihrem Rechner, mit welchen Sie eventuell getracked werden können. Wenn Sie dies zulassen möchten, klicken Sie einfach auf den Play-Button. Das Video wird anschließend geladen und danach abgespielt.

Ihr Hardwareluxx-Team

Youtube Videos ab jetzt direkt anzeigen

Quellen und weitere Links KOMMENTARE (11) VGWort