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

Nicolas Cheron nicolas.cheron.boulot at gmail.com
Mon Jan 25 18:57:25 CET 2016


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.


More information about the gromacs.org_gmx-users mailing list