Scalable Realistic Rendering

Eine Verbesserung und Vereinheitlichung des visuellen Erlebnisses der Menschen auf einer Vielzahl heute verfügbarer Endgeräte käme nicht nur vielen wissenschaftlichen Nutzern, sondern auch Endverbrauchern zu Gute. Das Projekt „Scalable Rendering“ (Skalierbare Bildberechnung) erforscht Wege zur Verbesserung der visuellen Erfahrung der Nutzer, indem zunächst virtuelle Modelle solcher Geräte erstellt werden. Diese Modelle werden anschließend zur Verbesserung der realistischen Bilder, die erzeugt werden, genutzt.

Derzeit existiert eine große Palette an Computern, von tragbaren Geräten über Tablet- und Desktop-PCs bis hin zu Supercomputern, die über Netzwerke zugänglich sind. Diese Plattformen wiederum weisen eine wachsende Vielfalt an parallelen und heterogen Hardwarearchitekturen mit CPU- und GPU-ähnlichen Eigenschaften auf.

Sich diese komplexen Architekturen zunutze zu machen, stellt eine Herausforderung dar – erst recht, wenn optimale Leistung und Bedienbarkeit des Systems gewährleistet werden sollen. Das vorliegende Projekt konstruiert Modelle zur Vorausberechnung der Leistung eines bestimmten Algorithmus‘ auf einem bestimmten System und zur Auswahl des korrekten Rendering-Algorithmus‘ für diese Plattform.
Wir analysieren zudem vorhandene Grafik-Algorithmen, um zu verstehen, wie sie sich in verschiedenen Verarbeitungsmodellen verhalten, und erstellen auf Basis dieser Erkenntnisse neue skalierbare und realistische Rendering-Algorithmen. Wir beginnen mit bereits existierenden Techniken wie unserer derzeitigen Forschung auf dem Gebiet der analytischen Bewegungsunschärfe und widmen uns später traditionellen Rendering-Techniken, wie etwa dem Ray Tracing.

Hardwarearchitekturen sind entweder auf hocheffiziente einzelne Leistungsanweisungen ausgerichtet oder aber auf hochgradig parallele Aufgaben von Prozessorengruppen, wie man sie etwa aus der SIMD-Architektur kennt. Beide Architekturtypen werden von einer Hierarchie von Cache-Architekturen unterstützt - ihre Leistung wird vom Einsatz der Rechenleistung und Speicherbandbreite bestimmt. Der Gebrauch der Speicherbandbreite basiert auf der komplexen Nutzung von Caches, die Speicherlatenzen - basierend auf dem Programmverhalten - gegensteuern. Die Analyse der Eigenschaften eines Programms und der Einschätzung seiner Leistung auf einer spezifischen Architektur erlaubt es, eine Entscheidung zwischen konkurrierenden Programmoptimierungen und -algorithmen zu treffen, um so die jeweils bestmögliche Leistung zu erzielen.

 

Projektteam

Projektleiter
Prof. Dr.-Ing. Michael Doggett

Projektmitarbeiter
Per Ganestam