Motivation
We're using the default march flags for package builds in the containers, which means -march=x86-64-v1 by default. This is very old.
Design
Use -march=x86-64-v3 where possible, which adds support for:
- AVX
- AVX2
- FMA 3
- ...and a bunch of other reasonable modern things.
In terms of timeframe, this supports intel (2013+ ish) and AMD Zen (2017+ ish; EPYC, etc). This should be good enough.
Note that it doesn't support AVX512. But... none of the AMD processors support AVX512 (even latest gen).
Impact
Will likely improve performance, but will lock out older CPUs.
Motivation
We're using the default
marchflags for package builds in the containers, which means-march=x86-64-v1by default. This is very old.Design
Use
-march=x86-64-v3where possible, which adds support for:In terms of timeframe, this supports intel (2013+ ish) and AMD Zen (2017+ ish; EPYC, etc). This should be good enough.
Note that it doesn't support AVX512. But... none of the AMD processors support AVX512 (even latest gen).
Impact
Will likely improve performance, but will lock out older CPUs.