Thanks guys! I think it's working now. Just in case others may run into the
same difficulties, I am summarizing below what worked for me.
I installed both gcc-4.4 and gcc-4.7 from synaptic. Then updated CUDA to 5.0,
with the package cuda_5.0.35_linux_64_ubuntu11.10-1.run available from the
nvidia site. Compiling cuda toolkit will require gcc-4.4, so I had to
temporarily change some links:
sudo ln -s /usr/bin/gcc-4.4 /usr/bin/gcc
sudo ln -s /usr/bin/g++-4.4 /usr/bin/g++
Then I installed the toolkit and the samples:
sudo ./cuda_5.0.35_linux_64_ubuntu11.10-1.run -toolkit
Installing the CUDA samples required some extra packages on my system:
sudo apt-get install freeglut3
sudo ln -s /usr/lib/x86_64-linux-gnu/libglut.so.3 /usr/lib/libglut.so
sudo ./cuda_5.0.35_linux_64_ubuntu11.10-1.run -samples
Then update my .bashrc:
export
LD_LIBRARY_PATH=/usr/local/cuda-5.0/lib64/:/usr/local/cuda-5.0/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/cuda-5.0/bin/:$PATH
Finally confirm that CUDA 5.0 is the defoult compiler:
nvcc -version
Now I changed back the gcc links to install gromacs:
sudo ln -s /usr/bin/gcc-4.7 /usr/bin/gcc
sudo ln -s /usr/bin/g++-4.7 /usr/bin/g++
CUDA apparently check which gcc version is used, and will complain for gcc
version above 4.6. Gromacs on the other end will require gcc-4.7. I found a
solution on a blog, and comment out the compiler-check in the CUDA header file
/usr/local/cuda-5.0/include/host_config.h
Comment out:
//#if __GNUC__ 4 || (__GNUC__ == 4 __GNUC_MINOR__ 6)
//#error -- unsupported GNU version! gcc 4.7 and up are not supported!
//#endif /* __GNUC__ 4 || (__GNUC__ == 4 __GNUC_MINOR__ 6) */
Now I could cmake/make/install gromacs:
cmake .. -DGMX_GPU=ON -DGMX_BUILD_OWN_FFTW=ON
make
sudo make install
And add the /usr/local/gromacs/bin/ directory to my path.
I am still trying to fix the issues with the intel compiler. The gcc compiled
version benchmark at 52ns/day with the lysozyme in water tutorial.
Thanks again.
From: Szilárd Páll szilard.p...@cbr.su.se
To: Mare Libero marelibe...@yahoo.com; Discussion list for GROMACS users
gmx-users@gromacs.org
Sent: Thursday, June 27, 2013 10:47 AM
Subject: Re: [gmx-users] Installation on Ubuntu 12.04LTS
On Thu, Jun 27, 2013 at 12:57 PM, Mare Libero marelibe...@yahoo.com wrote:
Hello everybody,
Does anyone have any recommendation regarding the installation of gromacs 4.6
on Ubuntu 12.04? I have the nvidia-cuda-toolkit that comes in synaptic
(4.0.17-3ubuntu0.1 installed in /usr/lib/nvidia-cuda-toolkit) and the drivers
304.88.
Apparently, this is not compatible with gcc-4.5 and higher. When I issue:
$ cmake .. -DGMX_GPU=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/lib/nvidia-cuda-toolkit
-DGMX_BUILD_OWN_FFTW=ON
$ make
the compilation ends with:
In file included from
/usr/lib/nvidia-cuda-toolkit/include/cuda_runtime.h:59:0,
from command-line:0:
/usr/include/host_config.h:82:2: error: #error -- unsupported GNU version!
gcc 4.5 and up are not supported!
If I downgrade to gcc-4.4 this error disappears, but gromacs compilation
fails with a different error:
cc1plus: error: unrecognized command line option -fexcess-precision=fast
CMake Error at cuda_tools_generated_pmalloc_cuda.cu.o.cmake:198 (message):
Error generating
/home/me/Downloads/gromacs-4.6.2/build/src/gmxlib/cuda_tools/CMakeFiles/cuda_tools.dir//./cuda_tools_generated_pmalloc_cuda.cu.o
make[2]: ***
[src/gmxlib/cuda_tools/CMakeFiles/cuda_tools.dir/./cuda_tools_generated_pmalloc_cuda.cu.o]
Error 1
make[1]: *** [src/gmxlib/cuda_tools/CMakeFiles/cuda_tools.dir/all] Error 2
make: *** [all] Error 2
I guess what happens is that you are using gcc 4.5 for the CPU code
and gcc 4.4 as the nvcc host compiler. However, the compiler options
used for gcc (CMAKE_CXX_FLAGS) get propagated to nvcc;
-fexcess-precision=fast is supported by gcc 4.5, but not by 4.4, hence
the error when compiling CUDA code.
Also, I tried the Intel compilers that comes with the non-commercial Intel
c++ composer XE (which I believe are recommended). The compilation produces a
number of warnings, and then dies with the following error:
$ CC=/opt/intel/bin/icc cmake .. -DGMX_GPU=ON
-DCUDA_TOOLKIT_ROOT_DIR=/usr/lib/nvidia-cuda-toolkit -DGMX_BUILD_OWN_FFTW=ON
[ 63%] Building C object share/template/CMakeFiles/template.dir/template.c.o
make[2]: *** No rule to make target `src/gmxlib/libgmx.so.8', needed by
`share/template/template'. Stop.
make[1]: *** [share/template/CMakeFiles/template.dir/all] Error 2
make: *** [all] Error 2
This should work, but CUDA 4.0 is ancient surely does not support icc
13. I suggest that you get CUDA 5.0 and use gcc 4.7 (or a new icc). If
you really want to stick to CUDA 4.0, try using gcc 4.4 as the general
C++ compiler (CMAKE_CXX_COMPILER) which should avoid the above error.
Thanks in advance for your help,
Al
--
gmx-users mailing list gmx-users@gromacs.org