@@ -16,13 +16,14 @@ noether-asan:
16
16
interruptible : true
17
17
before_script :
18
18
# Environment
19
+ # Note: COVERAGE=0 is needed when using ASAN
19
20
- export COVERAGE=0 CC=gcc CXX=g++ FC=gfortran
20
21
- export NPROC_POOL=8
21
22
- echo "-------------- nproc ---------------" && NPROC_CPU=$(nproc) && NPROC_GPU=$(($(nproc)<8?$(nproc):8)) && echo "NPROC_CPU" $NPROC_CPU && echo "NPROC_GPU" $NPROC_GPU
22
23
- echo "-------------- CC ------------------" && $CC --version
23
24
- echo "-------------- CXX -----------------" && $CXX --version
24
25
- echo "-------------- FC ------------------" && $FC --version
25
- # ASAN
26
+ # ASAN
26
27
- echo "-------------- ASAN ----------------"
27
28
- export ASAN=1 AFLAGS="-fsanitize=address -fsanitize=leak"
28
29
- echo $AFLAGS
@@ -42,7 +43,7 @@ noether-asan:
42
43
- make -k -j$((NPROC_CPU / NPROC_POOL)) BACKENDS="$BACKENDS_CPU" JUNIT_BATCH="memcheck" junit realsearch=%
43
44
# Clang-tidy
44
45
- echo "-------------- clang-tidy ----------" && clang-tidy --version
45
- - make -j$NPROC_CPU tidy
46
+ - TIDY_OPTS="-fix-errors" make -j$NPROC_CPU tidy && git diff --color=always --exit-code
46
47
# Report status
47
48
- touch .SUCCESS
48
49
artifacts :
@@ -60,24 +61,22 @@ noether-cpu:
60
61
stage : test:cpu-and-tidy
61
62
tags :
62
63
- cpu
63
- - rocm
64
64
interruptible : true
65
65
before_script :
66
66
# Environment
67
- - export COVERAGE=1 CC=gcc CXX=g++ FC=gfortran HIPCC=hipcc
67
+ - export COVERAGE=1 CC=gcc CXX=g++ FC=gfortran
68
68
- export NPROC_POOL=8
69
69
- echo "-------------- nproc ---------------" && NPROC_CPU=$(nproc) && NPROC_GPU=$(($(nproc)<8?$(nproc):8)) && echo "NPROC_CPU" $NPROC_CPU && echo "NPROC_GPU" $NPROC_GPU
70
70
- echo "-------------- CC ------------------" && $CC --version
71
71
- echo "-------------- CXX -----------------" && $CXX --version
72
72
- echo "-------------- FC ------------------" && $FC --version
73
- - echo "-------------- HIPCC ---------------" && $HIPCC --version
74
73
- echo "-------------- GCOV ----------------" && gcov --version
75
74
# Libraries for backends
76
75
# -- LIBXSMM 2c145a109b5a8ad4e15f60ea42a86b9056bdc8b8
77
76
- cd .. && export XSMM_HASH=2c145a109b5a8ad4e15f60ea42a86b9056bdc8b8 && { [[ -d libxsmm-$XSMM_HASH ]] || { curl -L https://github.com/libxsmm/libxsmm/archive/$XSMM_HASH.tar.gz -o xsmm.tar.gz && tar zvxf xsmm.tar.gz && rm xsmm.tar.gz && make -C libxsmm-$XSMM_HASH -j$(nproc); }; } && export XSMM_DIR=$PWD/libxsmm-$XSMM_HASH && cd libCEED
78
77
- echo "-------------- LIBXSMM -------------" && basename $XSMM_DIR
79
- # -- OCCA v1.1 .0
80
- - cd .. && export OCCA_VERSION=occa-1.4 .0 && { [[ -d $OCCA_VERSION ]] || { git clone --depth 1 --branch v1.4 .0 https://github.com/libocca/occa.git $OCCA_VERSION && cd $OCCA_VERSION && export ENABLE_OPENCL="OFF" ENABLE_DPCPP="OFF" ENABLE_HIP="OFF" ENABLE_CUDA="OFF" && ./configure-cmake.sh && cmake --build build --parallel $NPROC_CPU && cmake --install build && cd ..; }; } && export OCCA_DIR=$PWD/$OCCA_VERSION/install && cd libCEED
78
+ # -- OCCA v1.6 .0
79
+ - cd .. && export OCCA_VERSION=occa-1.6 .0 && { [[ -d $OCCA_VERSION ]] || { git clone --depth 1 --branch v1.6 .0 https://github.com/libocca/occa.git $OCCA_VERSION && cd $OCCA_VERSION && export ENABLE_OPENCL="OFF" ENABLE_DPCPP="OFF" ENABLE_HIP="OFF" ENABLE_CUDA="OFF" && ./configure-cmake.sh && cmake --build build --parallel $NPROC_CPU && cmake --install build && cd ..; }; } && export OCCA_DIR=$PWD/$OCCA_VERSION/install && cd libCEED
81
80
- echo "-------------- OCCA ----------------" && git -C $OCCA_DIR describe --tags && LD_LIBRARY_PATH=$OCCA_DIR/lib $OCCA_DIR/bin/occa info
82
81
script :
83
82
- rm -f .SUCCESS
@@ -100,8 +99,8 @@ noether-cpu:
100
99
- source /home/jawr8143/SmartSimTestingSoftware/bin/activate && export SMARTREDIS_DIR=/home/jawr8143/SmartSimTestingSoftware/smartredis/install
101
100
- echo "-------------- PETSc ---------------" && make -C $PETSC_DIR info
102
101
- make -k -j$((NPROC_CPU / NPROC_POOL)) BACKENDS="$BACKENDS_CPU" JUNIT_BATCH="cpu" junit search="petsc fluids solids"
103
- # -- MFEM v4.2
104
- - cd .. && export MFEM_VERSION=mfem-4.2 && { [[ -d $MFEM_VERSION ]] || { git clone --depth 1 --branch v4.2 https://github.com/mfem/mfem.git $MFEM_VERSION && make -C $MFEM_VERSION -j$(nproc) serial CXXFLAGS="-O -std=c++11"; }; } && export MFEM_DIR=$PWD/$MFEM_VERSION && cd libCEED
102
+ # -- MFEM v4.6
103
+ - cd .. && export MFEM_VERSION=mfem-4.6 && { [[ -d $MFEM_VERSION ]] || { git clone --depth 1 --branch v4.6 https://github.com/mfem/mfem.git $MFEM_VERSION && make -C $MFEM_VERSION -j$(nproc) serial CXXFLAGS="-O -std=c++11"; }; } && export MFEM_DIR=$PWD/$MFEM_VERSION && cd libCEED
105
104
- echo "-------------- MFEM ----------------" && make -C $MFEM_DIR info
106
105
- make -k -j$((NPROC_CPU / NPROC_POOL)) BACKENDS="$BACKENDS_CPU" JUNIT_BATCH="cpu" junit search=mfem
107
106
# -- Nek5000 v19.0
@@ -115,10 +114,6 @@ noether-cpu:
115
114
- export DEAL_II_ROOT_DIR=/projects/dealii DEAL_II_DIR=/projects/dealii/install
116
115
- echo "-------------- deal.II -------------" && git -C $DEAL_II_ROOT_DIR -c safe.directory=$DEAL_II_ROOT_DIR describe --always
117
116
- make -k -j$NPROC_CPU BACKENDS="$BACKENDS_CPU" JUNIT_BATCH="cpu" junit search=dealii DEAL_II_DIR=$DEAL_II_DIR
118
- # Clang-tidy
119
- - echo "-------------- clang-tidy ----------" && clang-tidy --version
120
- - export OCCA_DIR= && make lib -j$NPROC_CPU
121
- - make -j$NPROC_CPU tidy
122
117
# Report status
123
118
- touch .SUCCESS
124
119
after_script :
@@ -158,7 +153,7 @@ noether-sycl:
158
153
script :
159
154
- rm -f .SUCCESS
160
155
# libCEED
161
- - make configure SYCL_DIR=/opt/intel/oneapi/compiler/2023.2.0/linux OPT='-O -march=native -ffp-contract=fast'
156
+ - make configure SYCL_DIR=/opt/intel/oneapi/compiler/latest OPT='-O -march=native -ffp-contract=fast'
162
157
- BACKENDS_SYCL=$(make info-backends-all | grep -o '/sycl[^ ]*' | tr '\n' ' ')
163
158
- echo "-------------- libCEED -------------" && make info
164
159
- echo "-------------- BACKENDS_SYCL -------" && echo $BACKENDS_SYCL
@@ -204,6 +199,9 @@ noether-cuda:
204
199
- source /home/jawr8143/SmartSimTestingSoftware/bin/activate && export SMARTREDIS_DIR=/home/jawr8143/SmartSimTestingSoftware/smartredis/install
205
200
- echo "-------------- PETSc ---------------" && make -C $PETSC_DIR info
206
201
- make -k -j$((NPROC_GPU / NPROC_POOL)) JUNIT_BATCH="cuda" junit BACKENDS="$BACKENDS_GPU" search="petsc fluids solids"
202
+ # Clang-tidy
203
+ - echo "-------------- clang-tidy ----------" && clang-tidy --version
204
+ - TIDY_OPTS="-fix-errors" make -j$NPROC_CPU tidy && git diff --color=always --exit-code
207
205
# Report status
208
206
- touch .SUCCESS
209
207
after_script :
@@ -265,8 +263,8 @@ noether-rocm:
265
263
- source /home/jawr8143/SmartSimTestingSoftware/bin/activate && export SMARTREDIS_DIR=/home/jawr8143/SmartSimTestingSoftware/smartredis/install
266
264
- echo "-------------- PETSc ---------------" && make -C $PETSC_DIR info
267
265
- make -k -j$((NPROC_GPU / NPROC_POOL)) BACKENDS="$BACKENDS_GPU" JUNIT_BATCH="hip" junit search="petsc fluids solids"
268
- # -- MFEM v4.2
269
- - cd .. && export MFEM_VERSION=mfem-4.2 && { [[ -d $MFEM_VERSION ]] || { git clone --depth 1 --branch v4.2 https://github.com/mfem/mfem.git $MFEM_VERSION && make -C $MFEM_VERSION -j$(nproc) serial CXXFLAGS="-O -std=c++11"; }; } && export MFEM_DIR=$PWD/$MFEM_VERSION && cd libCEED
266
+ # -- MFEM v4.6
267
+ - cd .. && export MFEM_VERSION=mfem-4.6 && { [[ -d $MFEM_VERSION ]] || { git clone --depth 1 --branch v4.6 https://github.com/mfem/mfem.git $MFEM_VERSION && make -C $MFEM_VERSION -j$(nproc) serial CXXFLAGS="-O -std=c++11"; }; } && export MFEM_DIR=$PWD/$MFEM_VERSION && cd libCEED
270
268
- echo "-------------- MFEM ----------------" && make -C $MFEM_DIR info
271
269
- make -k -j$((NPROC_GPU / NPROC_POOL)) BACKENDS="$BACKENDS_GPU" JUNIT_BATCH="hip" junit search=mfem
272
270
# -- Nek5000 v19.0
@@ -303,7 +301,7 @@ noether-rocm:
303
301
304
302
305
303
# ----------------------------------------------------------------------------------------
306
- # CPU + ROCm backends with CeedInt == float
304
+ # CPU + ROCm backends with CeedScalar == float (32 bit)
307
305
# ----------------------------------------------------------------------------------------
308
306
noether-float :
309
307
stage : test:gpu-and-float
0 commit comments