Hi Fokko,

On 25/09/15 13:23, Fokko Masselink wrote:
Hi Kenneth,

thank you for the explanation.

It answers my question, though it seems it won't help me to get what I'm
after.

By default I want to create a "generic" build: so optarch=False.

Setting --optarch to an empty string should have this effect.


While I build (currently only on a SandyBridge), though I have some older
systems as well and the newer systems dont always need hw optimized code for
quite some applications.
Only for specific software I want to build optimized versions. So when I use a
Haswell to build I want to still build generic, but once in a while I want to
have an optimized version for it.
But when optarch=False, --optarch on the commandline has no effect.
To me it would be handy if --optarch= on the commandline would trigger a
optarch:True and set it to what I provide on the commandline.

This makes sense I think: defining --optarch implies enabling the use of the architecture-specific flags.

However, having the 'optarch' toolchain option set to True is the default anyway, and for easyconfigs that define `optarch: False`, there's usually a good reason.

So, maybe you just want to use --optarch='' instead, rather than changing "optarch: False" in easyconfigs everywhere?

I would somehow like to see a way to achieve the above.

Only thing I could think of (with the current version of EB):
change optarch to True (or unset, while it is the default)
and override my default builds with "--optarch=O2"
Can I leave optarch empty, so it behaves like optarch: False?

Yes, --optarch='' implies not using any architecture-specific flags (regardless of whether the 'optarch' toolchain option is set to False or True).

Can you add multiple values to optarch, like:
--optarch="xSSE4.2 axAVX,CORE-AVX-I,CORE-AVX2"
or should it be:
--optarch="xSSE4.2 -axAVX,CORE-AVX-I,CORE-AVX2"

The latter, but I consider requiring the first `-` to be stripped out a bug that we should fix.

You should be able to use --optarch="-xSSE4.2 -axAVX...", but now that'll lead to using --xSSE4.2 -axAVX...


regards,

Kenneth

Reply via email to