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

Nicolas Cheron nicolas.cheron.boulot at gmail.com
Tue Jan 26 13:56:56 CET 2016


Hi,

After installing the last version of binutils, it worked. Thanks for the
tip.

Nicolas

PS: Just in case, to be able to install binutils I had to follow the
instructions given here
https://forums.opensuse.org/showthread.php/508627-Compiling-Binutils-error-%E2%80%98TARGET_ALIAS%E2%80%99-undeclared-(first-use-in-this-function)-Work-Around



2016-01-25 19:54 GMT+01:00 Koji Tanaka <kj.tanaka at gmail.com>:

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