Für eine korrekte Darstellung dieser Seite benötigen Sie einen XHTML-standardkonformen Browser, der die Darstellung von CSS-Dateien zulässt.

You are here


Framework for the Effective Implementation of Fluid Simulations on GPUs

Please be advised that Rene Winchenbach will hold his Master defense today (13th Dec. 2018)  at 11:00 a.m. in Room H-A 7118. Abstract: Simulation methods in the past have been used for a variety of purposes, from the simulation of engineering problems over biological systems to the simulation of galaxies. Many of these require signifcant computational power which makes them ideal candidates for massively parallel computing using GPUs. The ever increasing usage of these simulations, combined with the increasing demand for physically realistic simulations, even in computer graphics, places a large burden on researchers as they not only have to be on the bleeding edge of science but also keep up with the technological advances. In computer graphics many different standard frameworks exist for applications which range from video game engines like Unreal Engine to procedural rendering and animation programs like Houdini. Using such a framework for research however is impractical as these systems place restrictions on what can be done and limit the freedom of the user. Similarly many frameworks used for simulation, specifcally of SPH effects, exist, e.g. DualSPHysics. But these often are either created in a very ad-hoc fashion resulting in bloated and difcult to use code, or optimized to a point where they are not practical in research applications. The goal of this thesis is to develop a new and versatile framework which allows for the easy development of new SPH simulation methods by providing powerful abstractions to the user that signifcantly reduce the complexity of the code that has to be written. In order to achieve this, many challenges have to be addressed, e.g. how memory is managed or how mathematical operations are implemented. All of these features should be implemented in a way that still allows the user to, if desired, write any arbitrary code without having to consider the framework the code is being written in. Additional requirements include the ability of the framework to run on both Windows and Linux machines, as well as providing both CPU and GPU execution. Whilst the performance of GPUs in simulations is signifcantly higher than that of CPUs, CPUs still provide a valuable tool for research, especially when it comes to debugging and verifcation of implementations, as CPU based implementations have signifcantly less parallel efects to deal with. In order to support physical plausibility the framework should also provide a way to check if the code being written is physically consistent based on the SI-units of the involved operands. This checking should be done at compile time to force the user to write proper code and not ad-hoc a problem away. Finally the framework should be open source to make these tools available to a wider audience.