Dear Miakel,
Ok, I have re-read the whole stuff.
If you compile something on Intel cpu with -xHOST or -xYYZZ, where YYZZ
is the highest code-extension (like for example CORE-AVX2), it will only
run on Intel cpu.
If you compile something on non-intel CPU with -xHOST, then it should
fall back to -mYYZZ, so it will not perform any CPUID check, it will run
on any CPU. (but the optimization is not necessarily the same than in
the case of -xYYZZ option). There is a bug in intel/2018a compiler, and
even if you compile with -xHOST on non-Intel CPU it will fall back to
-xYYZZ option (instead of -mXXYY option). In other words, -xHOST
compiled programs will not run on non-Inel CPUS, even if you compiled on
non-Intel CPU.
(I am holiday mode, sorry for the mistakes)
Sincerely,
B.
On 04/04/2018 16:06, Mikael Öhman wrote:
Sorry if this is a bit off-topic;
Since EasyBuild uses -xHost or equivalent, intel puts some
cpu-feature-indicator checks into all programs.
For even the simplest program (even a trivial "int main() {return
0;}"), when trying to run on AMD EPYC i get;
Please verify that both the operating system and the processor support
Intel(R) X87, CMOV, MMX, FXSAVE, SSE, SSE2, SSE3, SSSE3, SSE4_1,
SSE4_2, MOVBE, POPCNT, F16C, AVX, FMA, BMI, LZCNT and AVX2 instructions.
We only have a single EPYC machine that we bought for testing, and I
was hoping to let all users on our cluster try it out. But, pretty
much all software from the intel tree is not inaccessible, even though
I think most of them don't have any unsupported op-codes (though I
might be wrong).
Anyone know of any work-around to force ignoring this error, or am I
simply stuck with the foss-tree (which seems to work fine), as we
won't be rebuilding the entire tree just for a bit of testing.
Best regards, Mikael
--
HPC Consultant
HPC/VSC Support and System Administration
Computing Center
ULB/VUB
Avenue Adolphe Buyllaan 91 - CP 197
1050 Brussels
Belgium