GPU Data Structures and Code Generation for Modeling, Simulation, and Visualization
Mueller-Roemer, Johannes Sebastian
MetadataShow full item record
Virtual prototyping, the iterative process of using computer-aided (CAx) modeling, simulation, and visual-ization tools to optimize prototypes and products before manufacturing the first physical artifact, plays anincreasingly important role in the modern product development process. Especially due to the availabilityof affordable additive manufacturing (AM) methods (3D printing), it is becoming increasingly possible tomanufacture customized products or even for customers to print items for themselves. In such cases, thefirst physical prototype is frequently the final product.In this dissertation, methods to efficiently parallelize modeling, simulation, and visualization operationsare examined with the goal of reducing iteration times in the virtual prototyping cycle, while simulta-neously improving the availability of the necessary CAx tools. The presented methods focus on paral-lelization on programmable graphics processing units (GPUs). Modern GPUs are fully programmable mas-sively 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 dueto their use in computer-aided design (CAD) and computer games. However, specialized algorithms anddata 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 compilertechnology introduced in this dissertation, speedups between approximately one (10×) and more thantwo orders of magnitude (> 100×) are achieved compared to the state of the art in the three core areasof virtual prototyping. Additionally, memory use and required bandwidths are reduced by up to nearly86%. As a result, not only can computations on existing models be executed more efficiently but largermodels can be created and processed as well.In the area of modeling, efficient discrete mesh processing algorithms are examined with a focus on volu-metric meshes. In the field of simulation, the assembly of the large sparse system matrices resulting fromthe finite element method (FEM) and the simulation of fluid dynamics are accelerated. As sparse matri-ces form the foundation of the presented approaches to mesh processing and simulation, GPU-optimizedsparse matrix data structures and hardware- and domain-specific automatic tuning of these data struc-tures are developed and examined as well. In the area of visualization, visualization latencies in remotevisualization of cloud-based simulations are reduced by using an optimizing query compiler. By usinghybrid visualization, various user interactions can be performed without network round trip latencies.