This repository contains workflows to generate performance benchmarks for SPECFEM++ against the original SPECFEM solvers (SPECFEM2D).
The benchmarks are generated using Snakemake.
Benchmarks for 2D forward simulations :
To reproduce the benchmarks, you need to have the following dependencies installed:
- SPECFEM2D with a working cpu and gpu installation.
- SPECFEM++ with a working cpu and gpu installation.
- Poetry for managing python dependencies.
Once you have installed the dependencies, you can run the benchmarks using the following steps:
- Clone the repository:
git clone
- Change to the repository directory:
cd specfempp_benchmarks
- Install the python dependencies:
poetry install
-
Update the
config.yaml
(located withinforward_simulations
directory) file with the paths to the SPECFEM2D and SPECFEM++ executables. -
Run the benchmarks:
Note: Make sure you have access to a GPU to run GPU benchmarks.
cd forward_simulations
snakemake -j 4
If you are using a SLURM cluster, you can schedule the benchmark runs as slurm jobs using the following command:
cd forward_simulations
snakemake -j 4 --executor slurm
Warning: The benchmarks can take a long time to run depending on the number of processors.
SPECFEM++ benchmarks is distributed under the GPL v3 license