[gmx-developers] Wrong compiler flag when using the Intel compiler for Skylake CPUs

Daniel Tameling tamelingdaniel at gmail.com
Sat Apr 1 07:36:45 CEST 2017


Dear all,

I recently built GROMACS 2016.1 for the Skylake architecture.
However, the executable crashed when I trid to run it.
The reason for this was that the code was compiled with -xMIC-AVX512, which
generates AVX512 instructions for the Knights Landing architecture, which
are partly incompatible with the AVX512 instruction set for Skylakes.

The reason for this compiler flag to be used is the following code
in cmake/gmxManageSimd.cmake

elseif(GMX_SIMD STREQUAL "AVX_512")

   ...

   "-xMIC-AVX512" "-mavx512f -mfma" "-mavx512f" "/arch:AVX" "-hgnu") #
no AVX_512F flags known for MSVC yet


I checked the GROMACS repository, and this code seems still to be present.

To generate correct code for Skylakes, the -xMIC-AVX512 should be
replaced by -xCORE-AVX512.


Best regards,

Daniel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://maillist.sys.kth.se/pipermail/gromacs.org_gmx-developers/attachments/20170401/2b59ad4e/attachment.html>


More information about the gromacs.org_gmx-developers mailing list