[gmx-developers] warning Emulating FMA instructions - this is probably not what you want!

Jochen Hub jhub at gwdg.de
Wed Oct 17 22:12:15 CEST 2012


Hi all,

many thanks for the help. I now compiled with gcc 4.7 and with manually 
adding export CFLAGS=-mfma4 (that is what you meant, right?). Now the 
warning does not appear any more.

I am not sure though how Gromacs performed on this hardware using these 
settings, as the AVX kernels are apparently not in release-4.6.

Thanks,
Jochen


Am 10/17/12 5:12 PM, schrieb Szilárd Páll:
> On Wed, Oct 17, 2012 at 4:46 PM, Berk Hess <hess at kth.se
> <mailto:hess at kth.se>> wrote:
>
>     Hi,
>
>     Apparently icc can compile the code, so than it's not strange that
>     you end up in this situation. But we should avoid this from happening.
>     SSE4.1 would be the next supported level, but you really want the
>     vex instructions and not plain SSE, as the latter is much slower.
>
>
> AMD explicitly states that only up to -msse3 should be used on Bulldozer
> and I have never tried to generate SSE4.1 instructions with icc and run
> it on AMD. I would not be surprised if it didn't work.
>
> --
> Szilárd
>
>     The best thing would be to use gcc, preferably 4.7.
>
>     Cheers,
>
>     Berk
>
>     ----- Reply message -----
>     From: "Szilárd Páll" <szilard.pall at cbr.su.se
>     <mailto:szilard.pall at cbr.su.se>>
>     To: "Discussion list for GROMACS development"
>     <gmx-developers at gromacs.org <mailto:gmx-developers at gromacs.org>>
>     Subject: [gmx-developers] warning Emulating FMA instructions - this
>     is probably not what you want!
>     Date: Wed, Oct 17, 2012 15:25
>
>
>     Hi,
>
>     First of all, as far as I know, the new icc 13 can not generate
>     AMD-compatible FMA4/XOP (v12 surely cant:
>     http://developer.amd.com/Assets/CompilerOptQuickRef-62004200.pdf),
>     so I find it strange that you've ended up with
>     GMX_ACCELERATION=AVX_128_FMA using an Intel compiler -- unless you
>     set the acceleration manually. To get FMA4 support you need to use a
>     recent gcc version, the newer the better. The Verlet kernels don't
>     benefit much from FMA4, so if you want to, you can use Intel
>     Compiler, but then you need to set the acceleration to SSE2 (max
>     SSE3 works, but we don't use these instructions).
>
>     On Wed, Oct 17, 2012 at 11:14 AM, Jochen Hub <jhub at gwdg.de
>     <mailto:jhub at gwdg.de>> wrote:
>
>         Hi developers,
>
>         does anyone know how to interpret this icc warning:
>
>         [  8%]
>         /home/jhub/src/gromacs/__include/gmx_x86_avx_128_fma.h(__88):
>         warning #1224: #warning directive: Emulating FMA instructions -
>         this is probably not what you want!
>
>            #warning Emulating FMA instructions - this is probably not
>         what you want!
>
>
>     This warning is related to a bug in the build system, you'll need to
>     add the -mfma4 flag to the compiler flags manually.
>
>     --
>     Szilard
>
>
>         I am compiling 46-release on a Interlagos 6378 with OpenMPI and
>         icc 13.0.0 20120731. My cmake line is:
>
>         cmake $gmxsrc \
>              -DFFTW_LIBRARY=$FFTW_LOCATION/__lib/libfftw3f.a \
>              -DFFTW3F_INCLUDE_DIR=$FFTW___LOCATION/include \
>              -DFFTW3F_LIBRARIES=$FFTW___LOCATION/lib/libfftw3f.a \
>              -DCMAKE_INSTALL_PREFIX=$(pwd) \
>              -DGMX_X11=OFF \
>              -DCMAKE_CXX_COMPILER=$MPICXX \
>              -DCMAKE_C_COMPILER=$MPICC \
>              -DGMX_MPI=ON \
>              -DGMX_PREFER_STATIC_LIBS=ON \
>              -DGMX_GPU=OFF
>
>         and cmake reported:
>
>         -- Performing Test GNU_AVX_CFLAG
>         -- Performing Test GNU_AVX_CFLAG - Success
>         -- Enabling 128-bit AVX Gromacs acceleration (with
>         fused-multiply add), and it will help compiler optimization.
>
>         Thanks a lot,
>         Jochen
>
>
>
>
>         --
>         ------------------------------__---------------------
>         Dr. Jochen Hub
>         Computational Molecular Biophysics Group
>         Institute for Microbiology and Genetics
>         Georg-August-University of Göttingen
>         Justus-von-Liebig-Weg 11, 37077 Göttingen, Germany.
>         Phone: +49-551-39-14189 <tel:%2B49-551-39-14189>
>         http://cmb.bio.uni-goettingen.__de/
>         <http://cmb.bio.uni-goettingen.de/>
>         ------------------------------__---------------------
>         --
>         gmx-developers mailing list
>         gmx-developers at gromacs.org <mailto:gmx-developers at gromacs.org>
>         http://lists.gromacs.org/__mailman/listinfo/gmx-__developers
>         <http://lists.gromacs.org/mailman/listinfo/gmx-developers>
>         Please don't post (un)subscribe requests to the list. Use the
>         www interface or send it to gmx-developers-request at __gromacs.org
>         <mailto:gmx-developers-request at gromacs.org>.
>
>
>
>     --
>     gmx-developers mailing list
>     gmx-developers at gromacs.org <mailto:gmx-developers at gromacs.org>
>     http://lists.gromacs.org/mailman/listinfo/gmx-developers
>     Please don't post (un)subscribe requests to the list. Use the
>     www interface or send it to gmx-developers-request at gromacs.org
>     <mailto:gmx-developers-request at gromacs.org>.
>
>
>
>

-- 
---------------------------------------------------
Dr. Jochen Hub
Computational Molecular Biophysics Group
Institute for Microbiology and Genetics
Georg-August-University of Göttingen
Justus-von-Liebig-Weg 11, 37077 Göttingen, Germany.
Phone: +49-551-39-14189
http://cmb.bio.uni-goettingen.de/
---------------------------------------------------



More information about the gromacs.org_gmx-developers mailing list