[gmx-users] Building gromacs on CRAY XC40

Mark Abraham mark.j.abraham at gmail.com
Mon Oct 5 17:52:57 CEST 2015


Hi,

Indeed, although having the craype-ivybridge module loaded (when perhaps it
was not loaded at CMake time) does not look like it would help.

Mark

On Mon, Oct 5, 2015 at 5:47 PM Szilárd Páll <pall.szilard at gmail.com> wrote:

> On Mon, Oct 5, 2015 at 6:15 AM, kevin chen <fch6699 at gmail.com> wrote:
>
> > Dear Gromacs users,
> >
> > I am trying to build gromacs on our latest supercomputer CRAY XC40, but
> the
> > following errors using gcc and fftw. Here's my list of module loaded and
> > install script, can anyone give any instructions?
> >
> > =========================================================================
> > Currently Loaded Modulefiles:
> >   1) modules/3.2.6.7                       8) gcc/4.9.3
> >        15) xpmem/0.1-2.0502.55507.3.2.ari
> >   2) eswrap/1.1.0-1.020200.1231.0          9) cray-libsci/13.1.0
> >         16) dvs/2.5_0.9.0-1.0502.1873.1.145.ari
> >   3) switch/1.0-1.0502.54233.2.96.ari     10)
> > udreg/2.3.2-1.0502.9275.1.12.ari     17) alps/5.2.1-2.0502.9041.11.6.ari
> >   4) craype-network-aries                 11)
> ugni/5.0-1.0502.9685.4.24.ari
> >        18) rca/1.0.0-2.0502.53711.3.127.ari
> >   5) craype/2.4.1                         12)
> > pmi/5.0.8-1.0000.10843.170.1.ari     19) atp/1.8.3
> >   6) cray-mpich/7.2.4                     13)
> > dmapp/7.0.1-1.0502.9501.5.219.ari    20) PrgEnv-gnu/5.2.40
> >   7) craype-ivybridge                     14)
> > gni-headers/3.0-1.0502.9684.5.2.ari  21) fftw/3.3.4.4
> >
> ===========================================================================
> > export CXX=`which cc`
> > export CC=`which cc`
> > export MPICC=`which cc`
> > export F77=`which ftn`
> > export INSTALL_PATH=/home1/03024/chenk/Software/Gromacs/install
> >
> > mkdir g_single_parallel
> > cd g_single_parallel
> >
> >
> > /home1/03024/chenk/Software/cmake/install/bin/cmake .. \
> > -DCMAKE_INSTALL_PREFIX=$INSTALL_PATH \
> > -DGMX_FFT_LIBRARY=fftw3 \
> > -DGMX_X11=OFF \
> > -DBUILD_SHARED_LIBS=OFF \
> > -DGMX_PREFER_STATIC_LIBS=ON \
> > -DGMX_BUILD_MDRUN_ONLY=OFF \
> > -DGMX_MPI=ON -DGMX_OPENMP=ON \
> > -DGMX_XML=OFF \
> > -DGMX_SOFTWARE_INVSQRT=OFF \
> > -DGMX_SKIP_DEFAULT_CFLAGS=ON \
> > -DCMAKE_C_COMPILER=cc \
> > -DCMAKE_C_FLAGS="-fomit-frame-pointer -finline-functions
> -funroll-all-loops
> > -O3 " \
> > -DCMAKE_CXX_COMPILER=cc \
> > -DCMAKE_CXX_FLAGS="-O3" \
> >
>
> "cc" should typically be a Cray compiler wrapper, so Mark's guess about the
> compiler rather than the wrapper being using is likely not the reason for
> the errors.
>
> I think the issue is that you seem to want to override _all_ GROMACS
> default compiler flags (BTW, amy I ask why do you want to do that?). In any
> case, if you believe you have something that works better for you or you
> want to test flags, you're free to do that, but you can't omit essential
> flags. In this case you seem to be missing those that enable SIMD
> intrinsics, that is -mavx2 (or in some gcc versions that's not supported,
> so you need to use -march=core-avx2).
>
> AFAICT you're not adding any of those flags and that would explain why does
> your build fail to recognize SIMD instrinsics.
>
> Let me know if your issue is solved and it would be interesting to hear if
> found a combination of flags that gives better performance than our default
> ones!
>
> Cheers,
> --
> Szilárd
>
>
>
> > -DGMX_DEFAULT_SUFFIX=ON \
> > -DGMX_EXTERNAL_BOOST=OFF \
> > -DGMX_BUILD_SHARED_EXE=off
> >
> > make -j 12
> > make install
> > =========================================================================
> > Error messages:
> >
> > In file included from
> >
> >
> /opt/gcc/4.9.3/snos/lib/gcc/x86_64-suse-linux/4.9.3/include/immintrin.h:61:0,
> >                  from
> >
> >
> /home1/03024/chenk/Software/Gromacs/GNU_FFTW/gromacs-5.0.6/src/gromacs/simd/impl_x86_avx2_256/impl_x86_avx2_256.h:40,
> >                  from
> >
> >
> /home1/03024/chenk/Software/Gromacs/GNU_FFTW/gromacs-5.0.6/src/gromacs/simd/simd.h:118,
> >                  from
> >
> >
> /home1/03024/chenk/Software/Gromacs/GNU_FFTW/gromacs-5.0.6/src/gromacs/gmxlib/bondfree.c:62:
> >
> >
> /home1/03024/chenk/Software/Gromacs/GNU_FFTW/gromacs-5.0.6/src/gromacs/simd/simd_math.h:
> > In function 'gmx_simd_rsqrt_iter_f':
> >
> >
> /opt/gcc/4.9.3/snos/lib/gcc/x86_64-suse-linux/4.9.3/include/fmaintrin.h:159:1:
> > error: inlining failed in call to always_inline '_mm256_fnmadd_ps':
> target
> > specific option mismatch
> >  _mm256_fnmadd_ps (__m256 __A, __m256 __B, __m256 __C)
> >  ^
> > In file included from
> >
> >
> /home1/03024/chenk/Software/Gromacs/GNU_FFTW/gromacs-5.0.6/src/gromacs/simd/simd.h:118:0,
> >                  from
> >
> >
> /home1/03024/chenk/Software/Gromacs/GNU_FFTW/gromacs-5.0.6/src/gromacs/gmxlib/bondfree.c:62:
> >
> >
> /home1/03024/chenk/Software/Gromacs/GNU_FFTW/gromacs-5.0.6/src/gromacs/simd/impl_x86_avx2_256/impl_x86_avx2_256.h:61:36:
> > error: called from here
> >  #define gmx_simd_fmadd_f           _mm256_fmadd_ps
> >                                     ^
> >
> >
> /home1/03024/chenk/Software/Gromacs/GNU_FFTW/gromacs-5.0.6/src/gromacs/simd/simd_math.h:146:12:
> > note: in expansion of macro 'gmx_simd_fmadd_f'
> >      return gmx_simd_fmadd_f(gmx_simd_fnmadd_f(x, gmx_simd_mul_f(lu, lu),
> > gmx_simd_set1_f(1.0f)), gmx_simd_mul_f(lu, gmx_simd_set1_f(0.5f)), lu);
> >             ^
> > In file included from
> >
> >
> /opt/gcc/4.9.3/snos/lib/gcc/x86_64-suse-linux/4.9.3/include/immintrin.h:61:0,
> >                  from
> >
> >
> /home1/03024/chenk/Software/Gromacs/GNU_FFTW/gromacs-5.0.6/src/gromacs/simd/impl_x86_avx2_256/impl_x86_avx2_256.h:40,
> >                  from
> >
> >
> /home1/03024/chenk/Software/Gromacs/GNU_FFTW/gromacs-5.0.6/src/gromacs/simd/simd.h:118,
> >                  from
> >
> >
> /home1/03024/chenk/Software/Gromacs/GNU_FFTW/gromacs-5.0.6/src/gromacs/gmxlib/bondfree.c:62:
> >
> >
> /opt/gcc/4.9.3/snos/lib/gcc/x86_64-suse-linux/4.9.3/include/fmaintrin.h:63:1:
> > error: inlining failed in call to always_inline '_mm256_fmadd_ps': target
> > specific option mismatch
> >  _mm256_fmadd_ps (__m256 __A, __m256 __B, __m256 __C)
> >  ^
> > In file included from
> >
> >
> /home1/03024/chenk/Software/Gromacs/GNU_FFTW/gromacs-5.0.6/src/gromacs/gmxlib/bondfree.c:63:0:
> >
> >
> /home1/03024/chenk/Software/Gromacs/GNU_FFTW/gromacs-5.0.6/src/gromacs/simd/simd_math.h:146:5:
> > error: called from here
> >      return gmx_simd_fmadd_f(gmx_simd_fnmadd_f(x, gmx_simd_mul_f(lu, lu),
> > gmx_simd_set1_f(1.0f)), gmx_simd_mul_f(lu, gmx_simd_set1_f(0.5f)), lu);
> >      ^
> > [ 51%] Building C object
> > src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/nrnb.c.o
> > make[2]: *** [src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/bondfree.c.o]
> > Error 1
> > make[2]: *** Waiting for unfinished jobs....
> > make[1]: *** [src/gromacs/CMakeFiles/libgromacs.dir/all] Error 2
> > make: *** [all] Error 2
> > [  0%] Building C object
> > src/gromacs/CMakeFiles/libgromacs.dir/gmxlib/bondfree.c.o
> > In file included from
> >
> >
> /opt/gcc/4.9.3/snos/lib/gcc/x86_64-suse-linux/4.9.3/include/immintrin.h:61:0,
> >
> > =========================================================================
> >
> > Thanks in advance!
> >
> > Kevin
> > --
> > Gromacs Users mailing list
> >
> > * Please search the archive at
> > http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> > posting!
> >
> > * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
> >
> > * For (un)subscribe requests visit
> > https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> > send a mail to gmx-users-request at gromacs.org.
> >
> --
> Gromacs Users mailing list
>
> * Please search the archive at
> http://www.gromacs.org/Support/Mailing_Lists/GMX-Users_List before
> posting!
>
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
>
> * For (un)subscribe requests visit
> https://maillist.sys.kth.se/mailman/listinfo/gromacs.org_gmx-users or
> send a mail to gmx-users-request at gromacs.org.


More information about the gromacs.org_gmx-users mailing list