You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Document usage of architecture dependent compiler flags #13
We have -march=native enabled by default for GCC (and similar flags for other compilers, see CXXFlags.cmake) but this is dangerous if compilation and execution architectures are different (e.g. compile on old Intel, execute on new AMD)
Indeed the binary wheel is NOT produced with any of these flags enabled.
What should the default behavior be? On or off?
Whatever the default behavior, it has to be documented.
I've done a bit of reading and some very small experiments and I'm getting convinced that neither -march=native nor function multiversioning (attempted twice before) are the way to go. We need to go the explicit route (and SIMD in OpenMP is unfortunately only a suggestion to the compiler)
Activity
robertodr commentedon Jun 4, 2026
Nice quote:
I've done a bit of reading and some very small experiments and I'm getting convinced that neither
-march=nativenor function multiversioning (attempted twice before) are the way to go. We need to go the explicit route (and SIMD in OpenMP is unfortunately only a suggestion to the compiler)Reading sources:
I'll write in more details once I have a small prototype.