Skip to content

Latest commit

 

History

History
61 lines (38 loc) · 2.29 KB

compiling-seissol.rst

File metadata and controls

61 lines (38 loc) · 2.29 KB

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<spack_installation>, 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

  1. Follow the instructions on Configuration <Configuration>.
  2. 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 <a_first_example>.