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

Build for Sandybridge and Haswell

efengle
Novice
351 Views

I work on a Cray HPC.  The login nodes are Intel Sandybridge and the compute nodes are Intel Haswell.  We need our software system to be optimized for both Intel architectures.  I am compiling our libraries and executables with -axCORE-AVX2,AVX as instructed here: 

https://software.intel.com/en-us/articles/performance-tools-for-software-developers-intel-compiler-options-for-sse-generation-and-processor-specific-optimizations

However, when I run an executable on the login node (i.e. Sandybridge), I get the following runtime error:

Please verify that both the operating system and the processor support Intel(R) MOVBE, FMA, BMI, LZCNT and AVX2 instructions.

Any help is greatly appreciated.

0 Kudos
1 Reply
TimP
Honored Contributor III
351 Views

I think that if you want AVX2 optimization with fall-back to AVX on the Sandy Bridge, the architecture option would be -axCORE-AVX2 -mavx.  I agree that it's not clear in the page you referred to, nor is it clear why the option you chose would require AVX2 (it might also generate SSE2 code support).

As to whether supporting both AVX2 and AVX is worth while, it would depend on the application.  I never saw more than 4% gain over AVX, and the multiple path build may be slower on the Sandy Bridge, as well as potentially producing slight differences in results.

0 Kudos
Reply