Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
440 changed files
with
15,017 additions
and
2,320,244 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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! |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
Oops, something went wrong.