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

Guyen Gn guyen000 at gmail.com
Thu Aug 3 01:28:14 CEST 2017


Any update on this one??

On Fri, Jul 14, 2017 at 1:30 PM, Guyen Gn <guyen000 at gmail.com> wrote:

> Any ideas on this one? Thanks!
>
> On Mon, Jul 3, 2017 at 9:33 PM, Guyen Gn <guyen000 at gmail.com> wrote:
>
>> 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_sim
>> d_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.
>>
>
>
>
> --
> Guyen G.
>



-- 
Guyen G.


More information about the gromacs.org_gmx-users mailing list