[gmx-users] Building gromacs on CRAY XC40

Szilárd Páll pall.szilard at gmail.com
Mon Oct 5 21:11:42 CEST 2015


On Mon, Oct 5, 2015 at 5:52 PM, Mark Abraham <mark.j.abraham at gmail.com>
wrote:

> 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.
>

That certainly does not look right (either), if the target is AVX2 (and
AFAIK XC40 means HSW-E CPUs), than the craype-haswell module should be
loaded.

--
Szilárd



>
> 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.
> --
> 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