SPECFEM++: A Modular and Portable Spectral-element Framework for Seismic Wave Propagation
Description:
SPECFEM represents a suite of computational tools based on the spectral element method used to simulate wave propagation through heterogeneous media. Over the years, SPECFEM has been developed as a set of 3 Fortran packages (SPECFEM2D, SPECFEM3D, and SPECFEM3D_GLOBE) with partial support for GPUs (NVIDIA and AMD). The central premise of SPECFEM has always been achieving highly optimized performance on traditional and modern architectures by implementing domain- and dimension-specific algorithmic optimization. However, this approach has also resulted in a codebase with a high technical overhead, heavy use of conditional branches, architecture-specific implementations, code duplication, and isolated feature implementations.
In this talk, I will present our recent efforts to unify the suite of SPECFEM packages under a single modular framework, SPECFEM++, while maintaining the performance characteristics of the original packages. The key feature of SPECFEM++ is a formulation that separates the physics from the parallelism of the spectral element method. We describe this parallelism using the Kokkos programming model and the physics using C++-templated spectral element types. The flexibility of C++ templates and the performance-portability of Kokkos programming model has let us design a modular package that is highly versatile and performant.
Session: 3D Wavefield Simulations: From Seismic Imaging to Ground Motion Modelling - II
Type: Oral
Date: 5/2/2024
Presentation Time: 10:30 AM (local time)
Presenting Author: Rohit
Student Presenter: No
Invited Presentation:
Authors
Rohit Kakodkar Presenting Author Corresponding Author rohit_kakodkar@princeton.edu Princeton University |
Jeroen Tromp jtromp@princeton.edu Princeton University |
|
|
|
|
|
|
|
SPECFEM++: A Modular and Portable Spectral-element Framework for Seismic Wave Propagation
Session
3D Wavefield Simulations: From Seismic Imaging to Ground Motion Modelling