Skip to content

Commit

Permalink
Merge branch 'master' into actor
Browse files Browse the repository at this point in the history
  • Loading branch information
krenzland committed Oct 20, 2021
2 parents a0675b9 + 40c06d7 commit ab708f2
Show file tree
Hide file tree
Showing 440 changed files with 15,017 additions and 2,320,244 deletions.
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
@@ -0,0 +1,28 @@
---
name: Feature request
about: Suggest adding a feature that is not yet in SeisSol
labels: feature

---

<!--*Please add a concise summary of your suggestion here.*-->

### Rationale

<!--*Is your feature request related to a problem? Please describe it!*-->

### Description

<!--*Describe the solution you'd like and the alternatives you have considered.*-->


### Additional information
<!--*Add any other context about the feature request here.*-->


### General information

- [ ] I have searched the issues of this repo and believe this is not a duplicate


Other than that, thanks for taking the time to contribute to SeisSol!
3 changes: 3 additions & 0 deletions .gitignore
Expand Up @@ -60,3 +60,6 @@ postprocessing/validation/XDMFCubeCheck/build
*.dblite
config.log
.sconf_temp
/cmake-build-debug/
/cmake-build-release/
/cmake-build-relwithdebinfo/
221 changes: 221 additions & 0 deletions .gitlab-ci.yml
@@ -0,0 +1,221 @@
stages:
- pre_build
- build
- test
- performance_eval

ci_builder_pre:
stage: pre_build
tags:
- ci_testing_cc
variables:
GIT_STRATEGY: clone
before_script:
- git branch -vva
- echo $commit_author_name
script:
- echo "checking availability of ci_testing_cc"
- git --version
- git submodule set-url submodules/xdmfwriter https://github.com/TUM-I5/XdmfWriter.git
- git submodule set-url submodules/cxxtest https://github.com/CxxTest/cxxtest.git
- git submodule set-url submodules/utils https://github.com/TUM-I5/utils.git
- git submodule set-url submodules/async https://github.com/TUM-I5/ASYNC.git
- git submodule set-url submodules/scons-tools https://github.com/TUM-I5/scons-tools.git
- git submodule set-url submodules/PUML https://github.com/TUM-I5/PUML2.git
- git submodule set-url submodules/easi https://github.com/SeisSol/easi.git
- git submodule set-url submodules/yaml-cpp https://github.com/jbeder/yaml-cpp.git
- git submodule set-url submodules/ImpalaJIT https://github.com/uphoffc/ImpalaJIT.git
- git submodule set-url submodules/yateto https://github.com/SeisSol/yateto.git
- git submodule set-url submodules/eigen3 https://github.com/eigenteam/eigen-git-mirror
- git submodule set-url submodules/Device https://github.com/SeisSol/Device.git
- git submodule --quiet update --init --recursive
- wget -q https://syncandshare.lrz.de/dl/fiJNAokgbe2vNU66Ru17DAjT/netcdf-4.6.1.tar.gz
- wget -q https://github.com/hfp/libxsmm/archive/master.zip
- sudo apt-get install -qq --yes gcc-8 g++-8 gfortran-8 pkg-config cmake cmake-data
- sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 100
- sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-8 100
- sudo update-alternatives --install /usr/bin/gfortran gfortran /usr/bin/gfortran-8 100
- sudo apt-get install -qq --yes unzip openmpi-bin openmpi-common libopenmpi-dev hdf5-tools libhdf5-openmpi-dev python3 python3-pip libmetis-dev libparmetis-dev cxxtest libarmadillo-dev
- gfortran --version
- pip3 install --upgrade pip
- pip3 install 'numpy>=1.12.0'
- pip3 install lxml
- pip3 install setuptools
- pip3 install sphinx
- pip3 install sphinx_rtd_theme
- tar -xzf netcdf-4.6.1.tar.gz
- cd netcdf-4.6.1 && CC=h5pcc ./configure --prefix=/usr --enable-shared=no --disable-dap && make && sudo make install && cd ..
- unzip master.zip
- cd libxsmm-master && make generator && sudo cp bin/libxsmm_gemm_generator /usr/bin && cd ..

ci_builder_build:
stage: build
tags:
- ci_testing_cc
needs:
- job: ci_builder_pre
before_script:
- cat .git/config
parallel:
matrix:
- precision: double
- precision: single
script:
- echo "now building"
- echo $CI_REGISTRY $CI_REGISTRY_IMAGE $CI_REGISTRY_USER
- git submodule update --init --recursive
- cmake --version
- set -euo pipefail
- export IFS=$'\n\t'
- export CTEST_OUTPUT_ON_FAILURE=1
- equation=elastic
- mechanisms=0
- for build_type in Release ;
do for equation in elastic ;
do dirname="build_${equation}_${precision}_${build_type}";
echo "mkdir $dirname";
if [ "$equation" = viscoelastic2 ]; then mechanisms=3; else mechanisms=0; fi;
mkdir -p $dirname && cd $dirname ;
pwd;
CMAKE_PREFIX_PATH=~ ;
cmake -DNETCDF=OFF -DMETIS=ON -DCOMMTHREAD=ON -DASAGI=OFF -DHDF5=ON -DCMAKE_BUILD_TYPE=$build_type -DTESTING=ON -DLOG_LEVEL=warning -DLOG_LEVEL_MASTER=info -DARCH=hsw -DPRECISION=$precision -DEQUATIONS=$equation -DNUMBER_OF_MECHANISMS=$mechanisms -DGEMM_TOOLS_LIST=LIBXSMM .. ;
make -j $(nproc);
cd .. ;
done;
done;

artifacts:
paths:
- build_*

ci_builder_test:
stage: test
tags:
- ci_testing_cc
allow_failure: true
needs:
- job: ci_builder_build
parallel:
matrix:
- DIR: build_elastic_double_Release
- DIR: build_elastic_single_Release
script:
- echo "testing"
- pwd
- ls
- cd $DIR
- make test

gpu_pre_build:
stage: pre_build
tags:
- atsccs68-docker-executor
allow_failure: true
variables:
GIT_STRATEGY: clone
image:
name: ravilmobile/seissol_base_amd64:ubuntu-1804_gcc-8.3.0_openmpi-3.1.5_cuda-10.1.243
entrypoint: [""]
before_script:
- git branch -vva
- echo $commit_author_name
script:
- echo "HOST arch.:" $HOST
- echo "GPU vendor:" $GPU_VENDOR ", GPU model:" $GPU_MODEL
- nvidia-smi

gpu_build:
stage: build
tags:
- atsccs68-docker-executor
allow_failure: false
needs:
- job: gpu_pre_build
image:
name: ravilmobile/seissol_base_amd64:ubuntu-1804_gcc-8.3.0_openmpi-3.1.5_cuda-10.1.243
entrypoint: [""]
before_script:
- git submodule init
- sed -i 's/\.\.\/\.\./https\:\/\/github\.com/g' .gitmodules
- git submodule sync
- git submodule --quiet update --init --recursive
script:
- export CTEST_OUTPUT_ON_FAILURE=1
- . /opt/spack-environment/seissol_env.sh
- . /opt/spack-environment/cuda_env.sh
- pip3 install git+https://github.com/ravil-mobile/gemmforge.git
- set -euo pipefail
- for precision in double single; do
mkdir -p ./build_${precision} && cd ./build_${precision} ;
cmake ..
-DCMAKE_BUILD_TYPE=Release
-DDEVICE_ARCH=${GPU_VENDOR}
-DDEVICE_SUB_ARCH=${GPU_MODEL}
-DHOST_ARCH=${HOST}
-DPRECISION=${precision} ;
make -j ;
cd .. ;
done;
- set +u
artifacts:
paths:
- build_*

gpu_convergence_test:
stage: test
tags:
- atsccs68-docker-executor
allow_failure: false
needs:
- job: gpu_build
image:
name: ravilmobile/seissol_base_amd64:ubuntu-1804_gcc-8.3.0_openmpi-3.1.5_cuda-10.1.243
entrypoint: [""]
script:
- export CTEST_OUTPUT_ON_FAILURE=1
- . /opt/spack-environment/seissol_env.sh
- . /opt/spack-environment/cuda_env.sh
- git clone https://github.com/SeisSol/Examples.git tests
- pip3 install -r ./tests/convergence_elastic/requirements.txt
- set -euo pipefail
- for precision in double single; do
cd ./build_${precision} ;
echo "Elastic Convergence test with precision - " ${precision} ;
cp -r ../tests/convergence_elastic/* . ;
PYTHONPATH=$PWD python3 ./elastic_convergence_runner
--executable $PWD/SeisSol_Release_?nvidia_?_elastic
--tmp-dir /tmp/seissol
--sizes 4 8 16
--expected-errors 1e-2 1e-4 5e-5
--norm-type LInf
--end-time 0.5
--allow-run-as-root ;
cd .. ;
done;
- set +u
artifacts:
paths:
- build_*

gpu_performance_test:
stage: performance_eval
tags:
- atsccs68-docker-executor
allow_failure: true
needs:
- job: gpu_convergence_test
image:
name: ravilmobile/seissol_base_amd64:ubuntu-1804_gcc-8.3.0_openmpi-3.1.5_cuda-10.1.243
entrypoint: [""]
script:
- export CTEST_OUTPUT_ON_FAILURE=1
- . /opt/spack-environment/seissol_env.sh
- . /opt/spack-environment/cuda_env.sh
- set -euo pipefail
- for precision in double single; do
echo "Running SeiSol proxy with precision - " ${precision} ;
cd ./build_${precision} ;
./SeisSol_proxy_Release_?${GPU_VENDOR}_?_elastic 100000 100 all ;
cd .. ;
done;
- set +u
6 changes: 3 additions & 3 deletions .gitmodules
Expand Up @@ -28,9 +28,9 @@
[submodule "submodules/yateto"]
path = submodules/yateto
url = ../../SeisSol/yateto.git
[submodule "submodules/pythonXdmfReader"]
path = submodules/pythonXdmfReader
url = ../../Thomas-Ulrich/pythonXdmfReader
[submodule "submodules/eigen3"]
path = submodules/eigen3
url = ../../eigenteam/eigen-git-mirror
[submodule "submodules/Device"]
path = submodules/Device
url = ../../SeisSol/Device.git
64 changes: 0 additions & 64 deletions .travis.yml

This file was deleted.

0 comments on commit ab708f2

Please sign in to comment.