Detailseite
Projekt Druckansicht

Vollständig Programmierbare GPU-Pipelines

Fachliche Zuordnung Bild- und Sprachverarbeitung, Computergraphik und Visualisierung, Human Computer Interaction, Ubiquitous und Wearable Computing
Förderung Förderung von 2017 bis 2021
Projektkennung Deutsche Forschungsgemeinschaft (DFG) - Projektnummer 317673897
 
Pipelineartige Verarbeitungssysteme sind in vielen Bereichen der Computergrafik weiter verbreitet. Pipeline Systemen ermöglichen es Inputdaten zu bearbeiten, die erst graduell verfügbar werden, und unterschiedliche Teile der Pipeline für unterschiedlichen Input parallel abzuarbeiten. Außerdem sind die einzelnen Teile von Pipeline Designs meist leicht zu verstehen, wiederverwendbar und leicht erweiterbar. Somit ist es nicht verwunderlich, dass Pipelines für Echtzeitrendering (OpenGL/D3D), Filmrendering (Reyes), Visualisierung, und 3D Druck, verwendet werden.Grafikprozessoren (Graphics Processing Unit, GPU) bauen auf eine Hardwarepipeline auf, welche für hohe Effizient aber nicht für Flexibilität konzipiert wurde. Einige Teile der Pipeline sind programmierbar (Shader), jedoch ist die Pipeline selbst statisch. Die Reihenfolge der Pipelineteile kann nicht verändert werden, die meisten Teile sind direkt in Hardware gegossen und sind kaum konfigurierbar. Diese Inflexibilität schränkt die Forschung und Weiterentwicklung von Renderingalgorithmen stark ein. Neu Ansätze zur Bildgenerierung, welche nicht in diese vorgefertigte Pipeline passen, können niemals mit anderen Ansätzen mithalten welche auf die Hardwarepipeline aufbauen.Anstatt darauf zu warten, dass die Hardwarehersteller ihre Pipeline verändern oder ihre Designs zur Verfügung stellen, schlagen wir eine flexible, konfigurierbare Software Rendering Plattform vor, welche auf den programmierbaren Recheneinheiten moderner Graphikprozessoren läuft. Unsere Plattform setzt auf generelle GPU-Sprachen wie z.B. CUDA auf und erlaubt es beliebige Pipeline Designs mit frei wählbaren Anzahl an Teilen und Verbindungen zu kreieren. Diese Flexibilität erreichen wir durch ein die Beschreibung aller Teile in Software. Der wichtigste Punkt dabei ist eine optimale Verteilung der Pipelineelemente auf die Ausführungseinheiten der GPU.Um diese Ziele zu erreichen, werden wir neue Wege der Lastverteilung auf Grafikprozessoren erforschen, Möglichkeiten, die Arbeitsverteilung zwischen Teilen der Pipeline zu optimieren, erarbeiten, und die Optimierung der Ausführung von rekursiven Pipelines hinsichtlich eines begrenzten Speicherverbraues entwickeln. Darüber hinaus werden wir neue Renderingkonzepte, wie z.B. Frameless Rendering oder Nichtlineare Rasterisierung erforschen und mögliche Pipeline Designs für diese vorstellen. Mit dem Erfolg des Projektes werden wir die Grundlagen für neue Forschung im Bereich des Echtzeitrenderings legen, wir werden dazu beitragen, dass sich die Computergrafik neue Rendering Pipelines ausdenken kann, und wir werden das Design neuer Hardware leiten und inspirieren. Schlussendlich, werden wir zeigen, dass Renderingansätze, die bis jetzt als nicht umsetzbar angesehen wurden, auf echter Hardware in Echtzeit lauffähig sind. Wie mit unserer bisherigen Forschung, werden wir unseren Code als Open Source zur Verfügung stellen, und damit die Nachhaltigkeit des Projekts erhöhen.
DFG-Verfahren Sachbeihilfen
Internationaler Bezug Österreich
 
 

Zusatzinformationen

Textvergrößerung und Kontrastanpassung