SPECFEM kokkos is C++ implementation of SPECFEM suite of software using the Kokkos programming model. Kokkos is a is a production level solution for writing modern C++ applications in a hardware agnostic way, this allows us to write a single source code which can run across all modern architectures. The goal of this project is to provide the same level of functionality as provided by SPECFEM2D, SPECFEM3D and SPECFEM3d_GLOBE in a singular package that runs across all architectures.
The online documentation for SPECFEM2D Kokkos is located here
Completer installation instructions are located in the online documentation
Table below shows various features available and tested in this package on various architectures:
CPU(serial) | CPU(OpenMP) | CUDA | HIP | |
---|---|---|---|---|
Physics | ||||
P-SV waves | X | X | X | |
Elastic Domains | X | X | X | |
Simulation Setup | ||||
Forward Simulations | X | X | X | |
Time Schemes | ||||
Newmark | X | X | X | |
Seismograms | ||||
Displacement | X | X | X | |
Velocity | X | X | X | |
Acceleration | X | X | X | |
Seismogram format | ||||
ASCII | X | X | X |
Intructions on how to run SPECFEM2D Kokkos can be found here.
For use case examples of running the software please see cookbooks
SPECFEM is a community project that lives by the participation of its members — i.e., including you! It is our goal to build an inclusive and participatory community so we are happy that you are interested in participating! Please see this page for developer documentation.
In particular you should follow the git development workflow and pre-commit style checks when contributing to SPECEFM.
SPECFEM2D Kokkos is distributed under the GPL v3 license