Skip to content

Commit 22dcde7

Browse files
committed
Merge branch 'simplified-containers' into 'development'
using simplified containers See merge request damask/DAMASK!1038
2 parents ccbfa9e + ab6f33c commit 22dcde7

7 files changed

+85
-95
lines changed

.gitlab-ci.yml

+75-89
Original file line numberDiff line numberDiff line change
@@ -137,127 +137,113 @@ mypy:
137137
tags:
138138
- matesting2-container-runner
139139
script:
140-
- cd ${TEMPDIR}
140+
- source env/DAMASK.sh
141141
- ./bin/DAMASK_test
142142
- find . -name '*.gcda' -not -path "**/test/*" -exec gcov {} \;
143143

144144
# -------------------------------------------------------------------------------------------------
145145

146-
.unittest_GNU:
146+
unittest_GCC_DEBUG:
147147
extends: .unittest
148-
image: git.damask-multiphysics.org:5050/damask/damask:ubuntu2404_gnu13_petsc2106_ml
149-
150-
unittest_GNU_DEBUG:
151-
extends: .unittest_GNU
148+
image: git.damask-multiphysics.org:5050/damask/damask/gcc_petsc-debug:2025.03.10
152149
before_script:
153-
- TEMPDIR=$(mktemp -d /tmp/tmp.XXXXXXXXXX)
154-
- cmake -B ${TEMPDIR} -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${TEMPDIR} -DCMAKE_BUILD_TYPE=RELEASE -DBUILDCMD_POST=-coverage
155-
- cmake --build ${TEMPDIR} --target install
150+
- cmake -B builddir -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${PWD} -DCMAKE_BUILD_TYPE=DEBUG -DBUILDCMD_POST=-coverage
151+
- cmake --build builddir --target install
156152

157-
unittest_GNU_RELEASE:
158-
extends: .unittest_GNU
153+
unittest_GCC_RELEASE:
154+
extends: .unittest
155+
image: git.damask-multiphysics.org:5050/damask/damask/gcc_petsc-default:2025.03.10
159156
before_script:
160-
- TEMPDIR=$(mktemp -d /tmp/tmp.XXXXXXXXXX)
161-
- cmake -B ${TEMPDIR} -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${TEMPDIR} -DCMAKE_BUILD_TYPE=RELEASE -DBUILDCMD_POST=-coverage
162-
- cmake --build ${TEMPDIR} --target install
157+
- cmake -B builddir -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${PWD} -DCMAKE_BUILD_TYPE=RELEASE -DBUILDCMD_POST=-coverage
158+
- cmake --build builddir --target install
163159

164-
unittest_GNU_PERFORMANCE:
165-
extends: .unittest_GNU
160+
unittest_GCC_PERFORMANCE:
161+
extends: .unittest
162+
image: git.damask-multiphysics.org:5050/damask/damask/gcc_petsc-default:2025.03.10
166163
before_script:
167-
- TEMPDIR=$(mktemp -d /tmp/tmp.XXXXXXXXXX)
168-
- cmake -B ${TEMPDIR} -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${TEMPDIR} -DCMAKE_BUILD_TYPE=PERFORMANCE -DBUILDCMD_POST=-coverage
169-
- cmake --build ${TEMPDIR} --target install
164+
- cmake -B builddir -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${PWD} -DCMAKE_BUILD_TYPE=PERFORMANCE -DBUILDCMD_POST=-coverage
165+
- cmake --build builddir --target install
170166

171167
# -------------------------------------------------------------------------------------------------
172168

173-
.unittest_Intel:
169+
unittest_oneAPI_DEBUG:
174170
extends: .unittest
175-
image: git.damask-multiphysics.org:5050/damask/damask:ubuntu2404_intelllvm20250_petsc2106_ml
176-
177-
unittest_Intel_DEBUG:
178-
extends: .unittest_Intel
171+
image: git.damask-multiphysics.org:5050/damask/damask/oneapi_petsc-debug:2025.03.09
179172
before_script:
180-
- source /opt/intel/oneapi/setvars.sh
181-
- TEMPDIR=$(mktemp -d /tmp/tmp.XXXXXXXXXX)
182-
- cmake -B ${TEMPDIR} -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${TEMPDIR} -DCMAKE_BUILD_TYPE=RELEASE -DBUILDCMD_POST=-coverage
183-
- cmake --build ${TEMPDIR} --target install
184-
- source env/DAMASK.sh
173+
# https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Floating-point-exception-in-dgeev/td-p/1665868
174+
- sed -i '/set (DEBUG_FLAGS "${DEBUG_FLAGS} -fpe-all=0/d' cmake/Compiler-IntelLLVM.cmake
175+
- sed -i 's/FP_TRAP_ON/FP_TRAP_OFF/g' src/parallelization.f90
176+
- cmake -B builddir -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${PWD} -DCMAKE_BUILD_TYPE=DEBUG
177+
- cmake --build builddir --target install
185178

186-
unittest_Intel_RELEASE:
187-
extends: .unittest_Intel
179+
unittest_oneAPI_RELEASE:
180+
extends: .unittest
181+
image: git.damask-multiphysics.org:5050/damask/damask/oneapi_petsc-default:2025.03.09
188182
before_script:
189-
- source /opt/intel/oneapi/setvars.sh
190-
- TEMPDIR=$(mktemp -d /tmp/tmp.XXXXXXXXXX)
191-
- cmake -B ${TEMPDIR} -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${TEMPDIR} -DCMAKE_BUILD_TYPE=RELEASE -DBUILDCMD_POST=-coverage
192-
- cmake --build ${TEMPDIR} --target install
193-
- source env/DAMASK.sh
183+
- cmake -B builddir -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${PWD} -DCMAKE_BUILD_TYPE=RELEASE
184+
- cmake --build builddir --target install
194185

195-
unittest_Intel_PERFORMANCE:
196-
extends: .unittest_Intel
186+
unittest_oneAPI_PERFORMANCE:
187+
extends: .unittest
188+
image: git.damask-multiphysics.org:5050/damask/damask/oneapi_petsc-default:2025.03.09
197189
before_script:
198-
- source /opt/intel/oneapi/setvars.sh
199-
- TEMPDIR=$(mktemp -d /tmp/tmp.XXXXXXXXXX)
200-
- cmake -B ${TEMPDIR} -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${TEMPDIR} -DCMAKE_BUILD_TYPE=PERFORMANCE -DBUILDCMD_POST=-coverage
201-
- cmake --build ${TEMPDIR} --target install
202-
- source env/DAMASK.sh
190+
- cmake -B builddir -DDAMASK_SOLVER=test -DCMAKE_INSTALL_PREFIX=${PWD} -DCMAKE_BUILD_TYPE=PERFORMANCE
191+
- cmake --build builddir --target install
203192

204193
###################################################################################################
205194

206-
.compile_grid:
195+
.compile:
207196
stage: compile
208197
tags:
209198
- matesting2-container-runner
210-
script:
199+
before_script:
200+
- tail +$(grep -n 'Configure Actions.*' /petsc/configure.log | cut -f 1 -d:) /petsc/configure.log
201+
- source env/DAMASK.sh
211202
- cd PRIVATE/testing
212-
- pytest -k 'compile and grid'
203+
204+
.compile_grid:
205+
extends: .compile
206+
script:
207+
- python -m pytest -k 'compile and grid'
213208

214209
.compile_mesh:
215-
stage: compile
216-
tags:
217-
- matesting2-container-runner
210+
extends: .compile
218211
script:
219-
- cd PRIVATE/testing
220-
- pytest -k 'compile and mesh'
212+
- python -m pytest -k 'compile and mesh'
221213

222-
grid_GNU:
214+
grid_GCC:
223215
extends: .compile_grid
224-
image: git.damask-multiphysics.org:5050/damask/damask:ubuntu2404_gnu13_petsc2106_ml
225-
before_script:
226-
- source env/DAMASK.sh
216+
image: git.damask-multiphysics.org:5050/damask/damask/gcc_petsc-default:2025.03.10
227217

228-
mesh_GNU:
218+
mesh_GCC:
229219
extends: .compile_mesh
230-
image: git.damask-multiphysics.org:5050/damask/damask:ubuntu2404_gnu13_petsc2106_ml
231-
before_script:
232-
- source env/DAMASK.sh
220+
image: git.damask-multiphysics.org:5050/damask/damask/gcc_petsc-default:2025.03.10
233221

234-
grid_GNU-64bit:
222+
grid_GCC-i64:
235223
extends: .compile_grid
236-
image: git.damask-multiphysics.org:5050/damask/damask:ubuntu2404_gnu13_petsc2106_int64
237-
before_script:
238-
- source env/DAMASK.sh
224+
image: git.damask-multiphysics.org:5050/damask/damask/gcc_petsc-i64:2025.03.10
239225

240-
mesh_GNU-64bit:
226+
mesh_GCC-i64:
241227
extends: .compile_mesh
242-
tags:
243-
- matesting2-container-runner
244-
image: git.damask-multiphysics.org:5050/damask/damask:ubuntu2404_gnu13_petsc2106_int64
245-
before_script:
246-
- source env/DAMASK.sh
247-
248-
grid_Intel:
249-
extends: .compile_grid
250-
image: git.damask-multiphysics.org:5050/damask/damask:ubuntu2404_intelllvm20250_petsc2106_ml
251-
before_script:
252-
- source /opt/intel/oneapi/setvars.sh
253-
- source env/DAMASK.sh
228+
image: git.damask-multiphysics.org:5050/damask/damask/gcc_petsc-i64:2025.03.10
254229

255-
mesh_Intel:
256-
extends: .compile_mesh
257-
image: git.damask-multiphysics.org:5050/damask/damask:ubuntu2404_intelllvm20250_petsc2106_ml
258-
before_script:
259-
- source /opt/intel/oneapi/setvars.sh
260-
- source env/DAMASK.sh
230+
grid_oneAPI:
231+
extends: .compile
232+
image: git.damask-multiphysics.org:5050/damask/damask/oneapi_petsc-default:2025.03.09
233+
script:
234+
# https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Floating-point-exception-in-dgeev/td-p/1665868
235+
- sed -i '/set (DEBUG_FLAGS "${DEBUG_FLAGS} -fpe-all=0/d' ../../cmake/Compiler-IntelLLVM.cmake
236+
- sed -i 's/FP_TRAP_ON/FP_TRAP_OFF/g' ../../src/parallelization.f90
237+
- python -m pytest -k 'compile and grid'
238+
239+
mesh_oneAPI:
240+
extends: .compile
241+
image: git.damask-multiphysics.org:5050/damask/damask/oneapi_petsc-default:2025.03.09
242+
script:
243+
# https://community.intel.com/t5/Intel-oneAPI-Math-Kernel-Library/Floating-point-exception-in-dgeev/td-p/1665868
244+
- sed -i '/set (DEBUG_FLAGS "${DEBUG_FLAGS} -fpe-all=0/d' ../../cmake/Compiler-IntelLLVM.cmake
245+
- sed -i 's/FP_TRAP_ON/FP_TRAP_OFF/g' ../../src/parallelization.f90
246+
- python -m pytest -k 'compile and mesh'
261247

262248
Marc_Intel:
263249
stage: compile
@@ -282,17 +268,17 @@ setup_Marc:
282268

283269

284270
###################################################################################################
285-
open-source_grid_GNU:
271+
open-source_grid_GCC:
286272
stage: fortran
287273
tags:
288274
- matesting2-container-runner
289-
image: git.damask-multiphysics.org:5050/damask/damask:ubuntu2404_gnu13_petsc2106_ml
275+
image: git.damask-multiphysics.org:5050/damask/damask/gcc_petsc-default:2025.03.10
290276
before_script:
291277
- cmake -DDAMASK_SOLVER=GRID && make -j2 all install
292278
- source env/DAMASK.sh
293279
script:
294280
- cd PRIVATE/testing
295-
- pytest -k 'not compile and grid and not signal and not restart'
281+
- pytest -k 'grid and not compile and not (signal or restart)'
296282

297283
open-source_grid_signal_restart:
298284
stage: fortran
@@ -309,21 +295,21 @@ open-source_grid_signal_restart:
309295
- echo Job start:" $(date)"
310296
script:
311297
- cd PRIVATE/testing
312-
- pytest -k 'not compile and grid and (signal or restart)' -m 'not cifail' --basetemp ${TESTROOT}/open-source -v
298+
- pytest -k 'grid and not compile and (signal or restart)' -m 'not cifail' --basetemp ${TESTROOT}/open-source -v
313299
after_script:
314300
- echo Job end:" $(date)"
315301

316-
open-source_mesh_GNU:
302+
open-source_mesh_GCC:
317303
tags:
318304
- matesting2-container-runner
319-
image: git.damask-multiphysics.org:5050/damask/damask:ubuntu2404_gnu13_petsc2106_ml
305+
image: git.damask-multiphysics.org:5050/damask/damask/gcc_petsc-default:2025.03.10
320306
stage: fortran
321307
before_script:
322308
- make mesh
323309
- source env/DAMASK.sh
324310
script:
325311
- cd PRIVATE/testing
326-
- pytest -k 'not compile and mesh'
312+
- pytest -k 'mesh and not compile'
327313

328314
Marc:
329315
stage: fortran

CMakeLists.txt

+2
Original file line numberDiff line numberDiff line change
@@ -140,6 +140,8 @@ message("PETSC_INCLUDES:\n${PETSC_INCLUDES}\n")
140140
set(CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${BUILDCMD_PRE} ${OPENMP_FLAGS} ${STANDARD_CHECK} ${OPTIMIZATION_FLAGS} ${COMPILE_FLAGS}")
141141
set(CMAKE_Fortran_LINK_EXECUTABLE "${BUILDCMD_PRE} ${CMAKE_Fortran_COMPILER} ${OPENMP_FLAGS} ${OPTIMIZATION_FLAGS} ${LINKER_FLAGS}")
142142

143+
set(CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}} ${PETSC_INCLUDES}") # zlib installed via PETSc
144+
143145
if(CMAKE_BUILD_TYPE STREQUAL "DEBUG")
144146
set(CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE} "${CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE}} ${DEBUG_FLAGS}")
145147
set(CMAKE_Fortran_LINK_EXECUTABLE "${CMAKE_Fortran_LINK_EXECUTABLE} ${DEBUG_FLAGS}")

PRIVATE

cmake/Compiler-IntelLLVM.cmake

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ elseif (OPTIMIZATION STREQUAL "DEFENSIVE")
1111
set (OPTIMIZATION_FLAGS "-O2")
1212
elseif (OPTIMIZATION STREQUAL "AGGRESSIVE")
1313
#set (OPTIMIZATION_FLAGS "-ipo -O3 -fp-model fast=2 -xHost") # ifx 2022.0 has problems with YAML types and IPO
14-
set (OPTIMIZATION_FLAGS "-O3 -fp-model fast=2 -xHost")
14+
set (OPTIMIZATION_FLAGS "-O3 -fp-model strict -xHost")
1515
endif ()
1616

1717
# -assume std_mod_proc_name (included in -standard-semantics) causes problems if other modules
@@ -70,7 +70,7 @@ set (DEBUG_FLAGS "${DEBUG_FLAGS} -traceback")
7070
set (DEBUG_FLAGS "${DEBUG_FLAGS} -gen-interfaces")
7171
# Generate an interface block for each routine. http://software.intel.com/en-us/blogs/2012/01/05/doctor-fortran-gets-explicit-again/
7272

73-
set (DEBUG_FLAGS "${DEBUG_FLAGS} -fp-stack-check")
73+
# set (DEBUG_FLAGS "${DEBUG_FLAGS} -fp-stack-check") not available on ifx 2025.0.4
7474
# Generate extra code after every function call to ensure that the floating-point (FP) stack is in the expected state
7575

7676
set (DEBUG_FLAGS "${DEBUG_FLAGS} -fp-model strict")

src/parallelization.f90

+1-1
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ subroutine parallelization_init()
8181
call PetscInitializeNoArguments(err_PETSc)
8282
CHKERRQ(err_PETSc)
8383

84-
#if defined(DEBUG) && defined(__INTEL_COMPILER)
84+
#if defined(DEBUG)
8585
call PetscSetFPTrap(PETSC_FP_TRAP_ON,err_PETSc)
8686
#else
8787
call PetscSetFPTrap(PETSC_FP_TRAP_OFF,err_PETSc)

src/quit.f90

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,9 +28,9 @@ subroutine quit(stop_id)
2828

2929

3030
call H5Open_f(err_HDF5) ! prevents error if not opened yet
31-
if (err_HDF5 < 0) write(ERROR_UNIT,'(a,i5)') ' Error in H5Open_f ',err_HDF5
31+
if (err_HDF5 < 0) write(ERROR_UNIT,'(a,i0)') ' Error in H5Open_f ',err_HDF5
3232
call H5Close_f(err_HDF5)
33-
if (err_HDF5 < 0) write(ERROR_UNIT,'(a,i5)') ' Error in H5Close_f ',err_HDF5
33+
if (err_HDF5 < 0) write(ERROR_UNIT,'(a,i0)') ' Error in H5Close_f ',err_HDF5
3434

3535
call PetscFinalize(err_PETSc)
3636

src/system_routines.f90

+2
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,9 @@ module system_routines
2222
signalusr1_C, &
2323
signalusr2_C, &
2424
isatty, &
25+
#if __INTEL_COMPILER_BUILD_DATE < 20240000
2526
f_c_string, &
27+
#endif
2628
free_C
2729

2830

0 commit comments

Comments
 (0)