This is an old revision of the document!
GROMACS 5.0.1
Installation VSC-1 (MPI-parallel)
1. Make sure we use a recent version of the Intel MPI toolchain.
mpi-selector --query mpi-selector --list ... in case mpi-selector --set intel_mpi_intel64-4.1.1.036 exit relogin
2. Follow Instructions-Cmake and prepare for installation, ie create two separate directories, one for building the other for the actual installation.
cd /opt/sw/ wget ftp://ftp.gromacs.org/pub/gromacs/gromacs-5.0.1.tar.gz gunzip ./gromacs-5.0.1.tar.gz tar xvf ./gromacs-5.0.1.tar gzip gromacs-5.0.1.tar mv ./gromacs-5.0.1 ./gromacs-5.0.1_mpi chown -R root ./gromacs-5.0.1_mpi chgrp -R root ./gromacs-5.0.1_mpi rm -rf ./gromacs-5.0.1_mpi_build ( delete all previous attempts and restart from scratch ) mkdir ./gromacs-5.0.1_mpi_build cd ./gromacs-5.0.1_mpi_build
3. Download the latest version of fftw
and install single and
double precision versions of it. For future CUDA compatibility
gcc
is preferred over icc
for this step.
cd /opt/sw/fftw cp from/where/ever/it/is/fftw-3.3.4.tar.gz ./ gunzip ./fftw-3.3.4.tar.gz tar xvf ./fftw-3.3.4.tar gzip fftw-3.3.4.tar cd ./fftw-3.3.4 ./configure --help export CC=gcc export F77=gfortran ./configure --prefix=/opt/sw/fftw/fftw-3.3.4 --enable-shared --enable-single --enable-openmp --enable-sse2 make clean make make install
4. Do the CMAKE build,
cd /opt/sw/gromacs-5.0.1_mpi_build export CMAKE_PREFIX_PATH=/opt/sw/fftw/fftw-3.3.4 export FFTW_LOCATION=/opt/sw/fftw/fftw-3.3.4 export CC=mpiicc export CXX=mpiicpc /opt/sw/cmake/2.8.11/bin/cmake -DGMX_GPU=OFF -DFFTW3F_INCLUDE_DIR=$FFTW_LOCATION/include -DFFTW3F_LIBRARIES=$FFTW_LOCATION/lib/libfftw3f.a -DCMAKE_INSTALL_PREFIX=/opt/sw/gromacs-5.0.1_mpi -DGMX_X11=OFF -DCMAKE_C_COMPILER=mpiicc -DCMAKE_CXX_COMPILER=mpiicpc -DGMX_MPI=ON -DGMX_PREFER_STATIC_LIBS=ON ../gromacs-5.0.1_mpi >& ./cmake.log make make install ( only this step creates all the executables in /opt/sw/gromacs-5.0.1_mpi/bin, as symbolic links though )
GROMACS with gpu support
up to version 4.5.x openmm is needed for gpu support. For versions from 4.6.x on gpu support is included in gromaces source already.
On VSC-1 Gromacs was built with this cmake command (specifying mpiiccc and mpiicpc did not work here, -DGMX_MPI=ON is enough for compiling with MPI support):
CC=icc CXX=icpc /opt/sw/cmake/2.8.11/bin/cmake -DGMX_GPU=ON -DGMX_MPI=ON -DCMAKE_INSTALL_PREFIX=/opt/sw/gromacs/4.6.5_gpu -DFFTWF_LIBRARY=/opt/sw/fftw/3.3.3_sp/lib/libfftw3f.so -DFFTWF_INCLUDE_DIR=/opt/sw/fftw/3.3.3_sp/include ..
There might be a problem coming from CUDA, where the intel compiler version is checked. In this case uncomment this part in the /opt/sw/cuda-5.5/include/host_config.h file
//#if defined(__ICC) //#if !(__INTEL_COMPILER == 9999 && __INTEL_COMPILER_BUILD_DATE == 20110811) || !defined(__GNUC__) || !defined(__LP64__) //#error -- unsupported ICC configuration! Only ICC 12.1 on Linux x86_64 is supported! //#endif /* !(__INTEL_COMPILER == 9999 && __INTEL_COMPILER_BUILD_DATE == 20110811) || !__GNUC__ || !__LP64__ */ //#endif /* __ICC */