Skip to content
Daniel Peter edited this page Nov 14, 2023 · 16 revisions

Development plan

SPECFEM3D_Cartesian

last update: March, 2023

Feature Priority Timeline Status Version
GPU rate&state friction medium 2021-03 [100%] ✔️ version 4.0
HIP version medium 2021-05 [100%] ✔️ version 4.0
add inversion example medium Q4 2022 [100%] version 4.0
local time stepping medium Q4 2023 [100%] ✔️ version 4.1
poroelastic attenuation medium - 🌧️
incorporate utils/CPML meshing low - 💤
power law attenuation low - -
PML on GPU low - -
undo_att & PML for kernels low - -
simplify split-node meshing for surfaces low - -
higher-order time scheme symplectic low - -
OpenCL version low - -
PHDF5 & IO server support


from Masaro's modified version

medium [100%] ✔️ version 4.1

Current Issue Priority Timeline Status
GPU check small_example_coupling_FK_specfem/ medium 2022-03 [100%] ✔️
kernel simulation for small_example_coupling_FK_specfem/ medium 2022-03 [100%] ✔️

Version history

  • version 4.1, November 2023:
    Rahul Garg, Hom Nath Gharti, Masaru Nagaso, Elif Oral, Daniel Peter.

    • HDF5 file IO support
    • local time stepping
    • strain seismograms; movie output for stresses
    • reuse feature for external STF
    • various updates and improvements
  • version 4.0, March 2023:
    ` Rafael Almada, Jean-Paul Ampuero, Etienne Bachmann, Kangchen Bai, Stephen Beller, Jordan Bishop, Alexis Bottero, Emanuele Casarotti, Clement Durochat, Rene Gassmoeller, Hom Nath Gharti, Leopold Grinberg, Aakash Gupta, Foivos Karakostas, Dimitri Komatitsch, Qinya Liu, Geordie McBain, Ryan Modrak, Vadim Monteiller, Masaru Nagaso, Elif Oral, Daniel Peter, Elliott Sales de Andrade, James Smith, Carl Tape, Eduardo Valero Cano, Huihui Weng, Zhinan Xie

    • various code improvements (fault solver, FK/DSM/AxiSEM coupling, gravity perturbations, energy integrals)
    • inverse problem module
    • parallel heuristic mesh decomposer
    • ADIOS2 file I/O support
    • ASDF seismogram output
    • HIP GPU support

Continuous testing

Github Actions
Workflow
OS: Linux (Ubuntu-latest 20.04, Ubuntu 16.04), MacOS (v10.15 Catalina)

  • for Pull requests:
    • make
    • make tests
    • example testing (17 examples)

Buildbot
OS: Linux (Springdale Linux release 6.10)
compiler: GCC, Intel (v13.0), CUDA (v5.5)

  • for Pull requests:

    • make
    • make --with-mpi
    • make --without-mpi
    • make --with-openmp
    • make --enable-double-precision
    • make --with-cuda=cuda5
    • make (w/ Intel)
    • make tests
  • nightly builds:

    • homogeneous_halfspace_HEX8_elastic_no_absorbing
    • homogeneous_halfspace_HEX8_elastic_absorbing_Stacey_5sides

Travis-CI
Build Status

  • for Pull requests:
    • 35 different tests compile and run a limited number of timesteps
    • tests serial & MPI version
    • tests single & double precision
    • tests NGLL 5 & NGLL 6
    • tests Hex8 & Hex27 (NGNOD)
    • tests CMTSOLUTION & FORCESOLUTION source
    • tests Newmark & LDDRK time scheme
    • tests OpenMP version
    • tests acoustic, elastic & poroelastic media
    • tests SoCal w/ 1D_SoCal, 1D_PREM, 1D_Cascadia

Code coverage
codecov

  • integrated through travis tests
  • includes only CPU code tests

Jenkins
OS: Linux (Ubuntu 18.04.1)
compiler: GCC (v7.5.0), CUDA (v11.2)
hardware: CPU Intel(R) Xeon(R) CPU E5-2680 v3, GPU Tesla K40c

  • for Push to devel repository (after accepting Pull Requests):
    • make tests
    • example simple model CPU & GPU
    • example noise CPU & GPU
    • example homogeneous_acoustic GPU (w/ NB_RUNS_ACOUSTIC_GPU 2)
    • example homogeneous_acoustic GPU (w/ subsamp_seismos 2)
    • example cavity CPU & GPU
    • example fault tpv5 CPU & GPU
    • example fault tpv102 CPU & GPU
    • example small adjoint multiple sources CPU & GPU
    • example homogeneous_halfspace kernel CPU & GPU
    • example waterlayered_poroelastic CPU
    • example waterlayered_halfspace CPU
    • example small elastic analytic CPU/GPU & ASDF
    • example simple model OpenMP/ADIOS1/ADIOS2/HIP

Azure
Azure Status
OS: Ubuntu latest (20.04.3)

  • for Pull requests:
    • compilation w/ GCC 7, 9 and 10
    • compilation w/ CUDA 10 and 11
    • example meshfem3D_examples/simple_model

status legend
✔️ done
👍 agree, would be nice to have
🔧 work in progress...
🌧️ waiting for sunnier days
💤 hibernating
Clone this wiki locally