GCC optimal flag

Hi,
I’m currently recompiling some of my code as I compiled it with a too modern cpu specification (Broadwell). Am I correct in assuming that the majority of node of baobab would be usable if I compile with Westmere (-march=westmere) or should I check something else also?

Thanks in advance for your answer.

Dear Pablo, when compiling software with EasyBuild, we are setting march to core2 and it seems to work.

Best

Hi there,

You are right, according to our CPU matrix (cf. https://baobabmaster.unige.ch/admin/src/enduser/enduser.html#compute-nodes ) the minimum architecture is nowadays Westmere EP (cf. Westmere (microarchitecture) - Wikipedia ).

As extra care and to be even more sure, you should compile directly on Westmere nodes, i.e. --constraint=V2 .

Thx, bye,
Luca

Thanks, I managed to recompile the software I’m using without too much problem (once I removed the -march=native of a dependency of pytorch…).
The constraint=V2 is not possible without changing my code as I’m doing the compilation inside a docker image (a long docker build). This building is done on my own machine.
Given that docker is unsafe to use in a cluster environment I never asked to install it on baobab.