===General Info=== 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. [[http://www.gromacs.org/About_Gromacs|source]] ===Useful Links=== HPCAC Guide [[http://www.hpcadvisorycouncil.com/pdf/GROMACS_Best_Practices.pdf]] \\ Acceleration and parallelization [[http://www.gromacs.org/Documentation/Acceleration_and_parallelization]] ===Installation Guide=== 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 ==CMAKE== 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 ==BINUTILS== 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 ==GROMACS== 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 ==x86 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 ==CUDA build== 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 ===Test Installation=== 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: [[http://www.ace.chpc.ac.za/tars/regressiontests.tar.gz|regressiontests.tar.gz]] cd ~/GROMACS/tests tar -xf Regressiontests.tar.gz cd regressiontests ./gmxtest.pl -suffix _mpi all ===Benchmark===