Seite 3: Hybrid Rendering Pipeline und RTX IO

Mit der Turing-Architektur und der Möglichkeit, ein Raytracing per RT Cores und ein AI-Upscaling mittels DLSS bzw. der Tensor Cores anzuwenden, sprach NVIDIA erstmals über die Hybrid Rendering Pipeline. Dies beschreibt den Umstand, dass neben einem klassischen Shader-Rendering, ein Raytracing angewendet wird und noch ein DLSS hinzukommt.

Für ein Frame in Wolfenstein Youngblood nimmt NVIDIA für eine Turing-GPU ein Renderzeit von 51 ms an. Dies beinhaltet auch die Raytracing-Berechnungen auf den Shadereinheiten durchzuführen. Wird das Raytracing auf die RT Cores ausgelagert, reduziert sich die Renderzeit auf 19 ms. Kommt nun auch noch ein AI-Upscaling hinzu, kann die Renderzeit sogar auf 13 ms reduziert werden.

Für eine Ampere-GPU mit einer höheren Shaderleistung reduziert sich die Renderzeit von 13 ms ausgehend auf 7,5 ms. Dies liegt vor allem an der höheren Shaderleistung. Aber auch die Raytracing- und DLSS-Berechnungen werden schneller, was einen Einfluss auf die Reduzierung hat. Für Ampere wendet NVIDIA nun noch einen weiteren Trick an und kann die DLSS-Berechnungen bereits vor dem finalen Rendering ausführen. Dabei spielt ein temporales Feedback eine Rolle – es werden also die vorherigen Frames mit in die Berechnung einbezogen, was man in DLSS 2.0 schon für die Verbesserung der Bildqualität getan hat. Mit Ampere nutzt man dies auch für eine Reduzierung der Renderzeit.

RTX IO

NVIDIA RTX IO arbeitet mit Microsofts kommender DirectStorage-API zusammen, die ab 2021 von Spielen unterstützt werden wird. Dabei handelt es sich um eine Speicherarchitektur der nächsten Generation, die speziell für Gaming-PCs mit NVMe-SSDs ausgelegt wurde. DirectStorage-API bzw. RTX IO sind optimierte und parallelisierte APIs, die speziell auf Spiele zugeschnitten wurden, was eine drastische Reduzierung des IO-Overhead bedeuten soll.

Ein Grund für die Notwendigkeit einer schnelleren IO-Schnittstelle sind Spiele, die immer größer werden und deren Assets auch an Komplexität zugenommen haben.

Klassischerweise werden die Spieldaten von einer SSD/HDD gelesen und per SATA oder PCI-Express an den Prozessor übertragen. Bei schnellen PCIe-4.0-SSDs sprechen wir hier von bis zu 7 GB/s. Der Prozessor verschiebt die Daten in den Arbeitsspeicher, von dort geht es wieder über die CPU und das PCI-Express-Interface zur GPU, welche die Daten dann im Grafikspeicher ablegt. Dies belastet vor allem den Prozessor unnötig und bei 7 GB/s ist ohne weitere Limitierung auch das Ende der Fahnenstange erreicht.

Es gibt auch die Möglichkeit, die Daten komprimiert zum Prozessor zu übertragen. Entpackt werden sie dann im Arbeitsspeicher und unkomprimiert via PCI-Express zur GPU in deren Speicher übertragen. Zwar können hier bis zu 14 GB/s erreicht werden, allerdings sind dann 24 Kerne mit der Dekomprimierung beschäftigt.

RTX IO bzw. DirectStorage ermöglicht die Übertragung der Daten von einer schnellen SSD direkt über das PCI-Express-Interface in die GPU und dort in den Grafikspeicher. Der Prozessor und Arbeitsspeicher wird komplett ausgelassen. Auch hier können 14 GB/s für komprimierte Daten (Kompressionsverhältnis von 2:1) erreicht werden – allerdings ohne dass der Prozessor belastet wird.

Die Dekomprimierung von der GPU erledigt, dass dies einen Einfluss auf die restliche Leistung hätte. Derartige Bedenken räumt NVIDIA selbst für das Arbeiten am PCIe-4.0-Limit aktueller SSDs aus. Sind die Spiele per DirectStorage-API optimiert, werden von der SSD nur die Daten abgerufen, die auch wirklich benötigt werden. Dies soll auch den Grafikspeicher entlasten.

NVIDIA nennt auch gleich einige Leistungsdaten und verwendet dafür die eigene Marbles-Techdemo. Diese benötigt unkomprimiert eine Ladezeit von mehr als 60 s mit einer Festplatte. Mit komprimierten Daten über die CPU sind es etwa 37 s. Kommt eine NVMe-SSD zum Einsatz, beträgt die Ladezeit nur noch 5 s - die Daten müssen aber über den Prozessor entpackt werden und benötigen dazu 24 Kerne unter Volllast. Per RTX IO sollen es nur 1,6 s sein.

Die DirectStorage-API spielt für die Xbox Series X von Microsoft ebenso eine Rolle wie ähnliche Konzepte für die PlayStation 5. Mit RTX IO sollen 14 GB/s von der SSD in den Grafikspeicher übertragen werden können. Zum Vergleich: Sonys PlayStation 5 kommt auf 8 bis 9 GB/s und die Microsoft Xbox Series X auf 4,8 GB/s. Man darf gespannt sein, ob AMD für Big Navi ebenfalls an einer Unterstützung von DirectStorage arbeitet.