Generating high performance matrix kernels for earthquake simulations with viscoelastic attenuation

SeisSol is an earthquake simulator. It uses a discontinuous Galerkin method on unstructured grids with ADER time discretisation and achieves arbitrary high convergence order in space and time. In previous work, SeisSol was tuned for elastic rheological models on supercomputers with modern commodity hardware and shows high sustained peak performance and excellent parallel efficiency. We extend the high performance implementation to viscoelastic rheological models. These are commonly used to model the intrinsic attenuation of seismic waves, which is an important physical effect in the presence of high-frequency seismic waves. While the equation system gets three times larger, we show that we only have an overhead of about 75% compared to elastic rheological models. A strong scaling study shows that we achieve about 20% of peak performance. The numerical scheme leads to a series of small matrix chain products that have to be computed for each element. SeisSol uses a code generator for highly efficient matrix multiplications, however, several manual steps were necessary for tuning each matrix chain product. We present a framework that optimises code generation for matrix chain products in an almost fully automatic way.

[1]  Don L. Anderson,et al.  Velocity dispersion due to anelasticity; implications for seismology and mantle composition , 1976 .

[2]  M. Dumbser,et al.  An arbitrary high-order discontinuous Galerkin method for elastic waves on unstructured meshes — II. The three-dimensional isotropic case , 2006 .

[3]  Michael Dumbser,et al.  Discontinuous Galerkin methods for wave propagation in poroelastic media , 2008 .

[4]  Edith Cohen,et al.  Structure Prediction and Computation of Sparse Matrix Products , 1998, J. Comb. Optim..

[5]  Raphael Yuster,et al.  Fast sparse matrix multiplication , 2004, TALG.

[6]  Sadashiva S. Godbole,et al.  On Efficient Computation of Matrix Chain Products , 1973, IEEE Transactions on Computers.

[7]  Pradeep Dubey,et al.  Petascale High Order Dynamic Rupture Earthquake Simulations on Heterogeneous Supercomputers , 2014, SC14: International Conference for High Performance Computing, Networking, Storage and Analysis.

[8]  Michael Dumbser,et al.  An arbitrary high-order discontinuous Galerkin method for elastic waves on unstructured meshes - IV. Anisotropy , 2007 .

[9]  K. Aki,et al.  Quantitative Seismology, 2nd Ed. , 2002 .

[10]  Pradeep Dubey,et al.  High Order Seismic Simulations on the Intel Xeon Phi Processor (Knights Landing) , 2016, ISC.

[11]  M. Dumbser,et al.  An arbitrary high-order Discontinuous Galerkin method for elastic waves on unstructured meshes — III. Viscoelastic attenuation , 2007 .

[12]  Alice-Agnes Gabriel,et al.  Sustained Petascale Performance of Seismic Simulations with SeisSol on SuperMUC , 2014, ISC.

[13]  George Epstein,et al.  Comments on "The Relationship Between Multivalued Switching Algebra and Boolean Algebra Under Different Definitions of Complement" , 1973, IEEE Trans. Computers.

[14]  Martin van Driel,et al.  Optimized viscoelastic wave propagation for weakly dissipative media , 2014 .

[15]  R. Christensen,et al.  Theory of Viscoelasticity , 1971 .

[16]  M. Korn,et al.  Incorporation of attenuation into time-domain computations of seismic wave fields , 1987 .

[17]  Michael Bader,et al.  Accelerating SeisSol by Generating Vectorized Code for Sparse Matrix Operators , 2013, PARCO.

[18]  Peter Moczo,et al.  On the rheological models used for time‐domain methods of seismic wave propagation , 2005 .