TU Darmstadt / ULB / TUprints

GPU Data Structures and Code Generation for Modeling, Simulation, and Visualization

Mueller-Roemer, Johannes Sebastian (2020)
GPU Data Structures and Code Generation for Modeling, Simulation, and Visualization.
Technische Universität Darmstadt
doi: 10.25534/tuprints-00011291
Ph.D. Thesis, Primary publication

[img]
Preview
Text
dissertation-2019-12-20.pdf
Copyright Information: CC BY-SA 4.0 International - Creative Commons, Attribution ShareAlike.

Download (5MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: GPU Data Structures and Code Generation for Modeling, Simulation, and Visualization
Language: English
Referees: Fellner, Prof. Dr. Dieter W. ; Stork, Prof. Dr. André ; Müller, Prof. Dr. Heinrich
Date: 2020
Place of Publication: Darmstadt
Date of oral examination: 16 December 2019
DOI: 10.25534/tuprints-00011291
Abstract:

Virtual prototyping, the iterative process of using computer-aided (CAx) modeling, simulation, and visualization tools to optimize prototypes and products before manufacturing the first physical artifact, plays an increasingly important role in the modern product development process. Especially due to the availability of affordable additive manufacturing (AM) methods (3D printing), it is becoming increasingly possible to manufacture customized products or even for customers to print items for themselves. In such cases, the first physical prototype is frequently the final product.

In this dissertation, methods to efficiently parallelize modeling, simulation, and visualization operations are examined with the goal of reducing iteration times in the virtual prototyping cycle, while simultaneously improving the availability of the necessary CAx tools. The presented methods focus on parallelization on programmable graphics processing units (GPUs). Modern GPUs are fully programmable massively parallel manycore processors that are characterized by their high energy efficiency and good price-performance ratio. Additionally, GPUs are already present in many workstations and home computers due to their use in computer-aided design (CAD) and computer games. However, specialized algorithms and data structures are required to make efficient use of the processing power of GPUs.

Using the novel GPU-optimized data structures and algorithms as well as the new applications of compiler technology introduced in this dissertation, speedups between approximately one (10×) and more than two orders of magnitude (> 100×) are achieved compared to the state of the art in the three core areas of virtual prototyping. Additionally, memory use and required bandwidths are reduced by up to nearly 86%. As a result, not only can computations on existing models be executed more efficiently but larger models can be created and processed as well.

In the area of modeling, efficient discrete mesh processing algorithms are examined with a focus on volumetric meshes. In the field of simulation, the assembly of the large sparse system matrices resulting from the finite element method (FEM) and the simulation of fluid dynamics are accelerated. As sparse matrices form the foundation of the presented approaches to mesh processing and simulation, GPU-optimized sparse matrix data structures and hardware- and domain-specific automatic tuning of these data structures are developed and examined as well. In the area of visualization, visualization latencies in remote visualization of cloud-based simulations are reduced by using an optimizing query compiler. By using hybrid visualization, various user interactions can be performed without network round trip latencies.

Alternative Abstract:
Alternative AbstractLanguage

Virtual Prototyping, der iterative Prozess der rechnergestützten (englisch: computer-aided (CAx)) Modellierung, Simulation und Visualisierung, um Prototypen und Produkte vor der ersten Fertigung zu optimieren, nimmt im modernen Produktentwicklungsprozess eine immer größere Rolle ein. Insbesondere aufgrund der Verfügbarkeit von preisgünstigen additiven Fertigungsverfahren (3D-Druck) wird es zunehmend möglich, Produkte kundenspezifisch herzustellen oder sogar als Endkunde selber zu drucken. In solchen Fällen ist der erste reale Prototyp oftmals das Endprodukt.

Um die iterativen Zyklen des Virtual Prototyping zu verkürzen, wird in dieser Dissertation untersucht, wie Verfahren aus den Bereichen Modellierung, Simulation und Visualisierung mittels Parallelisierung effizienter durchgeführt werden können. Gleichzeitig soll dabei die Verfügbarkeit der dazu notwendigen rechnergestützten Werkzeuge verbessert werden. Der Fokus liegt dabei auf der Parallelisierung auf programmierbaren Graphikprozessoren (englisch: graphics processing units (GPUs)). Moderne Graphikprozessoren sind voll programmierbare massiv-parallele Manycore-Prozessoren, die sich sowohl durch ihre hohe Energieeffizienz als auch ihr gutes Preis-Leistungs-Verhältnis auszeichnen. Zudem sind sie durch ihre Verwendung in rechnergestützten Konstruktionsprogrammen (englisch: computer-aided design (CAD) software) sowie Computerspielen bereits in vielen Workstations und privaten Rechnern vorhanden. Jedoch sind spezialisierte Algorithmen und Datenstrukturen notwendig, um die hohe Rechenleistung von GPUs effizient auszunutzen.

Durch die Verwendung der in dieser Dissertation vorgestellten neuartigen GPU-optimierten Datenstrukturen und Algorithmen sowie neuen Anwendungen der Compilertechnik werden in den drei Kernbereichen des Virtual Prototyping Beschleunigungen zwischen etwa einer (10×) und mehr als zwei Größenordnungen (> 100×) im Vergleich zum Stand der Technik erreicht. Auch Speicherverbrauch und Übertragungsbandbreiten werden um bis zu knapp 86% reduziert. Somit kann nicht nur mit existierenden Modellen schneller gerechnet werden, sondern es können auch größere Modelle erzeugt und verarbeitet werden.

Im Bereich der Modellierung wird die effiziente parallele Verarbeitung von diskreten und insbesondere volumetrischen Netzen untersucht. In der Simulation werden die Aufstellung der großen dünnbesetzten Systemmatrizen aus der Finite-Elemente-Methode (FEM) und die Simulation von Fluiddynamik beschleunigt. Da dünnbesetzte Matrizen die Grundlage für die vorgestellten Ansätze zur Netzverarbeitung und der Simulation bilden, werden auch GPU-optimierte Datenstrukturen für dünnbesetzte Matrizen sowie das automatische Abstimmen solcher Datenstrukturen auf die vorhandene Hardware und das domänenspezifische Anwendungsfeld entwickelt und untersucht. Im Bereich der Visualisierung wird die Latenz bei der entfernten Visualisierung von Cloud-basierten Simulationen mittels eines optimierenden Anfragencompilers reduziert. Durch hybride Visualisierung können verschiedene Benutzerinteraktionen ohne Netzwerklatenz durchgeführt werden.

German
URN: urn:nbn:de:tuda-tuprints-112918
Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Interactive Graphics Systems
20 Department of Computer Science > Fraunhofer IGD
Date Deposited: 03 Feb 2020 14:51
Last Modified: 09 Jul 2020 06:22
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/11291
PPN: 460546872
Export:
Actions (login required)
View Item View Item