-
Notifications
You must be signed in to change notification settings - Fork 232
Development plan
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 | 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 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
Github Actions
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
- 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
- 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
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 |
Development wiki for SPECFEM3D
Development wiki
- Home
- Development plan
- Best Practices
- Using Git for SPECFEM
- Advanced Git Topics
- Versioning Conventions
- Merging Development Branches into Master
User manual
- 01_introduction
- 02_getting_started
- 03_mesh_generation
- 04_creating_databases
- 05_running_the_solver
- 06_fault_sources
- 07_adjoint_simulations
- 08_doing_tomography
- 08b_performing_full_waveform_inversion_FWI_or_source_inversions
- 09_noise_simulations
- 10_gravity_calculations
- 11_graphics
- 12_running_scheduler
- 13_changing_the_model
- 14_post_processing
- 15_informations_for_developers
- A_reference_frame
- B_channel_codes
- C_troubleshooting
- D_license
- authors
- bug_reports
- copyright_and_version
- features
- manual_SPECFEM3D_Cartesian
- notes_and_acknowledgement
- sponsors