Code generation for massively parallel phase-field simulations - Bauer, Martin; Hötzer, Johannes; Ernst, Dominik; Hammer, Julian; Seiz, Marco; Hierl, Henrik; Hönig, Jan; Köstler, Harald; Wellein, Gerhard; Nestler, Britta; Rüde, Ulrich (International Conference for High Performance Computing, Networking, Storage and Analysis, SC, 2019)
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.
CRIS-Team Scopus Importer:2019-12-20