Start by looking at https://docs.easybuild.io/version-specific/toolchain-opts/
for the various toolchainopts you can set.
The definition of them are in
easybuild-framework/easybuild/toolchains/compiler/intel_compilers.py
and
easybuild-framework/easybuild/toolchains/compiler/inteliccifort.py
toolchainopts{'loose': True} is likely a good start at least.
________________________________________
From: [email protected] <[email protected]> on
behalf of Jakob Schiøtz <[email protected]>
Sent: Monday, October 30, 2023 11:03
To: [email protected]
Subject: [easybuild] Specifying optimization in easyconfigs
Hi folks,
I have noticed that in the intel/2023 toolchain (and subchains), optimization
has very wisely been set to a moderate level (-O2 -ftz -fp-speculation=safe
-fp-model precise). By setting the toolchain option 'opt' to True, -O2 is
changed to -O3 for a very moderate gain in performance.
For this specific package, I need to get rid of -fp-speculation=safe -fp-model
precise, as these options are not necessary for correctness and are detrimental
for performance (in this case the cost is a factor 2.5 - that is most certainly
a special case and not typical of other applications). I can do that by
setting the toolchain option 'extra_cflags': '-fp-speculation=fast -fp-model
fast', (those are actually the default settings for the compiler).
Is that the correct way to do something like that?
Should setting 'opt': True for the Intel toolchain change these compiler
options for the OneAPI compilers?
I agree that for a generic framework compiling numerical codes, the default
should be the more conservative settings, the Intel defaults may be too
agressive.
Best regards
Jakob
PS. This is for the ASAP3 package, I will submit the EasyConfigs once the fate
of SciPy-bundle-2023.07-iimkl-2023a.eb (#18875) has been decided.