Now that AMD EPYC processors are powering a lot of next generation super-computer clusters, we're going to have to figure out some workarounds!
Edit: the link I posted follows Agner's advice from the bottom of OPs link. However I think the extra information that it adds is that Zen2 Threadrippers outpaced then-current Intel's top contender. Once Zen3 and Intel's 11th Gen become available, repeating this benchmarks would be very valuable.
Anecdotally, (ignoring that I'm still not sure whether to trust it or not) Intel stopped developing IACA and suggested (but not recommended) LLVM's MCA - which does suggest a changing of the guard in some way.
to here: https://github.com/oneapi-src/oneDNN/blob/master/src/cpu/x64...
It's using feature-flag checks, not family checks, so you shouldn't be affected if you're using oneDNN.
You can do the same when your machine has non-intel CPUs that are supported by a lot of compilers. If you are on power9 or arm the compiler list gets shorter. And a lot of supercomputers start to contain accelerators (often, but not always Nvidia GPUs) in which case there is often only one supported compiler and you have to rewrite code until that compiler is happy and produces fast code.
BLIS is used by AMD and is a good open alternative to MKL (for BLAS) across many platforms. https://github.com/flame/blis/blob/master/docs/Performance.m...
I wonder if this Intel compiler 'superiority' is still the case today, or if this is just a meme at this point.
For C based software, its a much closer run thing, and often sticking with GCC avoids weird segfaults when mixing Intel and GCC-compiled Linux libraries.
[1]https://developer.amd.com/amd-aocl/blas-library/
[2] https://developer.amd.com/open-source-strikes-again-accelera...
To be generous...
Where do you typically see lack of inlining and vectorization with GCC? I'm curious because most times people have said GCC wouldn't vectorize code that I've been able to try, it would, at least if allowed -ffast-math a la Intel (as in BLIS now).
It is a myth that icc produces faster binaries that may have been true 25 years ago.
"The same effect was documented with some of the most popular mathematical software packages, including Mathematica, Mathcad, and Matlab."