[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