简介

GROMACS 是用于研究生物分子体系的分子动力学程序包。它可以用分子动力学、随机动力学或者路径积分方法模拟溶液或晶体中的任意分子,进行分子能量的最小化,分析构象等。它的模拟程序包包含 GROMACS 力场(蛋白质、核苷酸、糖等),研究的范围可以包括玻璃和液晶、到聚合物、晶体和生物分子溶液。 GROMACS 是一个功能强大的分子动力学的模拟软件,其在模拟大量分子系统的牛顿运动方面具有极大的优势。

链接:官网地址下载指定版本

编译环境

需要的编译环境为:

  • 串行编译器:Intel Compiler / GNU Compiler
  • MPI编译器:mpich / openmpi(如果是MPI版本)
  • cmake
  • fftw
  • CUDA(如果是GPU版本)

以上各个编译器和库的环境设置,请参考相关文章(还没写。。。待填坑)。

编译

编译单精度CPU版本

tar -zxvf gromacs-5.0.6.tar.gz # 以5.0.6版本为例
cd gromacs-5.0.6 
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs-5.0.6 \
  -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc \
  -DGMX_DOUBLE=off \
  -DGMX_FFT_LIBRARY=fftw3 \
  -DFFTWF_LIBRARY="$HOME/fftw/lib/libfftw3f.a" \
  -DFFTWF_INCLUDE_DIR="$HOME/fftw/include/"  \
  -DGMX_MPI=on \
  -DGMX_GPU=off \
  2>&1 | tee cm.log
make -j12 2>&1 | tee m.log
make install 2>&1 | tee mi.log

参数说明如下:

参数 含义
-DCMAKE_INSTALL_PREFIX 安装目录
-DCMAKE_C_COMPILER=icc 使用 icc 编译 c
-DCMAKE_CXX_COMPILER=icpc 使用 icpc 编译 cpp
-DGMX_DOUBLE=off 关闭double,编译单精度版本
-DGMX_FFT_LIBRARY=fftw3 使用 fftw3
-DFFTWF_LIBRARY=“$HOME/fftw/lib/libfftw3f.a” fftw库,请改为自己的
-DFFTWF_INCLUDE_DIR=“$HOME/fftw334/include/” fftw的头文件目录,请改为自己的
-DGMX_MPI=on 开启 MPI 支持
-DGMX_GPU=off 关闭 GPU 支持

编译双精度CPU版本

tar -zxvf gromacs-5.0.6.tar.gz
cd gromacs-5.0.6 
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs-5.0.6 \
  -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc \
  -DGMX_DOUBLE=on \
  -DGMX_FFT_LIBRARY=fftw3 \
  -DFFTW_LIBRARY="$HOME/fftw/lib/libfftw3.a" \
  -DFFTW_INCLUDE_DIR="$HOME/fftw/include/"  \
  -DGMX_MPI=on \
  -DGMX_GPU=off \
  2>&1 | tee cm.log
make -j12 2>&1 | tee m.log
make install 2>&1 | tee mi.log

编译GPU版本

在执行cmake的时候,修改一下参数,增加一个参数即可。

tar -zxvf gromacs-5.0.6.tar.gz
cd gromacs-5.0.6 
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs-5.0.6 \
  -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc \
  -DGMX_DOUBLE=off \
  -DGMX_FFT_LIBRARY=fftw3 \
  -DFFTW_LIBRARY="$HOME/fftw/lib/libfftw3.a" \
  -DFFTW_INCLUDE_DIR="$HOME/fftw/include/"  \
  -DGMX_MPI=on \
  -DGMX_GPU=on \
  -DCUDA_TOOLKIT_ROOT_DIR=$HOME/software/cuda \
   2>&1 | tee cm.log
make -j12 2>&1 | tee m.log
make install 2>&1 | tee mi.log

环境配置

source $HOME/software/gromacs-5.0.6/bin/GMXRC

执行这个脚本,就可以配置好环境了。

测试

下载一个官方算例 ftp://ftp.gromacs.org/pub/benchmarks/ADH_bench_systems.tar.gz

tar xvf ADH_bench_systems.tar.gz # 解压缩
cd adh_cubic # 选择一个算例
grompp_mpi -f rf_verlet.mdp # 预处理
yhrun -n24 -pdebug mdrun_mpi # 并行执行mpi版
yhrun -n1 -pdebug mdrun_mpi # 执行gpu版