Automatische Volumsdatenverarbeitung auf graphischen Parallelprozessoren
Managed Volume Processing on the GPU
Wissenschaftsdisziplinen
Informatik (100%)
Keywords
-
Volume Rendering,
Memory Management,
GPU programming,
Scientific Visualization,
Scheduling
Volumetrische Datensätze, wie sie häufig von medizinischen Anwendungen erzeugt werden, stellen eine besondere Herausforderung an die Computergrafik: Durch ihre Komplexität und Größe erfordert die Verarbeitung und Darstellung die Programmierung neuester Grafikprozessoren, da heutige Hauptprozessoren für diese Art der Datenverarbeitung nicht gut geeignet sind. Dieser Projektantrag beschäftigt sich mit Methoden zur effizienten Ausnutzung dieser Geräte. Algorithmen zur Verarbeitung von volumetrischen Daten sind häufig nicht direkt an die daten-parallele Ausführung auf Grafikprozessoren anpassbar. Die dadurch entstehenden Implementierungen neigen zur Ineffizienz, weil sie oft nicht alle Recheneinheiten gleichmäßig mit Arbeit versorgen. Insbesondere bei interaktiven Anwendungen kann eine ineffiziente Implementierung das System unbrauchbar machen, weil die Bedienung durch den Benutzer eine Echtzeitverarbeitung der Daten erfordert. Aktuelle Grafikprozessoren versuchen effizienzsteigernde Maßnahmen umzusetzen, scheitern aber häufig an der Tatsache, dass die Art des ausgeführten Algorithmus und dessen Eigenschaften unbekannt sind. Des Weiteren besitzt diese von der Hardware gesteuerte Ausführungskontrolle nicht über ausreichende Privilegien im System, um weitreichende Entscheidungen durchzusetzen. An dieser Stelle setzt unser vorgeschlagenes Projekt an. Es bietet eine Programmierumgebung zur effizienten Ausführung und Speicherverwaltung für Volumsdarstellung und -verarbeitung. Über eine möglichst einfache Programmschnittstelle können Entwickler Daten und Aufgaben in Form eines gerichteten Ausführungs-Graphen an unser System übergeben. Dieses kann selbständig Abhängigkeiten erkennen und alle Aufgaben in geeigneter Reihenfolge unter Berücksichtigung von Einschränken (z.B. Echtzeitfähigkeit) an die ausführende Hardware übergeben. Speicherbereiche im Hauptspeicher und auf der Grafikkarte werden von unserer Umgebung verwaltet, und fehlende Daten automatisch von z.B. der Festplatte nachgeladen. Außerdem werden Zwischenergebnisse falls möglich zwischengespeichert, um die Gesamtlaufzeit zu verkürzen. Dieses Projekt verwendet neueste Grafikprozessor-Technik und Programmschnittstellen, wie OpenCL, um zukünftig Software-Entwicklern, die mit Volumsdatenverarbeitung konfrontiert sind, eine effiziente und zeitsparende Programmierung zu ermöglichen.
Innerhalb der letzten Jahre begann ein Paradigmenwechsel im Bereich der Computertechnologie. Physikalische Grenzen gestalten eine weitere Erhöhung der Prozessortaktraten zunehmend schwierig. Der einzige Ausweg, um die weiterhin steigende Nachfrage nach immer mehr Rechenleistung bedienen zu können, ist Parallelisierung das gleichzeitige Ausführen kleinerer Aufgaben auf einem Chip mit einer Vielzahl an Rechenkernen. Die am weitesten entwickelten integrierten Chips mit einer Vielzahl an parallelen Rechenkernen findet man auf modernen Grafikprozessoren (GPU). Die potenziell enorme Rechenleistung einer GPU konnte bis jetzt jedoch nur von Algorithmen genutzt werden, die sich in tausende kohärent arbeitende Ausführungsstränge aufteilen lassen. In diesem Projekt haben wir es uns zum Ziel gemacht, die Rechenleistung der GPU einer breiteren Klasse von Algorithmen zur Verfügung zu stellen. Dazu wurden Algorithmen entwickelt, die die Basis für eine Art Betriebssystem auf der GPU bilden. Dieses Betriebssystem ermöglicht die Beschreibung und Ausführung von Algorithmen mit inhomogenem, zeitlich veränderlichem Parallelismus. Dazu werden im Hintergrund tausende Arbeitspakete gesammelt, zum Zwecke schneller, kooperativer Ausführung kombiniert und auf die am besten passenden Prozessoren verteilt. Zusätzlich lassen sich die Arbeitspakete frei und vollkommen dynamisch priorisieren, was eine gleichzeitige Ausführung mehrere Algorithmen erlaubt. Um die Unterstützung dynamischer Programme zu komplettieren, stellt das System eine Speicherverwaltung zur Verfügung, welche Speicheranfragen von zehntausenden Ausführungssträngen gleichzeitig bedienen kann. Ergebnisse unserer Forschung sind die derzeit schnellsten GPU-Algorithmen im Bereich Warteschlangenmanagement, Speicherverwaltung und Priorisierungsalgorithmen. Außerdem haben wir den momentanen Stand der Technik in den Bereichen Volumsdatenverarbeitung, Bildsynthese und geometrischer Algorithmen vorangetrieben. So beschleunigt unser Modell die Simulation globaler Beleuchtung durch die Fokussierung der verfügbaren Rechenleistung auf jene Bereiche, die die stärkste Qualitätsverbesserung erwarten lassen. Außerdem konnten wir mehrere Volumsdatenvisualisierungsalgorithmen durch intelligente Ausführung signifikant beschleunigen. Schlussendlich erlaubt unser Modell die Erzeugung und Darstellung komplexer geometrischer Modelle in Echtzeit auf der GPU, wobei eine Generierung mit traditionellen Methoden Stunden benötigen würde. Die Ergebnisse unserer Forschung werden das Design und Ausführungsstrategien zukünftiger paralleler Architekturen beeinflussen.
- Technische Universität Graz - 100%
Research Output
- 512 Zitationen
- 24 Publikationen
-
2012
Titel Procedural Texture Synthesis for Zoom-Independent Visualization of Multivariate Data DOI 10.1111/j.1467-8659.2012.03127.x Typ Journal Article Autor Khlebnikov R Journal Computer Graphics Forum Seiten 1355-1364 -
2012
Titel Massively parallel dynamic memory allocation for the GPU. Typ Conference Proceeding Abstract Autor Schmalstieg D Et Al Konferenz Proceedings of the 6th Workshop on General Purpose Processor Using Graphics Processing Units (GPGPU-6). -
2012
Titel Softshell DOI 10.1145/2366145.2366180 Typ Journal Article Autor Steinberger M Journal ACM Transactions on Graphics (TOG) Seiten 1-11 -
2012
Titel ScatterAlloc: Massively Parallel Dynamic Memory Allocation for the GPU DOI 10.1109/inpar.2012.6339604 Typ Conference Proceeding Abstract Autor Steinberger M Seiten 1-10 -
2012
Titel Stochastic Particle-Based Volume Rendering. Typ Conference Proceeding Abstract Autor Kainz B Et Al Konferenz proceedings of Central European Seminar on Computer Graphics (CESCG). -
2011
Titel Stylization-based ray prioritization for guaranteed frame rates DOI 10.1145/2024676.2024685 Typ Conference Proceeding Abstract Autor Kainz B Seiten 43-54 -
2015
Titel Fast Volume Reconstruction from Motion Corrupted Stacks of 2D Slices DOI 10.1109/tmi.2015.2415453 Typ Journal Article Autor Kainz B Journal IEEE Transactions on Medical Imaging Seiten 1901-1913 Link Publikation -
2013
Titel Adaptive ghosted views for Augmented Reality. Typ Conference Proceeding Abstract Autor Kalkofen D Konferenz IEEE International Symposium on Mixed and Augmented Reality (ISMAR). -
2013
Titel Volume Rendering with advanced GPU scheduling strategies. Typ Conference Proceeding Abstract Autor Schmalstieg D Et Al Konferenz Proceedings of the IEEE Scientific Visualization Posters. -
2015
Titel Reyes rendering on the GPU DOI 10.1145/2788539.2788543 Typ Conference Proceeding Abstract Autor Sattlecker M Seiten 31-38 -
2014
Titel Whippletree DOI 10.1145/2661229.2661250 Typ Journal Article Autor Steinberger M Journal ACM Transactions on Graphics (TOG) Seiten 1-11 -
2014
Titel On-the-fly generation and rendering of infinite cities on the GPU DOI 10.1111/cgf.12315 Typ Journal Article Autor Steinberger M Journal Computer Graphics Forum Seiten 105-114 -
2014
Titel Parallel generation of architecture on the GPU DOI 10.1111/cgf.12312 Typ Journal Article Autor Steinberger M Journal Computer Graphics Forum Seiten 73-82 Link Publikation -
2016
Titel Hierarchical Bucket Queuing for Fine-Grained Priority Scheduling on the GPU DOI 10.1111/cgf.13075 Typ Journal Article Autor Kerbl B Journal Computer Graphics Forum Seiten 232-246 -
2013
Titel Fast dynamic memory allocator for massively parallel architectures DOI 10.1145/2458523.2458535 Typ Conference Proceeding Abstract Autor Widmer S Seiten 120-126 Link Publikation -
2013
Titel Adaptive Ghosted Views for Augmented Reality DOI 10.1109/ismar.2013.6671758 Typ Conference Proceeding Abstract Autor Denis K Seiten 1-9 -
2013
Titel Noise-Based Volume Rendering for the Visualization of Multivariate Volumetric Data DOI 10.1109/tvcg.2013.180 Typ Journal Article Autor Khlebnikov R Journal IEEE Transactions on Visualization and Computer Graphics Seiten 2926-2935 Link Publikation -
2012
Titel OmniKinect DOI 10.1145/2407336.2407342 Typ Conference Proceeding Abstract Autor Kainz B Seiten 25-32 -
2012
Titel Priority-Based Task Management in a GPGPU Megakernel. Typ Conference Proceeding Abstract Autor Kerbl B Konferenz proceedings of Central European Seminar on Computer Graphics (CESCG). -
2012
Titel Interactive Self-Organizing Windows DOI 10.1111/j.1467-8659.2012.03041.x Typ Journal Article Autor Steinberger M Journal Computer Graphics Forum Seiten 621-630 -
2012
Titel Volumetric Real-Time Particle-Based Representation of Large Unstructured Tetrahedral Polygon Meshes DOI 10.1007/978-3-642-33463-4_16 Typ Book Chapter Autor Voglreiter P Verlag Springer Nature Seiten 159-168 -
2012
Titel OmniKinect: real-time dense volumetric data acquisition and applications. Typ Conference Proceeding Abstract Autor Kainz B Konferenz VRST '12 Proceedings of the 18th ACM symposium on Virtual reality software and Technology. -
2012
Titel Ray prioritization using stylization and visual saliency DOI 10.1016/j.cag.2012.03.037 Typ Journal Article Autor Steinberger M Journal Computers & Graphics Seiten 673-684 Link Publikation -
2014
Titel Parallel Irradiance Caching for Interactive Monte-Carlo Direct Volume Rendering DOI 10.1111/cgf.12362 Typ Journal Article Autor Khlebnikov R Journal Computer Graphics Forum Seiten 61-70