forked from SeisSol/SeisSol
/
azure-pipelines-seissol-template.yml
42 lines (41 loc) · 2.38 KB
/
azure-pipelines-seissol-template.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
jobs:
- ${{ each equation in parameters.equations }}:
- ${{ each precision in parameters.precisions }}:
- ${{ each build_type in parameters.build_types }}:
- job:
displayName: ${{ format('equation:{0} precision:{1} build_type:{2}', equation, precision, build_type) }}
pool:
vmImage: 'ubuntu-18.04'
steps:
- bash: |
set -euo pipefail
export IFS=$'\n\t'
export CTEST_OUTPUT_ON_FAILURE=1
whoami
pwd
ls
sudo apt-get update
sudo apt-get install gcc-8 g++-8 gfortran-8
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
gcc --version
sudo apt-get install -qq openmpi-bin openmpi-common libopenmpi-dev hdf5-tools libhdf5-openmpi-100 libhdf5-openmpi-dev python3 python3-pip libmetis-dev libparmetis-dev cxxtest
sudo pip3 install --upgrade pip
sudo pip3 install 'numpy>=1.12.0'
git clone https://github.com/hfp/libxsmm
cd libxsmm
make generator -j $(nproc)
mkdir -p $HOME/bin
cp bin/libxsmm_gemm_generator $HOME/bin
export PATH=$HOME/bin:$PATH
cd ..
git submodule update --init
if [ "${{ equation }}" = viscoelastic2 ]; then
mechanisms=3
else
mechanisms=0
fi
mkdir -p build && cd build
CMAKE_PREFIX_PATH=~ PKG_CONFIG_PATH=~/lib/pkgconfig/ 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 -DHOST_ARCH=hsw -DPRECISION=${{ precision }} -DEQUATIONS=${{ equation }} -DNUMBER_OF_MECHANISMS=$mechanisms -DGEMM_TOOLS_LIST=LIBXSMM ..
make -j $(nproc)
make test