[gmx-users] cmake + Intel + CUDA + gcc 4.1.2 = bad time
Mark Abraham
mark.j.abraham at gmail.com
Tue Jul 2 21:20:44 CEST 2013
Following http://www.gromacs.org/Documentation/Installation_Instructions#.c2.a7_4.6._Native_GPU_acceleration
could help. The FindCUDA.cmake in CMake 2.8.1 might not work properly
- we don't test that combination. Trying a newer CMake could help, but
I would avoid 2.8.7, 2.8.9 and 2.8.10 because they have known issues
(http://www.cmake.org/Wiki/CMake_Version_Compatibility_Matrix/StandardCMakeModulesA).
There are some hard-coded gcc-isms in CUDA, too, but I would not think
that is the issue here.
Mark
On Tue, Jul 2, 2013 at 8:59 PM, Malcolm Tobias <mtobias at wustl.edu> wrote:
>
> All,
>
> I'm attempting to build gromacs 4.6.2 with a bit of everything: CUDA support, MPI, Intel compilers, etc. using the new cmake system. I've set CC and CXX to specify the Intel compilers:
>
> [root at login002 build]# echo $CC
> icc
>
> [root at login002 build]# echo $CXX
> icc
>
> and sourced the setup script for good measure:
>
> /export/intel/composer_xe_2013.1.117/bin/compilervars.sh intel64
>
> During cmake, everything appears to be happy:
>
> [root at login002 build]# /export/cmake-2.8.1/bin/cmake -DGMX_GPU=ON DCUDA_TOOLKIT_ROOT_DIR=/export/cuda-5.0 -DGMX_BUILD_OWN_FFTW=ON -DGMX_FFT_LIBRARY=mkl -DGMX_MPI=ON -DCMAKE_INSTALL_PREFIX=/export/gromacs-4.6.2 .. | tee cmake.out
> ...
> -- The C compiler identification is Intel
> -- Check for working C compiler: /export/intel/composer_xe_2013.1.117/bin/intel64/icc
> -- Check for working C compiler: /export/intel/composer_xe_2013.1.117/bin/intel64/icc -- works
> ...
> -- Looking for NVIDIA GPUs present in the system
> -- Could not detect NVIDIA GPUs
> -- Found CUDA: /usr/local/cuda
> ...
> -- MPI is not compatible with thread-MPI. Disabling thread-MPI.
> -- Found MPI: /export/openmpi-1.4.3/lib/libmpi_cxx.so
> ...
> -- Setting the nvcc host compiler to: /export/intel/composer_xe_2013.1.117/bin/intel64/icc
> -- Setting Intel Compiler compatibity mode to gcc 4.5 for nvcc host compilation
> ...
> -- Using external FFT library - Intel MKL
>
> But I quickly get a compile-time error:
>
> [root at login002 build]# make
> -- Configuring done
> -- Generating done
> -- Build files have been written to: /export/src/gromacs-4.6.2/build
> [ 0%] Building NVCC (Device) object src/gmxlib/cuda_tools/./cuda_tools_generated_copyrite_gpu.cu.o
> /usr/include/c++/4.1.2/bits/cpp_type_traits.h(358): error: expected an identifier
>
> /usr/include/c++/4.1.2/bits/cpp_type_traits.h(371): error: expected an identifier
>
> So something about the cmake process is reverting to the default GNU compilers (4.1.2) when it's trying to build some of the CUDA stuff. I tried tricking it to use something more recent:
>
> alias /usr/bin/gcc44 gcc
> alias g++=/usr/bin/g++44
>
> But I still see the path pointing to 4.1.2. Any suggestions on things to try?
>
> Thanks,
> Malcolm
>
> --
> Malcolm Tobias
> 314.362.1594
>
> --
> gmx-users mailing list gmx-users at gromacs.org
> http://lists.gromacs.org/mailman/listinfo/gmx-users
> * Please search the archive at http://www.gromacs.org/Support/Mailing_Lists/Search before posting!
> * Please don't post (un)subscribe requests to the list. Use the
> www interface or send it to gmx-users-request at gromacs.org.
> * Can't post? Read http://www.gromacs.org/Support/Mailing_Lists
More information about the gromacs.org_gmx-users
mailing list