PrincetonUniversity / SPECFEMPP

SPECFEM++ is a complete re-write of SPECFEM suite of packages (SPECFEM2D, SPECFEM3D, SPECFEM3D_GLOBE) using C++
https://specfem2d-kokkos.readthedocs.io/en/latest/
GNU General Public License v3.0
16 stars 9 forks source link

Single field for entire simulation domain #89

Closed Rohit-Kakodkar closed 10 months ago

Rohit-Kakodkar commented 1 year ago

This can lead to ~ 10% performance improvement interms of compute and about over 100% performance improvement interms of storage.

Currently, the fields and derivatives of field are created for every instance of a domain. In locations where the domain type is not current domain type the field is always 0. However, The ideal way of doing this would be to have a singular field type and every domain gets a subview of the original field. There are several challenges because of templated mediums: