.gitlab-ci.yml 3.11 KB
Newer Older
1
variables:
Lukas Werner's avatar
Lukas Werner committed
2
   AUTH_USER: iwia023h
3
4

stages:
Lukas Werner's avatar
Lukas Werner committed
5
   - build
Sebastian Eibl's avatar
Sebastian Eibl committed
6
   - test
7

Lukas Werner's avatar
Lukas Werner committed
8
9
gcc_9_mpionly:
   stage: build
Sebastian Eibl's avatar
Sebastian Eibl committed
10
   script:
Lukas Werner's avatar
Lukas Werner committed
11
12
13
      - module load cmake/3.11.1
      - module load openmpi/3.1.5-gcc
      - module load gcc/9.1.0
Lukas Werner's avatar
Lukas Werner committed
14
15
      - export CXX=g++
      - export CC=gcc
Sebastian Eibl's avatar
Sebastian Eibl committed
16
17
18
19
20
      - export NUM_CORES=$(nproc --all)
      - export MAX_BUILD_CORES=$(( $(awk '( $1 == "MemTotal:" ) { print $2 }' /proc/meminfo) / ( 4 * 1024 * 1024  ) ))
      - "[[ $MAX_BUILD_CORES -lt $NUM_CORES ]] && export NUM_BUILD_CORES=$MAX_BUILD_CORES || export NUM_BUILD_CORES=$NUM_CORES"
      - $CXX --version
      - cmake --version
Lukas Werner's avatar
Lukas Werner committed
21
      - echo No ccache --version
Sebastian Eibl's avatar
Sebastian Eibl committed
22
      - mpirun --version
Sebastian Eibl's avatar
Sebastian Eibl committed
23
      - python3 --version
Sebastian Eibl's avatar
Sebastian Eibl committed
24
25
26
27
      - export CCACHE_BASEDIR=$CI_PROJECT_DIR
      - mkdir $CI_PROJECT_DIR/build
      - cd $CI_PROJECT_DIR/build
      - if dpkg --compare-versions `ompi_info | head -2 | tail -1 | sed 's/[^0-9.]*\([0-9.]*\).*/\1/'` ge 1.10; then export MPIEXEC_PREFLAGS="--allow-run-as-root" ; fi
Dominik Thoennes's avatar
Dominik Thoennes committed
28
29
30
31
32
33
      - cmake ..
        -DWALBERLA_BUFFER_DEBUG=$WALBERLA_BUFFER_DEBUG
        -DWALBERLA_BUILD_TESTS=ON
        -DWALBERLA_BUILD_BENCHMARKS=ON
        -DWALBERLA_BUILD_TUTORIALS=ON
        -DWALBERLA_BUILD_TOOLS=ON
34
        -DWALBERLA_BUILD_SHOWCASES=ON
Dominik Thoennes's avatar
Dominik Thoennes committed
35
36
37
38
39
40
41
42
43
44
45
46
        -DWALBERLA_BUILD_WITH_MPI=$WALBERLA_BUILD_WITH_MPI
        -DWALBERLA_BUILD_WITH_CUDA=$WALBERLA_BUILD_WITH_CUDA
        -DWALBERLA_BUILD_WITH_PYTHON=$WALBERLA_BUILD_WITH_PYTHON
        -DWALBERLA_BUILD_WITH_OPENMP=$WALBERLA_BUILD_WITH_OPENMP
        -DCMAKE_BUILD_TYPE=$CMAKE_BUILD_TYPE -DMPIEXEC_PREFLAGS=$MPIEXEC_PREFLAGS
        -DWALBERLA_DOUBLE_ACCURACY=$WALBERLA_DOUBLE_ACCURACY
        -DWARNING_ERROR=ON
        -DWALBERLA_BUILD_WITH_METIS=$WALBERLA_BUILD_WITH_METIS
        -DWALBERLA_BUILD_WITH_PARMETIS=$WALBERLA_BUILD_WITH_PARMETIS
        -DWALBERLA_ENABLE_GUI=$WALBERLA_ENABLE_GUI
        -DWALBERLA_BUILD_WITH_CODEGEN=$WALBERLA_BUILD_WITH_CODEGEN
        -DWALBERLA_STL_BOUNDS_CHECKS=$WALBERLA_STL_BOUNDS_CHECKS
47
      - cmake . -LA
Lukas Werner's avatar
Lukas Werner committed
48
      - cd tests/core
Lukas Werner's avatar
Lukas Werner committed
49
      - make -j $NUM_BUILD_CORES -l $NUM_CORES ReduceTest
50
51
52
53
54
55
56
57
   variables:
      CTEST_EXCLUDE_LABELS: "longrun"
      OMP_NUM_THREADS: "4"
      OMP_WAIT_POLICY: "PASSIVE"
      CMAKE_BUILD_TYPE: "Release"
      WALBERLA_BUFFER_DEBUG: "OFF"
      WALBERLA_DOUBLE_ACCURACY: "ON"
      WALBERLA_ENABLE_GUI: "OFF"
Lukas Werner's avatar
Lukas Werner committed
58
      WALBERLA_BUILD_WITH_MPI: "ON"
59
60
      WALBERLA_BUILD_WITH_OPENMP: "OFF"
      WALBERLA_BUILD_WITH_METIS: "OFF"
Lukas Werner's avatar
Lukas Werner committed
61
      WALBERLA_BUILD_WITH_PARMETIS: "OFF"
Sebastian Eibl's avatar
Sebastian Eibl committed
62
   tags:
63
      - testcluster
Lukas Werner's avatar
Lukas Werner committed
64
65
66
   artifacts:
      paths:
         - build
Sebastian Eibl's avatar
Sebastian Eibl committed
67

Lukas Werner's avatar
Lukas Werner committed
68
69
test:
   stage: test
Lukas Werner's avatar
Lukas Werner committed
70
71
   variables:
      SUBMIT_TO_SLURM: 1
Lukas Werner's avatar
Lukas Werner committed
72
      SLURM_PARTITION: "work"
Lukas Werner's avatar
Lukas Werner committed
73
      SLURM_TIMELIMIT: 20
Lukas Werner's avatar
Lukas Werner committed
74
      SLURM_CONSTRAINT: hwperf
Lukas Werner's avatar
Lukas Werner committed
75
      SLURM_NODELIST: broadep2
Lukas Werner's avatar
Lukas Werner committed
76
      SLURM_NODES: 1
Lukas Werner's avatar
Lukas Werner committed
77
78
      CTEST_EXCLUDE_LABELS: "longrun"
      CMAKE_BUILD_TYPE: "Release"
Lukas Werner's avatar
Lukas Werner committed
79
   script:
Lukas Werner's avatar
Lukas Werner committed
80
81
82
83
      - module load cmake/3.11.1
      - module load openmpi/3.1.5-gcc
      - module load gcc/9.1.0
      - module load slurm
Lukas Werner's avatar
Lukas Werner committed
84
      - export NUM_CORES=$(nproc --all)
Lukas Werner's avatar
Lukas Werner committed
85
86
      - hostname
      - echo $NUM_CORES
Lukas Werner's avatar
Lukas Werner committed
87
      - cd $CI_PROJECT_DIR/build/tests/core
Lukas Werner's avatar
Lukas Werner committed
88
      - ctest -C $CMAKE_BUILD_TYPE --output-on-failure -j $NUM_CORES -T Test -R ReduceTest
Sebastian Eibl's avatar
Sebastian Eibl committed
89
   tags:
90
      - testcluster