[gmx-users] Build fails with AVX2_256 on Intel Xeon CPU E5-2680 v3

Koji Tanaka kj.tanaka at gmail.com
Mon Jan 25 19:54:47 CET 2016


Hi Nicolas, have you installed the latest binutils before going through the
installation? I used gcc/5.3.0, but the versions you've tried should work
fine, too.

Koji

On Mon, Jan 25, 2016 at 12:56 PM, Nicolas Cheron <
nicolas.cheron.boulot at gmail.com> wrote:

> Hi,
>
> All my installations are made from a clean build directory. I am
> using CentOS release 6.6 and the CPU is Intel Xeon CPU E5-2650 v3 @
> 2.30GHz. Here is the exact list of command that I have used (as I said, I
> have also tried with gcc4.9.3 and gcc5.2):
>
> module purge
> module load gcc/4.8.5
> cd /home2/ncheron/Programs/
> cp 00-Install/gromacs-5.1.1.tar.gz .
> tar zxf gromacs-5.1.1.tar.gz
> rm gromacs-5.1.1.tar.gz
> cd /home2/ncheron/Programs/gromacs-5.1.1
> umask 022
> mkdir build
> cd /home2/ncheron/Programs/gromacs-5.1.1/build
> mkdir /home2/ncheron/Programs/Gromacs5.1.1
>
> CMAKE_PREFIX_PATH=/home2/ncheron/Programs/LibXml_2.9.2:/home2/ncheron/Programs/Boost_1.60.0
> cmake .. -DGMX_OPENMP=ON -DGMX_THREAD_MPI=ON -DGMX_MPI=OFF -DGMX_GPU=OFF
> -DGMX_DOUBLE=OFF -DGMX_BUILD_MDRUN_ONLY=ON
> -DCMAKE_INSTALL_PREFIX=/home2/ncheron/Programs/Gromacs5.1.1
> -DGMX_BUILD_OWN_FFTW=ON
>
> -DGMX_BUILD_OWN_FFTW_URL=/home2/ncheron/Programs/00-Install/fftw-3.3.4.tar.gz
> -DGMX_DEFAULT_SUFFIX=OFF -DGMX_BINARY_SUFFIX=_Dell -DGMX_LIBS_SUFFIX=_Dell
> -DGMX_SIMD=AVX2_256
> make -j4
> make install
>
> The error file says:
> CMake Error at cmake/gmxManageSimd.cmake:271 (message):
>   Cannot find AVX2 compiler flag.  Use a newer compiler, or choose AVX SIMD
>   (slower).
> Call Stack (most recent call first):
>   CMakeLists.txt:645 (gmx_manage_simd)
>
>
> The output file says:
> -- The C compiler identification is GNU 4.8.5
> -- The CXX compiler identification is GNU 4.8.5
> -- Check for working C compiler: /usr/local/gcc/4.8.5/bin/gcc
> -- Check for working C compiler: /usr/local/gcc/4.8.5/bin/gcc -- works
> -- Detecting C compiler ABI info
> -- Detecting C compiler ABI info - done
> -- Detecting C compile features
> -- Detecting C compile features - done
> -- Check for working CXX compiler: /usr/local/gcc/4.8.5/bin/g++
> -- Check for working CXX compiler: /usr/local/gcc/4.8.5/bin/g++ -- works
> -- Detecting CXX compiler ABI info
> -- Detecting CXX compiler ABI info - done
> -- Detecting CXX compile features
> -- Detecting CXX compile features - done
> -- Try OpenMP C flag = [-fopenmp]
> -- Performing Test OpenMP_FLAG_DETECTED
> -- Performing Test OpenMP_FLAG_DETECTED - Success
> -- Try OpenMP CXX flag = [-fopenmp]
> -- Performing Test OpenMP_FLAG_DETECTED
> -- Performing Test OpenMP_FLAG_DETECTED - Success
> -- Found OpenMP: -fopenmp
> -- Performing Test CFLAGS_WARN
> -- Performing Test CFLAGS_WARN - Success
> -- Performing Test CFLAGS_WARN_EXTRA
> -- Performing Test CFLAGS_WARN_EXTRA - Success
> -- Performing Test CFLAGS_WARN_UNDEF
> -- Performing Test CFLAGS_WARN_UNDEF - Success
> -- Performing Test CFLAGS_WARN_REL
> -- Performing Test CFLAGS_WARN_REL - Success
> -- Performing Test CFLAGS_EXCESS_PREC
> -- Performing Test CFLAGS_EXCESS_PREC - Success
> -- Performing Test CFLAGS_COPT
> -- Performing Test CFLAGS_COPT - Success
> -- Performing Test CFLAGS_NOINLINE
> -- Performing Test CFLAGS_NOINLINE - Success
> -- Performing Test CXXFLAGS_WARN
> -- Performing Test CXXFLAGS_WARN - Success
> -- Performing Test CXXFLAGS_WARN_EXTRA
> -- Performing Test CXXFLAGS_WARN_EXTRA - Success
> -- Performing Test CXXFLAGS_WARN_UNDEF
> -- Performing Test CXXFLAGS_WARN_UNDEF - Success
> -- Performing Test CXXFLAGS_WARN_REL
> -- Performing Test CXXFLAGS_WARN_REL - Success
> -- Performing Test CXXFLAGS_EXCESS_PREC
> -- Performing Test CXXFLAGS_EXCESS_PREC - Success
> -- Performing Test CXXFLAGS_COPT
> -- Performing Test CXXFLAGS_COPT - Success
> -- Performing Test CXXFLAGS_NOINLINE
> -- Performing Test CXXFLAGS_NOINLINE - Success
> -- Looking for include file unistd.h
> -- Looking for include file unistd.h - found
> -- Looking for include file pwd.h
> -- Looking for include file pwd.h - found
> -- Looking for include file dirent.h
> -- Looking for include file dirent.h - found
> -- Looking for include file time.h
> -- Looking for include file time.h - found
> -- Looking for include file sys/time.h
> -- Looking for include file sys/time.h - found
> -- Looking for include file io.h
> -- Looking for include file io.h - not found
> -- Looking for include file sched.h
> -- Looking for include file sched.h - found
> -- Looking for include file regex.h
> -- Looking for include file regex.h - found
> -- Looking for posix_memalign
> -- Looking for posix_memalign - found
> -- Looking for memalign
> -- Looking for memalign - not found
> -- Looking for _aligned_malloc
> -- Looking for _aligned_malloc - not found
> -- Looking for gettimeofday
> -- Looking for gettimeofday - found
> -- Looking for sysconf
> -- Looking for sysconf - found
> -- Looking for nice
> -- Looking for nice - found
> -- Looking for fsync
> -- Looking for fsync - found
> -- Looking for _fileno
> -- Looking for _fileno - not found
> -- Looking for fileno
> -- Looking for fileno - found
> -- Looking for _commit
> -- Looking for _commit - not found
> -- Looking for sigaction
> -- Looking for sigaction - found
> -- Looking for rsqrt
> -- Looking for rsqrt - not found
> -- Looking for rsqrtf
> -- Looking for rsqrtf - not found
> -- Looking for sqrtf
> -- Looking for sqrtf - found
> -- Looking for clock_gettime in rt
> -- Looking for clock_gettime in rt - found
> -- Looking for feenableexcept in m
> -- Looking for feenableexcept in m - found
> -- Checking for sched.h GNU affinity API
> -- Performing Test sched_affinity_compile
> -- Performing Test sched_affinity_compile - Success
> -- Check if the system is big endian
> -- Searching 16 bit integer
> -- Looking for sys/types.h
> -- Looking for sys/types.h - found
> -- Looking for stdint.h
> -- Looking for stdint.h - found
> -- Looking for stddef.h
> -- Looking for stddef.h - found
> -- Check size of unsigned short
> -- Check size of unsigned short - done
> -- Using unsigned short
> -- Check if the system is big endian - little endian
> -- Defaulting to building static libraries
> -- Looking for zlibVersion in /usr/lib64/libz.so
> -- Looking for zlibVersion in /usr/lib64/libz.so - found
> -- Found LibXml2: /home2/ncheron/Programs/LibXml_2.9.2/lib/libxml2.so
> (found version "2.9.2")
> -- Looking for xmlTextWriterEndAttribute in
> /home2/ncheron/Programs/LibXml_2.9.2/lib/libxml2.so
> -- Looking for xmlTextWriterEndAttribute in
> /home2/ncheron/Programs/LibXml_2.9.2/lib/libxml2.so - found
> -- Looking for include file libxml/parser.h
> -- Looking for include file libxml/parser.h - found
> -- Looking for pthread.h
> -- Looking for pthread.h - found
> -- Looking for pthread_create
> -- Looking for pthread_create - not found
> -- Looking for pthread_create in pthreads
> -- Looking for pthread_create in pthreads - not found
> -- Looking for pthread_create in pthread
> -- Looking for pthread_create in pthread - found
> -- Found Threads: TRUE
> -- Looking for include file pthread.h
> -- Looking for include file pthread.h - found
> -- Atomic operations found
> -- Performing Test PTHREAD_SETAFFINITY
> -- Performing Test PTHREAD_SETAFFINITY - Success
> -- Boost version: 1.60.0
> -- Checking for GCC x86 inline asm
> -- Checking for GCC x86 inline asm - supported
> -- Setting build user/date/host/cpu information
> -- Setting build user & time - OK
> -- Checking floating point format
> -- Checking floating point format - IEEE754 (LE byte, LE word)
> -- Checking for 64-bit off_t
> -- Checking for 64-bit off_t - present
> -- Checking for fseeko/ftello
> -- Checking for fseeko/ftello - present
> -- Checking for SIGUSR1
> -- Checking for SIGUSR1 - found
> -- Checking for pipe support
> -- Checking for isfinite
> -- Performing Test isfinite_compile_ok
> -- Performing Test isfinite_compile_ok - Success
> -- Checking for isfinite - yes
> -- Checking for _isfinite
> -- Performing Test _isfinite_compile_ok
> -- Performing Test _isfinite_compile_ok - Failed
> -- Checking for _isfinite - no
> -- Checking for _finite
> -- Performing Test _finite_compile_ok
> -- Performing Test _finite_compile_ok - Failed
> -- Checking for _finite - no
> -- Performing Test CXXFLAG_STD_CXX0X
> -- Performing Test CXXFLAG_STD_CXX0X - Success
> -- Performing Test GMX_CXX11_SUPPORTED
> -- Performing Test GMX_CXX11_SUPPORTED - Success
> -- Looking for C++ include regex
> -- Looking for C++ include regex - not found
> -- Checking for system XDR support
> -- Checking for system XDR support - present
> -- Try C compiler AVX2 flag = [-march=core-avx2]
> -- Performing Test C_FLAG_march_core_avx2
> -- Performing Test C_FLAG_march_core_avx2 - Success
> -- Performing Test C_SIMD_COMPILES_FLAG_march_core_avx2
> -- Performing Test C_SIMD_COMPILES_FLAG_march_core_avx2 - Failed
> -- Try C compiler AVX2 flag = [-mavx2]
> -- Performing Test C_FLAG_mavx2
> -- Performing Test C_FLAG_mavx2 - Success
> -- Performing Test C_SIMD_COMPILES_FLAG_mavx2
> -- Performing Test C_SIMD_COMPILES_FLAG_mavx2 - Failed
> -- Try C compiler AVX2 flag = [/arch:AVX]
> -- Performing Test C_FLAG_arch_AVX
> -- Performing Test C_FLAG_arch_AVX - Failed
> -- Try C compiler AVX2 flag = [-hgnu]
> -- Performing Test C_FLAG_hgnu
> -- Performing Test C_FLAG_hgnu - Failed
> -- Try C compiler AVX2 flag = []
> -- Performing Test C_FLAG_
> -- Performing Test C_FLAG_ - Success
> -- Performing Test C_SIMD_COMPILES_FLAG_
> -- Performing Test C_SIMD_COMPILES_FLAG_ - Failed
> -- Try C++ compiler AVX2 flag = [-march=core-avx2]
> -- Performing Test CXX_FLAG_march_core_avx2
> -- Performing Test CXX_FLAG_march_core_avx2 - Success
> -- Performing Test CXX_SIMD_COMPILES_FLAG_march_core_avx2
> -- Performing Test CXX_SIMD_COMPILES_FLAG_march_core_avx2 - Failed
> -- Try C++ compiler AVX2 flag = [-mavx2]
> -- Performing Test CXX_FLAG_mavx2
> -- Performing Test CXX_FLAG_mavx2 - Success
> -- Performing Test CXX_SIMD_COMPILES_FLAG_mavx2
> -- Performing Test CXX_SIMD_COMPILES_FLAG_mavx2 - Failed
> -- Try C++ compiler AVX2 flag = [/arch:AVX]
> -- Performing Test CXX_FLAG_arch_AVX
> -- Performing Test CXX_FLAG_arch_AVX - Failed
> -- Try C++ compiler AVX2 flag = [-hgnu]
> -- Performing Test CXX_FLAG_hgnu
> -- Performing Test CXX_FLAG_hgnu - Failed
> -- Try C++ compiler AVX2 flag = []
> -- Performing Test CXX_FLAG_
> -- Performing Test CXX_FLAG_ - Success
> -- Performing Test CXX_SIMD_COMPILES_FLAG_
> -- Performing Test CXX_SIMD_COMPILES_FLAG_ - Failed
> -- Configuring incomplete, errors occurred!
> See also
> "/home2/ncheron/Programs/gromacs-5.1.1/build/CMakeFiles/CMakeOutput.log".
> See also
> "/home2/ncheron/Programs/gromacs-5.1.1/build/CMakeFiles/CMakeError.log".
>
> Nicolas
>
>
> 2016-01-24 22:29 GMT+01:00 Mark Abraham <mark.j.abraham at gmail.com>:
> >
> > Hi,
> >
> > That shouldn't happen. What does the terminal output when you run cmake
> in
> > a clean build tree?
> >
> > Mark
> >
> > On Sun, 24 Jan 2016 21:59 Nicolas Cheron <
> nicolas.cheron.boulot at gmail.com>
> > wrote:
> >
> > > Hi,
> > >
> > > I have faced the same problem, with gcc 4.8.3, 4.9.1 and 5.2. I ended
> up
> > > asking for SIMD=AVX_256. So I assume there is something else going
> wrong.
> > >
> > > Nicolas
> > >
> > > 2016-01-24 20:59 GMT+01:00 Mark Abraham <mark.j.abraham at gmail.com>:
> > >
> > > > Hi,
> > > >
> > > > Like the *5.1* installation instructions and that error suggest, you
> > > need a
> > > > recent compiler. The "stable" compilers in distros like centos are
> > > merely a
> > > > euphemism for outdated, if you want to run fast on new hardware.
> > > >
> > > > Mark
> > > >
> > > > On Sun, 24 Jan 2016 16:47 Koji Tanaka <kj.tanaka at gmail.com> wrote:
> > > >
> > > > > Hello Gromacs Community,
> > > > >
> > > > > I'm trying to build Gromacs with SIMD=AVX2_256 support, but it
> fails.
> > > > > Instead, if I pick AVX_256, the build will finish okay.
> > > > >
> > > > > However, according to the documentation(
> > > > > http://www.gromacs.org/Documentation/Installation_Instructions_5.0
> ),
> > > > > AVX2_256 is the right option for the Intel Xeon CPU E5-2680 v3
> > > (Haswell).
> > > > > Does anyone have the same problem?
> > > > >
> > > > > My environment is;
> > > > > - CentOS 6.7
> > > > > - Gromacs 5.1.1
> > > > > - OpenMPI 1.10.1
> > > > >
> > > > > The error message is;
> > > > > -------------------------------------------------------------------
> > > > > CMake Error at cmake/gmxManageSimd.cmake:271 (message):
> > > > >   Cannot find AVX2 compiler flag.  Use a newer compiler, or choose
> AVX
> > > > SIMD
> > > > >   (slower).
> > > > > Call Stack (most recent call first):
> > > > >   CMakeLists.txt:645 (gmx_manage_simd)
> > > > >
> > > > >
> > > > > Also, I found the following error in
> build/CMakeFiles/CMakeError.log
> > > > > -------------------------------------------------------------------
> > > > > Run Build Command:/usr/bin/gmake "cmTryCompileExec1019102511/fast"
> > > > > /usr/bin/gmake -f
> CMakeFiles/cmTryCompileExec1019102511.dir/build.make
> > > > > CMakeFiles/cmTryCompileExec1019102511.dir/build
> > > > > gmake[1]: Entering directory
> > > > `/tmp/gromacs-5.1.1/build/CMakeFiles/CMakeTmp'
> > > > > /usr/bin/cmake -E cmake_progress_report
> > > > > /tmp/gromacs-5.1.1/build/CMakeFiles/CMakeTmp/CMakeFiles 1
> > > > > Building C object CMakeFiles/cmTryCompileExec1019102511.dir/src.c.o
> > > > > /opt/openmpi/1.10.1/bin/mpicc   -Wundef -Wextra
> > > > > -Wno-missing-field-initializers -Wno-sign-compare -Wpointer-arith
> -Wall
> > > > > -Wno-unused -Wunused-value -Wunused-p
> > > > > arameter  -D_callconv___regcall   -o
> > > > > CMakeFiles/cmTryCompileExec1019102511.dir/src.c.o   -c
> > > > > /tmp/gromacs-5.1.1/build/CMakeFiles/CMakeTmp/src.c
> > > > > /tmp/gromacs-5.1.1/build/CMakeFiles/CMakeTmp/src.c:1: error:
> expected
> > > > ‘=’,
> > > > > ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘f’
> > > > > /tmp/gromacs-5.1.1/build/CMakeFiles/CMakeTmp/src.c: In function
> ‘main’:
> > > > > /tmp/gromacs-5.1.1/build/CMakeFiles/CMakeTmp/src.c:1: warning:
> implicit
> > > > > declaration of function ‘f’
> > > > > gmake[1]: *** [CMakeFiles/cmTryCompileExec1019102511.dir/src.c.o]
> > > Error 1
> > > > > gmake[1]: Leaving directory
> > > > `/tmp/gromacs-5.1.1/build/CMakeFiles/CMakeTmp'
> > > > > gmake: *** [cmTryCompileExec1019102511/fast] Error 2
> > > > >
> > > > >
> > > > > Any comment/suggestion would be appreciated!
> > > > >
> > > > > Thanks a lot,
> > > > > Koji
> > > > > --
> > > > > 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.
> > --
> > 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