Skip to content

Commit

Permalink
Merge pull request #290 from EinsteinToolkit/eschnett/harden
Browse files Browse the repository at this point in the history
CI: Harden executables
  • Loading branch information
eschnett authored Jun 9, 2024
2 parents 66d358d + 95263da commit a6de8f2
Show file tree
Hide file tree
Showing 24 changed files with 184 additions and 76 deletions.
6 changes: 3 additions & 3 deletions CarpetX/src/driver.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -1405,10 +1405,10 @@ GHExt::PatchData::LevelData::GroupData::GroupData(
robin_values.resize(numvars, 0);

amrex::BCRec bcrec;
for (int d = 0; d < dim; ++d) {
for (int f = 0; f < dim; ++f) {
for (int f = 0; f < 2; ++f) {
for (int d = 0; d < dim; ++d) {
const auto bc =
ghext->patchdata.at(patch).symmetries[d][f] == symmetry_t::periodic
ghext->patchdata.at(patch).symmetries[f][d] == symmetry_t::periodic
? amrex::BCType::int_dir
: amrex::BCType::ext_dir;
if (f == 0)
Expand Down
24 changes: 13 additions & 11 deletions TestODESolvers2/schedule.ccl
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,28 @@ STORAGE: state rhs error order
SCHEDULE TestODESolvers2_Initial AT initial
{
LANG: C
WRITES: state(everywhere)
WRITES: state(interior)
SYNC: state
} "Initialize state vector"

SCHEDULE TestODESolvers2_RHS IN ODESolvers_RHS
{
LANG: C
READS: state(everywhere)
WRITES: rhs(everywhere)
READS: state(interior)
WRITES: rhs(interior)
} "RHS function"

# SCHEDULE TestODESolvers2_Boundary AT poststep
# {
# LANG: C
# OPTIONS: global
# SYNC: state
# } "Apply boundary conditions to state vector"
SCHEDULE TestODESolvers2_Boundary IN ODESolvers_PostStep
{
LANG: C
OPTIONS: global
SYNC: state
} "Apply boundary conditions to state vector"

SCHEDULE TestODESolvers2_Error AT analysis
{
LANG: C
READS: state(everywhere)
WRITES: error(everywhere) order(everywhere)
READS: state(interior)
WRITES: error(interior) order(interior)
SYNC: error order
} "Calculate error in state vector"
18 changes: 9 additions & 9 deletions TestODESolvers2/src/odes.cxx
Original file line number Diff line number Diff line change
Expand Up @@ -38,20 +38,20 @@ extern "C" void TestODESolvers2_Initial(CCTK_ARGUMENTS) {
const Loop::GF3D<CCTK_REAL, 1, 1, 1> exp1_(cctkGH, exp1);
const Loop::GF3D<CCTK_REAL, 1, 1, 1> exp2_(cctkGH, exp2);

Loop::loop_all<1, 1, 1>(cctkGH, [&](const Loop::PointDesc &p) {
Loop::loop_int<1, 1, 1>(cctkGH, [&](const Loop::PointDesc &p) {
time_(p.I) = cctk_time;
poly_(p.I) = pow(1 + cctk_time, porder);
exp1_(p.I) = exp(cctk_time);
exp2_(p.I) = exp(cctk_time / 2);
});
}

// extern "C" void TestODESolvers2_Boundary(CCTK_ARGUMENTS) {
// DECLARE_CCTK_ARGUMENTS_TestODESolvers2_Boundary;
// DECLARE_CCTK_PARAMETERS;
//
// // do nothing
// }
extern "C" void TestODESolvers2_Boundary(CCTK_ARGUMENTS) {
DECLARE_CCTK_ARGUMENTS_TestODESolvers2_Boundary;
DECLARE_CCTK_PARAMETERS;

// do nothing
}

extern "C" void TestODESolvers2_RHS(CCTK_ARGUMENTS) {
DECLARE_CCTK_ARGUMENTS_TestODESolvers2_RHS;
Expand All @@ -66,7 +66,7 @@ extern "C" void TestODESolvers2_RHS(CCTK_ARGUMENTS) {
const Loop::GF3D<CCTK_REAL, 1, 1, 1> exp1_rhs_(cctkGH, exp1_rhs);
const Loop::GF3D<CCTK_REAL, 1, 1, 1> exp2_rhs_(cctkGH, exp2_rhs);

Loop::loop_all<1, 1, 1>(cctkGH, [&](const Loop::PointDesc &p) {
Loop::loop_int<1, 1, 1>(cctkGH, [&](const Loop::PointDesc &p) {
if (porder > 0)
if (abs(time_(p.I) - cctk_time) >
10 * numeric_limits<CCTK_REAL>::epsilon())
Expand All @@ -92,7 +92,7 @@ extern "C" void TestODESolvers2_Error(CCTK_ARGUMENTS) {
const Loop::GF3D<CCTK_REAL, 1, 1, 1> poly_err_(cctkGH, poly_err);
const Loop::GF3D<CCTK_REAL, 1, 1, 1> exp_order_(cctkGH, exp_order);

Loop::loop_all<1, 1, 1>(cctkGH, [&](const Loop::PointDesc &p) {
Loop::loop_int<1, 1, 1>(cctkGH, [&](const Loop::PointDesc &p) {
time_err_(p.I) = time_(p.I) - cctk_time;
poly_err_(p.I) = poly_(p.I) - pow(1 + cctk_time, porder);
if (cctk_iteration == 0) {
Expand Down
7 changes: 7 additions & 0 deletions TestODESolvers2/test/test-constant.par
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ CarpetX::blocking_factor_z = 1

CarpetX::ghost_size = 0

CarpetX::boundary_x = "dirichlet"
CarpetX::boundary_y = "dirichlet"
CarpetX::boundary_z = "dirichlet"
CarpetX::boundary_upper_x = "dirichlet"
CarpetX::boundary_upper_y = "dirichlet"
CarpetX::boundary_upper_z = "dirichlet"

CarpetX::dtfac = 1.0
Cactus::cctk_itlast = 1

Expand Down
7 changes: 7 additions & 0 deletions TestODESolvers2/test/test-dp87.par
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ CarpetX::blocking_factor_z = 1

CarpetX::ghost_size = 0

CarpetX::boundary_x = "dirichlet"
CarpetX::boundary_y = "dirichlet"
CarpetX::boundary_z = "dirichlet"
CarpetX::boundary_upper_x = "dirichlet"
CarpetX::boundary_upper_y = "dirichlet"
CarpetX::boundary_upper_z = "dirichlet"

CarpetX::dtfac = 1.0
Cactus::cctk_itlast = 1

Expand Down
7 changes: 7 additions & 0 deletions TestODESolvers2/test/test-euler.par
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ CarpetX::blocking_factor_z = 1

CarpetX::ghost_size = 0

CarpetX::boundary_x = "dirichlet"
CarpetX::boundary_y = "dirichlet"
CarpetX::boundary_z = "dirichlet"
CarpetX::boundary_upper_x = "dirichlet"
CarpetX::boundary_upper_y = "dirichlet"
CarpetX::boundary_upper_z = "dirichlet"

CarpetX::dtfac = 1.0
Cactus::cctk_itlast = 1

Expand Down
7 changes: 7 additions & 0 deletions TestODESolvers2/test/test-rk2.par
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ CarpetX::blocking_factor_z = 1

CarpetX::ghost_size = 0

CarpetX::boundary_x = "dirichlet"
CarpetX::boundary_y = "dirichlet"
CarpetX::boundary_z = "dirichlet"
CarpetX::boundary_upper_x = "dirichlet"
CarpetX::boundary_upper_y = "dirichlet"
CarpetX::boundary_upper_z = "dirichlet"

CarpetX::dtfac = 1.0
Cactus::cctk_itlast = 1

Expand Down
7 changes: 7 additions & 0 deletions TestODESolvers2/test/test-rk3.par
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ CarpetX::blocking_factor_z = 1

CarpetX::ghost_size = 0

CarpetX::boundary_x = "dirichlet"
CarpetX::boundary_y = "dirichlet"
CarpetX::boundary_z = "dirichlet"
CarpetX::boundary_upper_x = "dirichlet"
CarpetX::boundary_upper_y = "dirichlet"
CarpetX::boundary_upper_z = "dirichlet"

CarpetX::dtfac = 1.0
Cactus::cctk_itlast = 1

Expand Down
7 changes: 7 additions & 0 deletions TestODESolvers2/test/test-rk4.par
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ CarpetX::blocking_factor_z = 1

CarpetX::ghost_size = 0

CarpetX::boundary_x = "dirichlet"
CarpetX::boundary_y = "dirichlet"
CarpetX::boundary_z = "dirichlet"
CarpetX::boundary_upper_x = "dirichlet"
CarpetX::boundary_upper_y = "dirichlet"
CarpetX::boundary_upper_z = "dirichlet"

CarpetX::dtfac = 1.0
Cactus::cctk_itlast = 1

Expand Down
7 changes: 7 additions & 0 deletions TestODESolvers2/test/test-rkf78.par
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ CarpetX::blocking_factor_z = 1

CarpetX::ghost_size = 0

CarpetX::boundary_x = "dirichlet"
CarpetX::boundary_y = "dirichlet"
CarpetX::boundary_z = "dirichlet"
CarpetX::boundary_upper_x = "dirichlet"
CarpetX::boundary_upper_y = "dirichlet"
CarpetX::boundary_upper_z = "dirichlet"

CarpetX::dtfac = 1.0
Cactus::cctk_itlast = 1

Expand Down
7 changes: 7 additions & 0 deletions TestODESolvers2/test/test-ssprk3.par
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,13 @@ CarpetX::blocking_factor_z = 1

CarpetX::ghost_size = 0

CarpetX::boundary_x = "dirichlet"
CarpetX::boundary_y = "dirichlet"
CarpetX::boundary_z = "dirichlet"
CarpetX::boundary_upper_x = "dirichlet"
CarpetX::boundary_upper_y = "dirichlet"
CarpetX::boundary_upper_z = "dirichlet"

CarpetX::dtfac = 1.0
Cactus::cctk_itlast = 1

Expand Down
18 changes: 11 additions & 7 deletions scripts/actions-cpu-real32.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,14 @@ FPP = cpp
FC = gfortran
F90 = gfortran

CFLAGS = -pipe -g -std=gnu11
CXXFLAGS = -pipe -g -std=gnu++17
# Note: Use -fhardened for GCC14
# Note: GCC 13.2 with -ftrivial-auto-var-init=pattern mis-compiles (?) C++ lambdas

CFLAGS = -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -fPIE -fcf-protection=full -fstack-clash-protection -fstack-protector-strong -ftrivial-auto-var-init=pattern -g -march=x86-64-v3 -pie -pipe -std=gnu11
CXXFLAGS = -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -fPIE -fcf-protection=full -fstack-clash-protection -fstack-protector-strong -g -march=x86-64-v3 -pie -pipe -std=gnu++17
FPPFLAGS = -traditional
F90FLAGS = -pipe -g -fcray-pointer -ffixed-line-length-none
F90FLAGS = -fPIE -fcf-protection=full -fcray-pointer -ffixed-line-length-none -finit-character=65 -finit-integer=42424242 -finit-real=nan -fstack-clash-protection -fstack-protector-strong -g -march=x86-64-v3 -pie -pipe
LDFLAGS = -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,/usr/local/lib -Wl,-z,relro,-z,now

C_LINE_DIRECTIVES = yes
F_LINE_DIRECTIVES = yes
Expand All @@ -31,12 +35,12 @@ CPP_DEBUG_FLAGS = -DCARPET_DEBUG
C_DEBUG_FLAGS = -fbounds-check -fsanitize=undefined -fstack-protector-all -ftrapv
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
F90_DEBUG_FLAGS = -fcheck=bounds,do,mem,pointer,recursion -fsanitize=undefined -fstack-protector-all -ftrapv

OPTIMISE = yes
C_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans -funsafe-math-optimizations
CXX_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans -funsafe-math-optimizations
F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans -funsafe-math-optimizations
C_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans
CXX_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans
F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans

OPENMP = yes
CPP_OPENMP_FLAGS = -fopenmp
Expand Down
3 changes: 3 additions & 0 deletions scripts/actions-cpu-real32.ini
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ disabled-thorns = <<EOT
ExternalLibraries/LAPACK
ExternalLibraries/LORENE
ExternalLibraries/PAPI
# Builds too slowly
SpacetimeX/Weyl
SpacetimeX/SphericalHarmonics
EOT
enabled-thorns = <<EOT
CactusTest/TestAllTypes
Expand Down
14 changes: 8 additions & 6 deletions scripts/actions-cpu-real32.run
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,14 @@ env | sort >SIMFACTORY/ENVIRONMENT
echo "Starting:"
export CACTUS_STARTTIME=$(date +%s)

time \
mpiexec \
-n @NUM_PROCS@ \
@EXECUTABLE@ -L 3 @PARFILE@ \
>stdout.txt \
2>stderr.txt
# time \
# mpiexec \
# -n @NUM_PROCS@ \
# @EXECUTABLE@ -L 3 @PARFILE@ \
# >stdout.txt \
# 2>stderr.txt

time mpiexec -n @NUM_PROCS@ @EXECUTABLE@ -L 3 @PARFILE@

echo "Stopping:"
date
Expand Down
18 changes: 11 additions & 7 deletions scripts/actions-cpu-real64.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,14 @@ FPP = cpp
FC = gfortran
F90 = gfortran

CFLAGS = -pipe -g -std=gnu11
CXXFLAGS = -pipe -g -std=gnu++17
# Note: Use -fhardened for GCC14
# Note: GCC 13.2 with -ftrivial-auto-var-init=pattern mis-compiles (?) C++ lambdas

CFLAGS = -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -fPIE -fcf-protection=full -fstack-clash-protection -fstack-protector-strong -ftrivial-auto-var-init=pattern -g -march=x86-64-v3 -pie -pipe -std=gnu11
CXXFLAGS = -D_FORTIFY_SOURCE=3 -D_GLIBCXX_ASSERTIONS -fPIE -fcf-protection=full -fstack-clash-protection -fstack-protector-strong -g -march=x86-64-v3 -pie -pipe -std=gnu++17
FPPFLAGS = -traditional
F90FLAGS = -pipe -g -fcray-pointer -ffixed-line-length-none
F90FLAGS = -fPIE -fcf-protection=full -fcray-pointer -ffixed-line-length-none -finit-character=65 -finit-integer=42424242 -finit-real=nan -fstack-clash-protection -fstack-protector-strong -g -march=x86-64-v3 -pie -pipe
LDFLAGS = -L/usr/lib/x86_64-linux-gnu -Wl,-rpath,/usr/local/lib -Wl,-z,relro,-z,now

C_LINE_DIRECTIVES = yes
F_LINE_DIRECTIVES = yes
Expand All @@ -31,12 +35,12 @@ CPP_DEBUG_FLAGS = -DCARPET_DEBUG
C_DEBUG_FLAGS = -fbounds-check -fsanitize=undefined -fstack-protector-all -ftrapv
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
F90_DEBUG_FLAGS = -fcheck=bounds,do,mem,pointer,recursion -fsanitize=undefined -fstack-protector-all -ftrapv

OPTIMISE = yes
C_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans -funsafe-math-optimizations
CXX_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans -funsafe-math-optimizations
F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans -funsafe-math-optimizations
C_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans
CXX_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans
F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans

OPENMP = yes
CPP_OPENMP_FLAGS = -fopenmp
Expand Down
3 changes: 3 additions & 0 deletions scripts/actions-cpu-real64.ini
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@ disabled-thorns = <<EOT
ExternalLibraries/LAPACK
ExternalLibraries/LORENE
ExternalLibraries/PAPI
# Builds too slowly
SpacetimeX/Weyl
SpacetimeX/SphericalHarmonics
EOT
enabled-thorns = <<EOT
CactusTest/TestAllTypes
Expand Down
14 changes: 8 additions & 6 deletions scripts/actions-cpu-real64.run
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,14 @@ env | sort >SIMFACTORY/ENVIRONMENT
echo "Starting:"
export CACTUS_STARTTIME=$(date +%s)

time \
mpiexec \
-n @NUM_PROCS@ \
@EXECUTABLE@ -L 3 @PARFILE@ \
>stdout.txt \
2>stderr.txt
# time \
# mpiexec \
# -n @NUM_PROCS@ \
# @EXECUTABLE@ -L 3 @PARFILE@ \
# >stdout.txt \
# 2>stderr.txt

time mpiexec -n @NUM_PROCS@ @EXECUTABLE@ -L 3 @PARFILE@

echo "Stopping:"
date
Expand Down
6 changes: 3 additions & 3 deletions scripts/actions-cuda-real32.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@ 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

OPTIMISE = yes
C_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans -funsafe-math-optimizations
CXX_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans -funsafe-math-optimizations
F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans -funsafe-math-optimizations
C_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans
CXX_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans
F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans

OPENMP = yes
CPP_OPENMP_FLAGS = -fopenmp
Expand Down
14 changes: 8 additions & 6 deletions scripts/actions-cuda-real32.run
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,14 @@ env | sort >SIMFACTORY/ENVIRONMENT
echo "Starting:"
export CACTUS_STARTTIME=$(date +%s)

time \
mpiexec \
-n @NUM_PROCS@ \
@EXECUTABLE@ -L 3 @PARFILE@ \
>stdout.txt \
2>stderr.txt
# time \
# mpiexec \
# -n @NUM_PROCS@ \
# @EXECUTABLE@ -L 3 @PARFILE@ \
# >stdout.txt \
# 2>stderr.txt

time mpiexec -n @NUM_PROCS@ @EXECUTABLE@ -L 3 @PARFILE@

echo "Stopping:"
date
Expand Down
6 changes: 3 additions & 3 deletions scripts/actions-cuda-real64.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@ 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

OPTIMISE = yes
C_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans -funsafe-math-optimizations
CXX_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans -funsafe-math-optimizations
F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans -funsafe-math-optimizations
C_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans
CXX_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans
F90_OPTIMISE_FLAGS = -O3 -fcx-limited-range -fexcess-precision=fast -ffp-contract=fast -fno-math-errno -fno-rounding-math -fno-signaling-nans

OPENMP = yes
CPP_OPENMP_FLAGS = -fopenmp
Expand Down
Loading

0 comments on commit a6de8f2

Please sign in to comment.