Compiling and running SeisSol
Compiling SeisSol
Get the latest version of SeisSol on git by cloning the whole repository including all submodules:
git clone --recursive https://github.com/SeisSol/SeisSol.git
If you have compiled seissol-env with spack, load the module and compile SeisSol with (e.g.):
mkdir build-release && cd build-release
CC=mpicc CXX=mpiCC FC=mpif90 cmake -DNUMA_AWARE_PINNING=ON -DASAGI=ON -DCMAKE_BUILD_TYPE=Release -DHOST_ARCH=skx -DPRECISION=double -DORDER=4 -DGEMM_TOOLS_LIST=LIBXSMM,PSpaMM ..
make -j 4
Please adapt CC
, CXX
and FC
to the mpi compilers you used for compiling the dependencies.
In case of a manual installation of dependencies, you may have to prepend CMAKE_PREFIX_PATH
and PKG_CONFIG_PATH
to the cmake command, e.g. for dependencies installed in ${HOME}
:
CMAKE_PREFIX_PATH=~:$CMAKE_PREFIX_PATH PKG_CONFIG_PATH=~/lib/pkgconfig/:$PKG_CONFIG_PATH CC=...
It is also important that the executables of the matrix multiplication generators (Libxsmm, PSpaMM) have to be in $PATH
.
You can also compile just the proxy by make SeisSol-proxy
or only SeisSol with make SeisSol-bin
Note: CMake tries to detect the correct MPI wrappers.
You can also run ccmake ..
to see all available options and toggle them.
Compile with Score-P
The Score-P measurement infrastructure is a highly scalable and easy-to-use tool suite for profiling and event tracing of HPC applications. To compile with Score-P, use:
SCOREP_WRAPPER=off CXX=scorep-mpic++ CC=scorep-mpicc FC=scorep-mpif90 cmake ..
SCOREP_WRAPPER_INSTRUMENTER_FLAGS="--user --thread=omp --nomemory" make
Running SeisSol
Follow the instructions on Configuration.
Run SeisSol version of interest. To run the example:
./SeisSol_Release_.... parameter.par
Further information regarding meshing and parameter files etc. can be found in the documentation folder. See also A first example.