Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28808 Discussions

Compiler options compatible with AMD EPYC 7742

Multipath
Novice
3,623 Views

We built our application using the Intel Fortran and C compilers.  It also uses MKL.  However when we try and run it on an AMD EPYC 7742 we get the message

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 and POPCNT instructions.

The compiler options we are using are:

FORTRAN_FLAGS.....=-real_size 64 -integer_size 64 -align dcommons,rec16byte,sequence -auto -reentrancy threaded -fpic -c -xSSE4.2 -axCORE-AVX2,CORE-AVX-I,AVX -nologo -threads -static-intel
FORTRAN_OPT.......=-O3

and

C_FLAGS...........=-c -align -fPIC -xSSE4.2 -axCORE-AVX2,CORE-AVX-I,AVX -static
C_OPT.............=-O3

Our app runs great on all the Intel processors.  However we need to make it work at some level to support a customer system.

What compiler options should we use?

Will MKL work on this AMD processor?

Thanks

0 Kudos
1 Reply
Steve_Lionel
Honored Contributor III
3,456 Views

Replace -xSSE4.2 with "-arch SSE4.2" (no quotes). -x, other than -xHost (which you could also use if you are running on the same system), requires that the application run on an Intel CPU.

MKL will work on AMD CPUs.

If you are using Intel C++, the same advice applies, but I will note that -ax on non-Intel CPUs always takes the "generic" code path. You can change what the generic path (defaults to SSE2) is with -arch.

 
0 Kudos
Reply