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

Reply via email to