SC19 Proceedings

The International Conference for High Performance Computing, Networking, Storage, and Analysis

Code Generation for Massively Parallel Phase-Field Simulations

Authors: Martin Bauer (University of Erlangen-Nuremberg), Johannes Hötzer (University of Applied Science Karlsruhe, Karlsruhe Institute of Technology), Domink Ernst (University of Erlangen-Nuremberg), Julian Hammer (University of Erlangen-Nuremberg), Marco Seiz (Karlsruhe Institute of Technology), Henrik Hierl (Karlsruhe Institute of Technology), Jan Hönig (University of Erlangen-Nuremberg), Harald Köstler (University of Erlangen-Nuremberg), Gerhard Wellein (University of Erlangen-Nuremberg), Britta Nestler (Karlsruhe Institute of Technology, University of Applied Science Karlsruhe), Ulrich Rüde (University of Erlangen-Nuremberg, CERFACS)

Abstract: This article describes the development of automatic program generation technology to create scalable phase-field methods for material science applications. To simulate the formation of microstructures in metal alloys, we employ an advanced, thermodynamically consistent phase-field method. A state-of-the-art large-scale implementation of this model requires extensive, time-consuming, manual code optimization to achieve unprecedented fine mesh resolution. Our new approach starts with an abstract description based on free-energy functionals which is formally transformed into a continuous PDE and discretized automatically to obtain a stencil-based time-stepping scheme. Subsequently, an automatized performance engineering process generates highly optimized, performance-portable code for CPUs and GPUs. We demonstrate the efficiency for real-world simulations on large-scale GPU-based (PizDaint) and CPU-based (SuperMUC-NG) supercomputers. Our technique simplifies program development and optimization for a wide class of models. We further outperform existing, manually optimized implementations as our code can be generated specifically for each phase-field model and hardware configuration.

Presentation: file

Back to Technical Papers Archive Listing