[gmx-users] AVX related compiler error during build with P100 RHEL7

Guyen Gn guyen000 at gmail.com
Tue Jul 4 06:33:28 CEST 2017


Still did not work. change xMIC to xCore and log is below (if it was other
way around, then originally it must have not worked).
Script file is all oneline.

-- Performing Test C_xCORE_AVX512_FLAG_WORKS
-- Performing Test C_xCORE_AVX512_FLAG_WORKS - Failed
-- Performing Test C_mavx512f_mfma_FLAG_WORKS
-- Performing Test C_mavx512f_mfma_FLAG_WORKS - Failed
-- Performing Test C_mavx512f_FLAG_WORKS
-- Performing Test C_mavx512f_FLAG_WORKS - Failed
-- Performing Test C_arch_AVX_FLAG_WORKS
-- Performing Test C_arch_AVX_FLAG_WORKS - Failed
-- Performing Test C_hgnu_FLAG_WORKS
-- Performing Test C_hgnu_FLAG_WORKS - Failed
-- Performing Test C_FLAG_WORKS
-- Performing Test C_FLAG_WORKS - Success
-- Performing Test C_COMPILE_WORKS
-- Performing Test C_COMPILE_WORKS - Failed
-- Compiler flag was valid, but executable did not build - perhaps update
the binutils package
-- Performing Test CXX_xCORE_AVX512_FLAG_WORKS
-- Performing Test CXX_xCORE_AVX512_FLAG_WORKS - Failed
-- Performing Test CXX_mavx512f_mfma_FLAG_WORKS
-- Performing Test CXX_mavx512f_mfma_FLAG_WORKS - Failed
-- Performing Test CXX_mavx512f_FLAG_WORKS
-- Performing Test CXX_mavx512f_FLAG_WORKS - Failed
-- Performing Test CXX_arch_AVX_FLAG_WORKS
-- Performing Test CXX_arch_AVX_FLAG_WORKS - Failed
-- Performing Test CXX_hgnu_FLAG_WORKS
-- Performing Test CXX_hgnu_FLAG_WORKS - Failed
-- Performing Test CXX_FLAG_WORKS
-- Performing Test CXX_FLAG_WORKS - Success
-- Performing Test CXX_COMPILE_WORKS
-- Performing Test CXX_COMPILE_WORKS - Failed
-- Compiler flag was valid, but executable did not build - perhaps update
the binutils package
CMake Error at cmake/gmxManageSimd.cmake:92 (message):
  Found a compiler flag for AVX 512F support, but some other problem exists.
  Update your assembler and/or linker, e.g.  in the binutils package of your
  distribution.
Call Stack (most recent call first):
  cmake/gmxManageSimd.cmake:314
(gmx_give_fatal_error_when_simd_support_not_found)
  CMakeLists.txt:666 (gmx_manage_simd)


-- Configuring incomplete, errors occurred!


On Mon, Jul 3, 2017 at 2:44 PM, Mark Abraham <mark.j.abraham at gmail.com>
wrote:

> Hi,
>
> On Mon, Jul 3, 2017 at 10:50 PM Guyen Gn <guyen000 at gmail.com> wrote:
>
> > Sorry for long wait on response, basically i followed the instruction at
> > nvidia website:
> >
> > http://www.nvidia.com/object/gromacs-installation.html
> >
> > I instaled GPU driver versoin 369, as well as CUDA, gcc, cmake. After
> that
> > it tells to run following:
> >
> > CC=gcc CXX=g++ cmake <GROMACS_SRC_DIR> -DGMX_OPENMP=ON -DGMX_GPU=ON -
> > DGPU_DEPLOYMENT_KIT_ROOT_DIR=<GDK_PATH> -DGMX_BUILD_OWN_FFTW=ON -
> > DGMX_PREFER_STATIC_LIBS=ON -DCMAKE_BUILD_TYPE=Release -
> > DCMAKE_INSTALL_PREFIX=<GROMACS_INSTALL_DIR>
> >
> > I tweaked as follows to fit my environment I setup (basically just
> > installation source and run directory:
> > CC=gcc CXX=g++ cmake /root/gromacs/gromacs-2016 -DGMX_OPENMP=ON
> > -DGMX_GPU=ON -DGPU_DEPLOYMENT_KIT_ROOT_DIR=/usr/local/cuda
> > -DGMX_BUILD_OWN_FFTW=ON -DGMX_PREFER_STATIC_LIBS=ON
> > -DCMAKE_BUILD_TYPE=Release
> > -DCMAKE_INSTALL_PREFIX=/root/gromacs/gromacs-2016-run inside build.sh
> shell
> > script.
> >
> > This is the full log, I highlighted toward the end section of code where
> it
> > started to fail. It appears something related to AVX. Thanks.,
> >
> > [root at localhost gromacs-2016]# ./build.sh
> > CMake Error: The source directory "/root/gromacs/gromacs-2016/-" does not
> > exist.
> > Specify --help for usage, or press the help button on the CMake GUI.
> > ./build.sh: line 2: -DGMX_BUILD_OWN_FFTW=ON: command not found
> > ./build.sh: line 3: -DCMAKE_BUILD_TYPE=Release: command not found
> >
>
> All the above is because your script needed editing to handle newlines from
> your copy-paste.
>
>
> > [root at localhost gromacs-2016]# nano -w build.sh
> > [root at localhost gromacs-2016]# pwd
> > /root/gromacs/gromacs-2016
> > [root at localhost gromacs-2016]# mkdir ~/gromacs/gromacs-run
> > [root at localhost gromacs-2016]# ./build.sh
> > -- The C compiler identification is GNU 4.8.5
> > -- The CXX compiler identification is GNU 4.8.5
> > -- Check for working C compiler: /usr/bin/gcc
> > -- Check for working C compiler: /usr/bin/gcc -- works
> > -- Detecting C compiler ABI info
> > -- Detecting C compiler ABI info - done
> > -- Check for working CXX compiler: /usr/bin/g++
> > -- Check for working CXX compiler: /usr/bin/g++ -- works
> > -- Detecting CXX compiler ABI info
> > -- Detecting CXX compiler ABI info - done
> > -- Performing Test CXXFLAG_STD_CXX0X
> > -- Performing Test CXXFLAG_STD_CXX0X - Success
> > -- Performing Test CXX11_SUPPORTED
> > -- Performing Test CXX11_SUPPORTED - Success
> > -- Performing Test CXX11_STDLIB_PRESENT
> > -- Performing Test CXX11_STDLIB_PRESENT - Success
> > -- Looking for NVIDIA GPUs present in the system
> > -- Number of NVIDIA GPUs detected: 2
> > -- Found CUDA: /usr/local/cuda (found suitable version "8.0", minimum
> > required is "5.0")
> > -- Could NOT find NVML (missing:  NVML_INCLUDE_DIR)
> > -- Checking for GCC x86 inline asm
> > -- Checking for GCC x86 inline asm - supported
> > -- Detecting best SIMD instructions for this CPU
> > -- Detected best SIMD instructions for this CPU - AVX_512
> > -- 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_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_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 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
> > -- Performing Test HAVE_BUILTIN_CLZ
> > -- Performing Test HAVE_BUILTIN_CLZ - Success
> > -- Performing Test HAVE_BUILTIN_CLZLL
> > -- Performing Test HAVE_BUILTIN_CLZLL - Success
> > -- 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
> > -- Looking for include file mm_malloc.h
> > -- Looking for include file mm_malloc.h - found
> > -- Looking for include file malloc.h
> > -- Looking for include file malloc.h - found
> > -- Looking for include file xmmintrin.h
> > -- Looking for include file xmmintrin.h - found
> > -- Checking for _mm_malloc()
> > -- Checking for _mm_malloc() - supported
> > -- Looking for posix_memalign
> > -- Looking for posix_memalign - found
> > -- Looking for memalign
> > -- Looking for memalign - not found
> > -- 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
> > Searching for static libraries requested, so the GROMACS libraries will
> > also be static (BUILD_SHARED_LIBS=OFF)
> > -- Could NOT find Hwloc (missing:  HWLOC_LIBRARIES HWLOC_INCLUDE_DIRS)
> > (Required is at least version "1.5")
> > -- Looking for include file pthread.h
> > -- Looking for include file 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
> > -- Check if the system is big endian
> > -- Searching 16 bit integer
> > -- Using unsigned short
> > -- Check if the system is big endian - little endian
> > -- Looking for inttypes.h
> > -- Looking for inttypes.h - found
> > -- Enabling single compilation unit for the CUDA non-bonded module.
> > Multiple compilation units are not compatible with CC 2.x devices, to
> > enable the feature specify only CC >=3.0 target architectures in
> > GMX_CUDA_TARGET_SM/GMX_CUDA_TARGET_COMPUTE.
> > -- Setting build user/date/host/cpu information
> > -- Setting build user & time - OK
> > -- 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
> > -- Looking for C++ include regex
> > -- Looking for C++ include regex - found
> > -- Checking for system XDR support
> > -- Checking for system XDR support - present
> > -- Performing Test C_xMIC_AVX512_FLAG_WORKS
>
>
> Aha. This is a known issue that we have fixed, but not yet made available
> in a released version. When we wrote this code, we had no Skylake machines
> to test on. See
> https://gerrit.gromacs.org/c/6570/2/cmake/gmxManageSimd.cmake for the form
> of the fix. You can simply edit that single line in
> cmake/gmxManageSimd.cmake in your source directory and all will be fine -
> maybe a fresh build directory will help.
>
> Mark
> --
> 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.
>



-- 
Guyen G.


More information about the gromacs.org_gmx-users mailing list