GROMACS is a versatile package to perform molecular dynamics, i.e. simulate the Newtonian equations of motion for systems with hundreds to millions of particles. It is primarily designed for biochemical molecules like proteins, lipids and nucleic acids that have a lot of complicated bonded interactions, but since GROMACS is extremely fast at calculating the nonbonded interactions (that usually dominate simulations) many groups are also using it for research on non-biological systems, e.g. polymers. source
HPCAC Guide http://www.hpcadvisorycouncil.com/pdf/GROMACS_Best_Practices.pdf
Acceleration and parallelization http://www.gromacs.org/Documentation/Acceleration_and_parallelization
cd ~ mkdir GROMACS cd GROMACS
Create a source file:
vim bashrc
source /data/opt/intel/bin/compilervars.sh intel64 source /data/opt/intel/mkl/bin/mklvars.sh intel64 export PATH=/data/opt/openmpi-1.8.7-ics2013/bin:$PATH export LD_LIBRARY_PATH=/data/opt/openmpi-1.8.7-ics2013/lib:$LD_LIBRARY_PATH export PATH=/home/$USER/GROMACS/libs/binutils/bin:$PATH export LD_LIBRARY_PATH=/home/$USER/GROMACS/libs/binutils/lib:$LD_LIBRARY_PATH export PATH=/home/$USER/GROMACS/libs/cmake/bin:$PATH export CC=icc export CXX=icpc export CFLAGS='-O3' export CXXFLAGS='-O3' export F77=ifort export FC=ifort export F90=ifort export FFLAGS='-O3' export CPP='icc -E' export CXXCPP='icpc -E'
source bashrc
mkdir tars mkidr libs mkdir tests cd tars
Install dependencies from repository:
sudo yum install blas-devel lapack-devel atlas-devel libxml2-devel
cd ~/GROMACS/tars wget http://www.cmake.org/files/v3.0/cmake-3.0.2.tar.gz tar -xf cmake-3.0.2.tar.gz cd cmake-3.0.2 ./configure --prefix=/home/$USER/GROMACS/libs/cmake make -j4 make install
cd ~/GROMACS/tars wget https://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.gz tar -xf binutils-2.25.tar.gz cd binutils-2.25 ./configure --prefix=/home/$USER/GROMACS/libs/binutils make -j4 make install
cd ~/GROMACS/tars wget https://kth.box.com/shared/static/7uwctwj33h4uo2f8d1tmdyj9afaj3hzy.gz tar -xf 7uwctwj33h4uo2f8d1tmdyj9afaj3hzy.gz cd gromacs-5.0.6 mkdir build cd build
cmake .. -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DGMX_GPU=off -DGMX_MPI=on -DGMX_SIMD=AVX2_256 -DCMAKE_INSTALL_PREFIX=/home/$USER/GROMACS/gromacs-x86/ -DGMX_BUILD_OWN_FFTW=ON -DGMX_BUILD_UNITTESTS=ON make -j10 make install
The CUDA version requires a CUDA SDK of at least version 4.0, however the latest is recommended (version 7.0 was used for testing). If the SDK in not found in the default /usr/local/cuda directory, then source it.
cmake .. -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx -DGMX_GPU=on -DGMX_MPI=on -DGMX_SIMD=AVX2_256 -DCMAKE_INSTALL_PREFIX=/home/$USER/GROMACS/gromacs-cuda/ -DGMX_BUILD_UNITTESTS=ON make -j10 make install
Source the GROMACS installation:
export PATH=/home/$USER/GROMACS/gromacs-x86/bin:$PATH
Test the installation by using the regression tests which ship with the release, available here: regressiontests.tar.gz
cd ~/GROMACS/tests tar -xf Regressiontests.tar.gz cd regressiontests ./gmxtest.pl -suffix _mpi all