[gmx-users] Compile error in Gromacs-5.1 and icc2011+openmpi+cuda5.5

jzhang jzhang at nju.edu.cn
Sat Nov 28 15:05:58 CET 2015


Hi,
  
 I was trying to install gromacs-5.0.4 with MPI(openmpi-1.4.4) and GPU support (cuda-5.5) using intel composer-xe 2011, but got error msg like
icc: command line error: no files specified; for help type "icc -help"
  
 I also tried gromacs-5.1 with icc2011+cuda5.5+openmpi-1.4.4 and got the same problem.
  
 I also tried gcc with openmpi-1.4.4 and cuda-6.5, it works, but somehow the openib support is not good. That's why I want to try icc.
  
 Any one can help me out? 
  
 Thanks a lot!
  
 Some detailed information
 1) cmake options:
 cmake .. -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DGMX_BUILD_MDRUN_ONLY=ON  -DGMX_MPI=on -DGMX_GPU=on  -DGMX_SIMD=SSE4.1 -DCMAKE_INSTALL_PREFIX=/home-gk/users/nscc1466/gromacs-5.0.4-icc-MPI-GPU/ -DBUILD_SHARED_LIBS=OFF -DGMX_FFT_LIBRARY=fftw3 -DCMAKE_PREFIX_PATH=$HOME/fftw-3.3.4/
  
 2) compiler info
> cmake --version
cmake version 3.4.0
CMake suite maintained and supported by Kitware (kitware.com/cmake).
 > which mpicc
/home-gk/compiler/mpi/openmpi-1.4.4-intel/bin/mpicc
> mpicc --version
icc (ICC) 12.1.0 20111011
Copyright (C) 1985-2011 Intel Corporation.  All rights reserved.
 > which mpicxx
/home-gk/compiler/mpi/openmpi-1.4.4-intel/bin/mpicxx
> mpicxx --version
icpc (ICC) 12.1.0 20111011
Copyright (C) 1985-2011 Intel Corporation.  All rights reserved.
 > which nvcc
/home-gk/compiler/cuda-5.5/bin/nvcc
 
3) some outputs from cmake
-- The C compiler identification is Intel 12.1.0.20111011
-- The CXX compiler identification is Intel 12.1.0.20111011
-- Check for working C compiler: /home-gk/compiler/mpi/openmpi-1.4.4-intel/bin/mpicc
-- Check for working C compiler: /home-gk/compiler/mpi/openmpi-1.4.4-intel/bin/mpicc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /home-gk/compiler/mpi/openmpi-1.4.4-intel/bin/mpicxx
-- Check for working CXX compiler: /home-gk/compiler/mpi/openmpi-1.4.4-intel/bin/mpicxx -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for NVIDIA GPUs present in the system
-- Number of NVIDIA GPUs detected: 1
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE
-- Found CUDA: /home-gk/compiler/cuda-5.5 (found suitable version "5.5", minimum required is "4.0")
-- Try OpenMP C flag = [-openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-openmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -openmp
...
-- MPI is not compatible with thread-MPI. Disabling thread-MPI.
-- Checking for MPI_IN_PLACE
-- Performing Test MPI_IN_PLACE_COMPILE_OK
-- Performing Test MPI_IN_PLACE_COMPILE_OK - Success
-- Checking for MPI_IN_PLACE - yes
-- Performing Test CATAMOUNT_COMPILE_OK
-- Performing Test CATAMOUNT_COMPILE_OK - Failed
-- Could NOT find LibXml2 (missing:  LIBXML2_LIBRARIES LIBXML2_INCLUDE_DIR)
-- 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
-- Could NOT find Boost
Boost >= 1.44 not found. Using minimal internal version. This may cause trouble if you plan on compiling/linking other softwar
e that uses Boost against Gromacs.
CMake Warning at CMakeLists.txt:601 (message):
  libxml2 not found.  Will build GROMACS without unit-tests.  This is not
  recommended, because the unit-tests help to verify that GROMACS functions
  correctly.  Most likely you are missing the libxml2-dev(el) package.  After
  you installed it, set GMX_BUILD_UNITTESTS=ON.
 CMake Warning (dev) at cmake/gmxOptionUtilities.cmake:169 (if):
  Policy CMP0054 is not set: Only interpret if() arguments as variables or
  keywords when unquoted.  Run "cmake --help-policy CMP0054" for policy
  details.  Use the cmake_policy command to set the policy and suppress this
  warning.
   Quoted variables like "ZLIB_INCLUDE_DIR" will no longer be dereferenced
  when the policy is set to NEW.  Since the policy is not set the OLD
  behavior will be used.
Call Stack (most recent call first):
  cmake/gmxTestZLib.cmake:48 (gmx_check_if_changed)
  CMakeLists.txt:616 (gmx_test_zlib)
This warning is for project developers.  Use -Wno-dev to suppress it.
 ...
--   Found fftw3f, version 3.1.2
-- Looking for fftwf_plan_r2r_1d in /home-gk/users/nscc1466/fftw-3.3.4/lib/libfftw3f.a
-- Looking for fftwf_plan_r2r_1d in /home-gk/users/nscc1466/fftw-3.3.4/lib/libfftw3f.a - found
-- Looking for fftwf_have_simd_avx in /home-gk/users/nscc1466/fftw-3.3.4/lib/libfftw3f.a
-- Looking for fftwf_have_simd_avx in /home-gk/users/nscc1466/fftw-3.3.4/lib/libfftw3f.a - not found
-- Looking for fftwf_have_simd_sse2 in /home-gk/users/nscc1466/fftw-3.3.4/lib/libfftw3f.a
-- Looking for fftwf_have_simd_sse2 in /home-gk/users/nscc1466/fftw-3.3.4/lib/libfftw3f.a - found
-- Using external FFT library - FFTW3
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- A library with BLAS API found.
-- Looking for cheev_
-- Looking for cheev_ - found
-- A library with LAPACK API found.
-- Checking for dlopen
-- Performing Test HAVE_DLOPEN
-- Performing Test HAVE_DLOPEN - Success
-- Checking for dlopen - found
-- Using default binary suffix: "_mpi"
-- Using default library suffix: "_mpi"
-- 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
-- Performing Test HAS_NO_UNUSED_PARAMETER
-- Performing Test HAS_NO_UNUSED_PARAMETER - Success
-- Performing Test HAS_NO_DEPRECATED_REGISTER
-- Performing Test HAS_NO_DEPRECATED_REGISTER - Failed
-- Performing Test HAS_NO_DEPRECATED
-- Performing Test HAS_NO_DEPRECATED - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /home-gk/users/nscc1466/jzhang/software/gromacs-5.0.4-orig-icc-mpi/build
  
 4) make msg
 > make mdrun
Scanning dependencies of target mdrun_objlib
[  0%] Building C object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/runner.c.o
warning #13000: could not open message catalog file:  diagsc.cat
[  0%] Building C object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/md.c.o
warning #13000: could not open message catalog file:  diagsc.cat
[  0%] Building C object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/pme_loadbal.c.o
warning #13000: could not open message catalog file:  diagsc.cat
[  0%] Building C object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/membed.c.o
warning #13000: could not open message catalog file:  diagsc.cat
[  1%] Building C object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/repl_ex.c.o
warning #13000: could not open message catalog file:  diagsc.cat
[  1%] Building CXX object src/programs/CMakeFiles/mdrun_objlib.dir/mdrun/mdrun.cpp.o
warning #13000: could not open message catalog file:  diagsc.cat
[  1%] Built target mdrun_objlib
[  1%] Building NVCC (Device) object src/gromacs/gmxlib/cuda_tools/CMakeFiles/cuda_tools.dir/cuda_tools_generated_pmalloc_cuda.cu.o
icc: command line warning #10006: ignoring unknown option '-dumpspecs'
icc: command line error: no files specified; for help type "icc -help"
CMake Error at cuda_tools_generated_pmalloc_cuda.cu.o.cmake:207 (message):
  Error generating
  /home-gk/users/nscc1466/jzhang/software/gromacs-5.0.4-orig-icc-mpi/build/src/gromacs/gmxlib/cuda_tools/CMakeFiles/cuda_tools.dir//./cuda_tools_generated_pmalloc_cuda.cu.o
 
make[3]: *** [src/gromacs/gmxlib/cuda_tools/CMakeFiles/cuda_tools.dir/cuda_tools_generated_pmalloc_cuda.cu.o] Error 1
make[2]: *** [src/gromacs/gmxlib/cuda_tools/CMakeFiles/cuda_tools.dir/all] Error 2
make[1]: *** [src/programs/CMakeFiles/mdrun.dir/rule] Error 2
make: *** [mdrun] Error 2
  
 Thanks again!
  
  
 Jian
 Department of Physics
 Nanjing University


More information about the gromacs.org_gmx-users mailing list