Terraneo: Large-Scale Mantle Convection Simulation on GPUs

  • Boehm, Fabian (Friedrich-Alexander-University Erlangen-Nürnb)

Please login to view abstract download link

Understanding mantle convection requires solving coupled partial differential equations over immense spatial and temporal scales, in the presence of strongly varying coefficients. TerraNeo [1] is an open-source mantle convection simulation framework developed to meet these challenges through large-scale, high-fidelity numerical modeling on modern heterogeneous computing architectures. Designed from the outset for performance portability, TerraNeo leverages the Kokkos programming model to achieve efficient execution on both CPU and GPU platforms, ensuring broad compatibility across diverse high-performance computing environments. To mitigate the high memory demands imposed by a large computational domain and fine spatial resolution, TerraNeo employs matrix-free Finite Element operators that are assembled on-the-fly. These operators are implemented as Kokkos functors and mapped to the target architecture via a simple CMake option. Simulation performance is further enhanced through a suite of optimizations applied to the operator evaluation, including source-level common subexpression elimination, GPU shared memory and hierarchical parallelism, precomputation of spatial invariants, mixed-precision arithmetic, and loop fusion techniques. Strong coefficient variations, and even discontinuities arising from heterogeneous mantle material properties, are addressed using multigrid preconditioners with specialized coarse-grid operators. In regions exhibiting large coefficient variations, Galerkin coarse operators (GCA) are assembled and stored locally, while the remainder of the domain is handled using a matrix-free direct coarse approximation (DCA). This adaptive strategy effectively combines algebraic-multigrid-like coarse-grid correction where necessary with matrix-free geometric multigrid elsewhere, yielding robust convergence with minimal additional memory overhead [2]. [1] https://github.com/mantleconvection/terraneo [2] F. Böhm, N. Kohl, H. Köstler, U. Rüde, \emph{Large-scale Multigrid with Adaptive Galerkin Coarsening}, subitted.