Skip to content
Daniel Peter edited this page Dec 20, 2023 · 8 revisions

Development plan

SPECFEM2D

last update: December, 2023

Feature Priority Timeline Status Version
PML on GPU for elastic case medium - 👍 version 8.1
poroelastic kernel / iterations / tools medium - 💤
HTI & TTI kernels

from Wenyong's modified version

medium - -
time-reversal simulation (by Zoe) medium 2023 🌧️
higher-order time scheme symplectic low - -

Version history

  • version 8.1 (December 2023):
    Hom Nath Gharti, Daniel Peter, Eduardo Valero Cano

    • adds support for Q values in tomographic models
    • updates GPU support, OpenMP and test workflows
    • various code updates and improvements (noise simulations)
  • version 8.0 (December 2022):
    Etienne Bachmann, Alexis Bottero, Bryant Chow, Paul Cristini, Rene Gassmoeller, Michael Gineste, Felix Halpaap, Dimitri Komatitsch, Matthieu Lefebvre, Qiancheng Liu, Qinya Liu, Zhaolun Liu, David Luet, Ryan Modrak, Christina Morency, Daniel Peter, Eric Rosenkrantz, Herurisa Rusmanugroho, Elliott Sales de Andrade, Eduardo Valero Cano, Zhinan Xie, Zhendong Zhang

    • various code improvements
    • GPU support
    • axisymmetric 2.5D simulations
    • external mesh merge arrays with internal material properties

Issues

Issue Priority Timeline Status
- - - 💤

Continuous testing

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

  • for Pull requests:
    • make

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 --enable-double-precision
    • make --with-cuda=cuda5
    • make (w/ Intel)
    • tests example simple_topography_and_also_a_simple_fluid_layer
    • tests default Par_file
  • nightly builds:

    • simple_topography_and_also_a_simple_fluid_layer
    • axisymmetric_case_AXISYM_option
    • fluid_solid_external_mesh
    • LuoYang_fluid_solid_kernel

Travis-CI
Build Status

  • for Pull requests:
    • 30 different tests compile and run a limited number of timesteps
    • tests serial & MPI version
    • tests single & double precision & vectorization
    • tests NGLL 5
    • tests PML & Stacey
    • tests Newmark & LDDRK time scheme
    • tests axisymmetric & attenuation
    • tests acoustic, elastic & poroelastic media
    • tests initialfield Rayleigh & Rayleigh w/ crack
    • tests PSV & SH waves
    • tests noise simulation
    • tests NO_BACKWARD_RECONSTRUCTION
    • tests moving sources

Code coverage
codecov

  • integrated through travis tests
  • includes only CPU code tests

Jenkins
OS: Linux (Ubuntu 16.04.7 LTS)
compiler: GCC (v5.4.0), CUDA (v10.1)
hardware: CPU Intel(R) Xeon(R) CPU E5-2680 v3, GPU Tesla K40c

  • for Pull requests:
    • make tests
    • example simple_topography_and_also_a_simple_fluid_layer
    • example axisymmetric
    • example Tape2007 GPU
    • example Tromp2005 kernel GPU
    • example moving_sources_acoustic GPU
    • example industrial_format_SEP GPU
    • example anisotropic GPU
    • example anisotropic_isotropic_model GPU
    • example check_amplitude_viscoelastic GPU

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 simple_topography_and_also_a_simple_fluid_layer

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