FWF - GPUPipelines - Vollständig Programmierbare GPU-Pipelines

Projekt: Foschungsprojekt

Beschreibung

Moderne Computersysteme verwenden Graphikprozessoren (Graphics Processing Unit, GPU) mit enormer Rechenleistung. Allerdings hat sich die grundlegende Hardwarearchitektur der GPU seit fast 15 Jahren nicht wesentlich verändert. Eine fixe Pipeline mit einer vorgegebenen Sequenz von Stufen eignet sich nur für eine bestimmte Art von Graphikanwendung, insbesondere für Computerspiele. Mit neuen Programmiersprachen wie CUDA ist es zwar möglich, die GPU-Rechenleistung auch für andere Probleme, wie etwas Simulationsberechnungen, einzusetzen. Dieser Ansatz lässt sich aber nicht auf neue Graphik-Pipelines ausdehnen, weil bestimmte Komponenten der GPU in CUDA nicht verfügbar sind.
In diesem Projekt werden wir ein neues Software-Framework entwickeln, das die fehlenden Teile einer vollständigen Graphik-Pipeline in einer GPU-Programmiersprache zur Verfügung stellt. Dies ist eine grosse Herausforderung, weil das Framework sehr effizient arbeiten muss, um mit der normalen, hardwareunterstützen Pipeline konkurrieren zu können. Wir können aber die bessere Flexibilität einer Implementierung in Software nutzen, um ein konkurrenzfähiges Framework zu erstellen.
Wichtiger als die Effizientzfrage ist aber, dass wir das neue Softwareframerwork für Graphik-Pipelines dazu nutzen können, die Beschränkungen der normalen Graphik-Pipeline zu überwinden. Beispielsweise können wir den gewöhnlichen, rechteckigen Bildschirmspeicher durch eine neue, effiziente, unregelmässige Strutur ersetzen. Außerdem können wir die regelmäßigen Abtastmuster für Pixel durch unregelmässige ersetzen, die sich besser für neue Virtual Reality-Geräte wie das Oculus Rift eignen.
StatusLaufend
Tatsächlicher Beginn/ -es Ende1/03/1729/02/20