Hi Douglas, As per tradition, some little extra information follows.
The long and short of it is: > Any node before AVX microarchitecture either got phased out or setup in a > special queue (i.e. avoid them) ... > By default, builds would go on AVX microarchitecture (f.i. ivybridge happened > to be the common denominator) Effectively, this using `:avx:`was an opportunity related to circumstances around the tick-tock product cycles of Intel silicon at the time: YMMV. N.B. It was convenient, in the given context, to provide the default EasyBuild trees under the avx regime (see URL sent earlier, about avoiding gcc's `march`). > Builds were done on dedicated queues and the supported scheme involved using > SGE's features, as needed, to steer the builds where they should go, per > microarchitecture. > On that last one, nodes have been tagged, each with a corresponding > `cpuflags` tag. f.i. `:avx:avx2:avx512cd:avx512f:f16c:fma:lm:sse:sse4_2:` - > if you have SGE [...] The invisible work done here was behind choosing judiciously the CPU_FLAGS_LIST, since effectively it is what the linux kernel exposes in relation to microarchitecture features and allows large scale automation with both current and future nodes. It is important because some software can get very picky on this: OpenBLAS comes to mind now, but there were more. > And the name of the game is to watch out your allocation of CPU horsepower > and check if there is some user who needs further help to optimise code. i.e. if you keep a close watch on the top10 or top20 global usage, you can arrive to very levels of efficiency without unjustifiably increasing the complexity for all users of the HPC platforms or, imposing on them any artificial incompatibilities with using the cloud. Which, actually, makes me turn this into a question: * Q. Have people in this list faced the need of (arch) compatibility between HPC and vendor clouds and how did you go about it? Anything to share? enjoy the weekend to all, F. -- echo "sysadmin know better bash than english" | sed s/min/mins/ \ | sed 's/better bash/bash better/' # Yelling in a CERN forum