Performance Portability and Parallelization in Hydrodynamics Codes

Daniel Dunning, Texas Tech University
Global radiation hydrodynamic simulation of massive star envelope.

Abstract:  With the eve of Exascale computing, performance and portability are at the forefront of all scientific computing codes. Adding more CPU cores and more energy to a system is no longer a sustainable way to achieve improved performance, and extra effort must now be made to improve performance in all areas of code execution and code development. Using hydrodynamic simulation codes as a basis, this work explores numerous techniques to achieve performance in different ways. Adaptive mesh refinement (AMR) is a necessary technique to improve memory optimization in mesh-based simulations. However, it is invasive and conventionally difficult to integrate into existing applications, so we present a new branch of AMR to create a smooth transition to these optimizations, which not only improves performance, but also greatly reduces developer effort. We introduce the concept of this improvement as Phantom-Cell AMR, a new hybrid AMR scheme that aims to improve performance of AMR scientific application codes, as well as provide a feasible way for existing applications to include AMR. PhantomCell AMR is tested with various architectures and parallel frameworks to expose the optimizations it provides. Additionally, an application that uses this new AMR scheme to transition away from regular grid methods is investigated. We show that Phantom-Cell AMR is a way to adapt regular grid codes to include AMR routines, and it can be done in an efficient, simple manner. Other work included in the document involves an investigation into an efficient data structure that ensures optimal memory layout for cache performance, with a target of making codes performant and portable across all architectures. All of the work targets both performance and portability, not just on CPU hardware, but specifically across GPU architectures. Parallel performance is key to all of the methods presented, but the research makes a great effort to improve the portability of all applications to prepare for current high performance computing (HPC) systems and those on the horizon.


Please use this link to attend the virtual seminar: