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.


Reply via email to