2018.1
(Leading tabs in a block enclosed with "EOF" are replaced with spaces. Please beware when you use this script.)
#!/bin/sh
VERSION=2018.1
SCL_TOOLSET=devtoolset-6
INSTALL_PREFIX=/local/apl/lx/gromacs2018.1-gnuBASEDIR=/home/users/${USER}
GROMACS_TARBALL=${BASEDIR}/gromacs-${VERSION}.tar.gz
WORKDIR=/work/users/${USER}
CMAKE=/local/apl/lx/cmake3.8.2/bin/cmake#---------------------------------------------------------------------
umask 0022cd ${WORKDIR}
if [ -d gromacs-${VERSION} ]; then
mv gromacs-${VERSION} gromacs_erase
rm -rf gromacs_erase &
fitar xzf ${GROMACS_TARBALL}
cd gromacs-${VERSION}# single precision, no MPI
scl enable ${SCL_TOOLSET} bash <<-EOF
mkdir rccs-gnu-s
cd rccs-gnu-s
${CMAKE} .. \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DGMX_MPI=OFF \
-DGMX_GPU=OFF \
-DGMX_DOUBLE=OFF \
-DGMX_THREAD_MPI=ON \
-DGMX_FFT_LIBRARY=fftw3 \
-DREGRESSIONTEST_DOWNLOAD=OFF
make -j12 && make install
cd ..# double precision, no MPI
mkdir rccs-gnu-d
cd rccs-gnu-d
${CMAKE} .. \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DGMX_MPI=OFF \
-DGMX_GPU=OFF \
-DGMX_DOUBLE=ON \
-DGMX_THREAD_MPI=ON \
-DGMX_FFT_LIBRARY=fftw3 \
-DREGRESSIONTEST_DOWNLOAD=OFF
make -j12 && make install
cd ..# compiler setting for MPI versions
export CC=mpicc
export CXX=mpicxx
export F77=mpif90
export F90=mpif90
export FC=mpif90# single precision, with MPI
mkdir rccs-gnu-mpi-s
cd rccs-gnu-mpi-s
${CMAKE} .. \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DGMX_MPI=ON \
-DGMX_GPU=OFF \
-DGMX_DOUBLE=OFF \
-DGMX_THREAD_MPI=OFF \
-DGMX_FFT_LIBRARY=fftw3 \
-DREGRESSIONTEST_DOWNLOAD=OFF
make -j12 && make install
cd ..# double precision, with MPI
mkdir rccs-gnu-mpi-d
cd rccs-gnu-mpi-d
${CMAKE} .. \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DGMX_MPI=ON \
-DGMX_GPU=OFF \
-DGMX_DOUBLE=ON \
-DGMX_THREAD_MPI=OFF \
-DGMX_FFT_LIBRARY=fftw3 \
-DREGRESSIONTEST_DOWNLOAD=OFF
make -j12 && make install
cd ..
EOF
GPU version (gcc 5.3.1 + CUDA 8.0) is not installed, since it failed on LJ PME related tests (numerical errors in potential energy and forces) in complex test section of regression tests.