Available options
The cpeGNU toolchain supports the common toolchain options,
the additional GCC flags and some additional Cray-specific flags, two of which are
really just redefinitions of standard compiler flags.
GCC-specific flags
Option |
Categorie |
What? |
loop |
parallelism |
Automatic loop parallellisation |
f2c |
source |
Generate code compatible with f2c and f77 |
lto |
code generation |
Enable Link Time Optimization |
cpeGNU-specific flags
Option |
Categorie |
What? |
dynamic |
code generation |
Generate dynamically linked executable (default: True) |
mpich-mt |
parallelism |
Alternate Cray-MPICH library for MT support (default: False) |
gfortran9-compat |
source |
Add flags that improve compatibility with gfortran 9 for 10 and higher (default: False) |
mpich-mt: Directs the driver to link in an alternate version of the Cray-MPICH
library which provides fine-grained multi-threading support to applications that
perform MPI operations within threaded regions. (default: False)
Two further options trigger different compiler flags than in the GCC toolchain: verbose
and optarch
but have otherwise the same meaning.
Mapping of options onto compiler flags
Compiler optimization level
The common options translate into:
Option |
Flag |
noopt |
-O0 |
lowopt |
-O1 |
defaultopt |
-O2 -ftree-vectorize |
opt |
-O3 |
Other optimization-related options (and see also parallelism below):
Option |
Flag |
unroll |
-funroll-loops |
optarch |
TODO |
Floating point precision
Option |
Flag |
strict |
-mieee-fp -mno-recip |
precise |
-mno-recip |
defaultprec |
-fno-math-errno |
loose |
-fno-math-errno -mrecip -mno-ieee-fp |
veryloose |
-fno-math-errno -mrecip=all -mno-ieee-fp |
Other floating-point optimisation and accuracy-related flags:
Option |
What? |
ieee |
-mieee-fp -fno-trapping-math |
Option |
Flag |
vectorize |
False: -fno-tree-vectorize |
|
True: -ftree-vectorize |
loop |
-ftree-switch-conversion -floop-interchange -floop-strip-mine -floop-block |
openmp |
-fopenmp |
usempi |
No compiler flags |
mpich-mt |
-craympich-mt |
Code generation and linking options
Option |
Flag |
dynamic |
No flag as this is currently the only mode supported |
32bit |
-m32 |
debug |
-g |
pic |
-fPIC |
packed-linker-options |
Pack the linker options as comma separated list (default: False) |
shared |
-shared |
static |
-static |
rpath |
Use RPATH wrappers when --rpath is enabled in EasyBuild configuration (default: True) |
Option |
Flag |
cstd |
-std=%(value)s |
i8 |
-fdefault-integer-8 |
r8 |
-fdefault-real-8 |
f2c |
-ff2c |
Miscellaneous options
Option |
Flag |
verbose |
-craype-verbose |