From 42532d117a915afc29c0fa5286996724e170ba33 Mon Sep 17 00:00:00 2001 From: Roland Haas Date: Fri, 24 Jan 2025 13:05:24 -0600 Subject: [PATCH 1/2] CI: complete OpenMP options --- scripts/actions-cpu-real32.cfg | 3 +++ scripts/actions-cpu-real64.cfg | 3 +++ scripts/actions-cuda-real32.cfg | 5 ++++- scripts/actions-cuda-real64.cfg | 5 ++++- scripts/actions-oneapi-real64.cfg | 5 ++++- scripts/actions-rocm-real64.cfg | 3 +++ 6 files changed, 21 insertions(+), 3 deletions(-) diff --git a/scripts/actions-cpu-real32.cfg b/scripts/actions-cpu-real32.cfg index c4115068f..f38754bef 100644 --- a/scripts/actions-cpu-real32.cfg +++ b/scripts/actions-cpu-real32.cfg @@ -45,7 +45,10 @@ F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contrac OPENMP = yes CPP_OPENMP_FLAGS = -fopenmp FPP_OPENMP_FLAGS = -D_OPENMP +C_OPENMP_FLAGS = -fopenmp +CXX_OPENMP_FLAGS = -fopenmp F90_OPENMP_FLAGS = -fopenmp +LD_OPENMP_FLAGS = -fopenmp # -fanalyzer: finds only possible null dereferences in std::vector WARN = yes diff --git a/scripts/actions-cpu-real64.cfg b/scripts/actions-cpu-real64.cfg index dfc3733a7..e14584c44 100644 --- a/scripts/actions-cpu-real64.cfg +++ b/scripts/actions-cpu-real64.cfg @@ -45,7 +45,10 @@ F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contrac OPENMP = yes CPP_OPENMP_FLAGS = -fopenmp FPP_OPENMP_FLAGS = -D_OPENMP +C_OPENMP_FLAGS = -fopenmp +CXX_OPENMP_FLAGS = -fopenmp F90_OPENMP_FLAGS = -fopenmp +LD_OPENMP_FLAGS = -fopenmp # -fanalyzer: finds only possible null dereferences in std::vector WARN = yes diff --git a/scripts/actions-cuda-real32.cfg b/scripts/actions-cuda-real32.cfg index f0c895eae..ae076b73d 100644 --- a/scripts/actions-cuda-real32.cfg +++ b/scripts/actions-cuda-real32.cfg @@ -13,7 +13,7 @@ CXX = nvcc -x cu FPP = cpp FC = gfortran F90 = gfortran -LD = nvcc +LD = nvcc --forward-unknown-to-host-compiler --relocatable-device-code=true --objdir-as-tempdir CPPFLAGS = -DSIMD_DISABLE CFLAGS = -pipe -g -std=gnu11 @@ -55,7 +55,10 @@ F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contrac OPENMP = yes CPP_OPENMP_FLAGS = -fopenmp FPP_OPENMP_FLAGS = -D_OPENMP +C_OPENMP_FLAGS = -fopenmp +CXX_OPENMP_FLAGS = -fopenmp F90_OPENMP_FLAGS = -fopenmp +LD_OPENMP_FLAGS = -fopenmp # -fanalyzer: finds only possible null dereferences in std::vector WARN = yes diff --git a/scripts/actions-cuda-real64.cfg b/scripts/actions-cuda-real64.cfg index 8f9f1bba6..fdd165ec1 100644 --- a/scripts/actions-cuda-real64.cfg +++ b/scripts/actions-cuda-real64.cfg @@ -13,7 +13,7 @@ CXX = nvcc -x cu FPP = cpp FC = gfortran F90 = gfortran -LD = nvcc +LD = nvcc --forward-unknown-to-host-compiler --relocatable-device-code=true --objdir-as-tempdir CPPFLAGS = -DSIMD_DISABLE CFLAGS = -pipe -g -std=gnu11 @@ -55,7 +55,10 @@ F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contrac OPENMP = yes CPP_OPENMP_FLAGS = -fopenmp FPP_OPENMP_FLAGS = -D_OPENMP +C_OPENMP_FLAGS = -fopenmp +CXX_OPENMP_FLAGS = -fopenmp F90_OPENMP_FLAGS = -fopenmp +LD_OPENMP_FLAGS = -fopenmp # -fanalyzer: finds only possible null dereferences in std::vector WARN = yes diff --git a/scripts/actions-oneapi-real64.cfg b/scripts/actions-oneapi-real64.cfg index 948150ce2..f230f9c8b 100644 --- a/scripts/actions-oneapi-real64.cfg +++ b/scripts/actions-oneapi-real64.cfg @@ -13,7 +13,7 @@ CXX = /opt/intel/oneapi/compiler/2025.0/bin/icpx FPP = cpp FC = gfortran F90 = gfortran -LD = /opt/intel/oneapi/compiler/2025.0/bin/icpx +LD = /opt/intel/oneapi/compiler/2025.0/bin/icpx -fsycl # -g # Debug information uses too much disk space on CI CPPFLAGS = -DSIMD_DISABLE @@ -54,7 +54,10 @@ F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contrac OPENMP = no CPP_OPENMP_FLAGS = -fopenmp FPP_OPENMP_FLAGS = -D_OPENMP +C_OPENMP_FLAGS = -fopenmp +CXX_OPENMP_FLAGS = -fopenmp F90_OPENMP_FLAGS = -fopenmp +LD_OPENMP_FLAGS = -fopenmp WARN = yes CPP_WARN_FLAGS = -Wall diff --git a/scripts/actions-rocm-real64.cfg b/scripts/actions-rocm-real64.cfg index f067f13ba..b57094cc9 100644 --- a/scripts/actions-rocm-real64.cfg +++ b/scripts/actions-rocm-real64.cfg @@ -52,7 +52,10 @@ F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contrac OPENMP = no CPP_OPENMP_FLAGS = -fopenmp FPP_OPENMP_FLAGS = -D_OPENMP +C_OPENMP_FLAGS = -fopenmp +CXX_OPENMP_FLAGS = -fopenmp F90_OPENMP_FLAGS = -fopenmp +LD_OPENMP_FLAGS = -fopenmp WARN = yes CPP_WARN_FLAGS = -Wall From 387f199e5d837938ac5789fd873695b0c53c97d1 Mon Sep 17 00:00:00 2001 From: Roland Haas Date: Tue, 28 Jan 2025 09:30:59 -0500 Subject: [PATCH 2/2] CI: add LD debug options --- scripts/actions-cuda-real32.cfg | 1 + scripts/actions-cuda-real64.cfg | 1 + 2 files changed, 2 insertions(+) diff --git a/scripts/actions-cuda-real32.cfg b/scripts/actions-cuda-real32.cfg index ae076b73d..a1abb6625 100644 --- a/scripts/actions-cuda-real32.cfg +++ b/scripts/actions-cuda-real32.cfg @@ -46,6 +46,7 @@ C_DEBUG_FLAGS = -fbounds-check -fsanitize=undefined -fstack-protector-all -ftrap CXX_DEBUG_FLAGS = -fbounds-check -fsanitize=undefined -fstack-protector-all -ftrapv FPP_DEBUG_FLAGS = -DCARPET_DEBUG F90_DEBUG_FLAGS = -fcheck=bounds,do,mem,pointer,recursion -finit-character=65 -finit-integer=42424242 -finit-real=nan -fsanitize=undefined -fstack-protector-all -ftrapv +LD_DEBUG_FLAGS = -fsanitize=undefined OPTIMISE = yes C_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans diff --git a/scripts/actions-cuda-real64.cfg b/scripts/actions-cuda-real64.cfg index fdd165ec1..a7f31ba6b 100644 --- a/scripts/actions-cuda-real64.cfg +++ b/scripts/actions-cuda-real64.cfg @@ -46,6 +46,7 @@ C_DEBUG_FLAGS = -fbounds-check -fsanitize=undefined -fstack-protector-all -ftrap CXX_DEBUG_FLAGS = -fbounds-check -fsanitize=undefined -fstack-protector-all -ftrapv FPP_DEBUG_FLAGS = -DCARPET_DEBUG F90_DEBUG_FLAGS = -fcheck=bounds,do,mem,pointer,recursion -finit-character=65 -finit-integer=42424242 -finit-real=nan -fsanitize=undefined -fstack-protector-all -ftrapv +LD_DEBUG_FLAGS = -fsanitize=undefined OPTIMISE = yes C_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans