User Tools

Site Tools


doku:gromacs

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 */ 
doku/gromacs.txt · Last modified: 2014/11/04 15:35 by sh