Master of Science - Computer Science

University of Augsburg

Immediately after my Bachelor's degree, I changed to University of Augsburg to do my Master's studies.

Duration: April 2015 - March 2017 (4 semesters)

I mainly focused on courses on software architecture (e.g. model-driven development), multicore programming and game development.

Collision-based Particle Simulations on GPUs

Master Thesis

In cooperation with the German Aerospace Center, I created the discrete element simulation toolkit partsival for simulating soil for rover wheel optimizations. By leveraging GPU computing, simulations are sped up significantly compared to CPU-bound solutions.

The resulting simulation toolkit was so successfull that it is actively used and continuously extended at DLR and already provided insights for upcoming space missions (see ResearchGate link below). In 2018, me and my colleagues also published a conference paper at the "Joint International Conference on Multibody System Dynamics" (IMSD) in Lisboa, Portugal.

Thesis Abstract

As part of the Institute of System Dynamics and Control (SR) of the German Aerospace Center (DLR), the Department of Space System Dynamics (SR-RFS) is involved in developing locomotion systems of planetary exploration missions. To reduce development time and costs, virtual prototypes are simulated to verify new designs and concepts e.g. for rover wheels before first physical prototypes are constructed.

A common way of modeling soil in these simulations is the discrete element method (DEM) where the soil volume is discretized into particles. Pasimodo, the engine currently used at DLR, uses the message passing interface (MPI) to distribute force computations to multiple CPU cores or computers. The DEM however could be parallelized even further to profit from the highly concurrent execution on graphics processing units (GPUs).

This thesis therefore presents a particle engine capable of DEM to simulate soil and granular material solely on GPU with the CPU acting as coordinator only. The engine is provided as NodeKit for the OpenSceneGraph (OSG) library to ensure interoperability with existing software, e.g. the visualization tool DLR SimViz. Built upon the abstraction layer of OSG, OpenGL 4.3 and its compute shaders are the foundation for GPU computing performed by the engine.

The simulation loop is defined by object-oriented simulation steps. These are added to a particle system which also provides an API to define and manage particle attributes. Besides the basic classes, the software package ships with built-in particle-particle and particle-mesh contact models for simulations of soil and granular matter. An effcient render component visualizes the current state during a simulation. Additionally, serializers can output the state in humand-readable form or via the H5Part format for post-processing.

Three example applications have been implemented, qualitatively and quantitatively verifying that the engine and its built-in contact models are correct and that it can be applied to the problem domains at DLR. Benchmarks showed furthermore that, for up to 10000 (Nvidia GTX 970) and 22000 (Nvidia GTX 1080), the proposed engine is faster than Pasimodo on an Intel Xeon E5-1620 and E5-2697 CPU. Detailed profiling revealed that the brute force contact detection with O(n^2) is the main bottleneck and that an optimized algorithm will increase the speed-up compared to Pasimodo also for larger number of particles.

IMSD 2018 paper abstract

partsival - Collision-based Particle and many-body Simulations on GPUs for Planetary Exploration Systems

Authors: Roy Lichtenheldt, Simon Kerler, Andreas Angerer, Wolfgang Reif

Nowadays simulations are crucial for timely development and cost reduction. However, large scale particle simulations are still time-consuming, as most modern simulation frameworks are CPU (Central Processing Unit) bound and thus limited in terms of parallelization. Massive parallelism would require the use of clusters or supercomputers.

In this paper the GPU (Graphics Processing Unit) based massively parallel simulation framework partsival is introduced for Discrete Element Method (DEM). It targets realistic penalty based contacts on workstation computers to enable simulation and design engineers, to simulate complex particulate systems. Therefore partsival features special algorithms for implicit time integration as well as boundary conditions to further speed up the simulation.

The article will show the scaling and performance compared to modern parallel CPU code, as well as the validation of the results. Another focus is on the framework architecture and usability. Finally real applications from the usage in aerospace engineering at DLR will be given.

ResearchGate entry

Links