gromacs编译安装教程

简介

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

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

编译环境

需要的编译环境为:

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

编译单精度CPU版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
tar -zxvf gromacs-5.1.4.tar.gz # 以5.1.4版本为例
cd gromacs-5.1.4
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs-5.1.4 \
-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/fftw/include” fftw的头文件目录,请改为自己的安装目录
-DGMX_MPI=on 开启 MPI 支持
-DGMX_GPU=off 关闭 GPU 支持

编译双精度CPU版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
tar -zxvf gromacs-5.1.4.tar.gz
cd gromacs-5.1.4
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs-5.1.4 \
-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的时候,修改一下参数,增加一个参数即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
tar -zxvf gromacs-5.1.4.tar.gz
cd gromacs-5.1.4
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs-5.1.4 \
-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

编译带plumed的版本

PLUMED 是分子系统中自由能计算的开源库,与一些最流行的分子动力学引擎一起工作。可以使用诸如元动力学,伞形采样和基于 Jarzynski 方程的转向 MD 之类的现有技术来执行自由能计算作为许多次序参数的函数,特别关注生物学问题。

官网地址:传送门

编译安装方法如下:

配置编译环境

1
2
3
4
5
# 设置编译c/c++的环境
source /opt/intel/composer_xe_2013.0.079/bin/iccvars.sh intel64
# 设置mpi编译环境
export PATH=/usr/local/mpi-intel2013/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/mpi-intel2013/lib:$LD_LIBRARY_PATH

编译plumed

1
2
3
4
5
6
7
8
9
tar -zxvf plumed2-2.3.0-tar.gz
cd plumed2-2.3.0
time CC=icc FC=ifort ./configure \
--prefix=$HOME/software/plumed2/2.3.0-icc13-mpich3 \
2>&1 | tee c.log
# real 3m18.979s
time make -j 12 2>&1 | tee m.log
# real 17m9.607s
time make install 2>&1| tee mi.log

设置运行环境

1
2
3
export PLUMED2_HOME=$HOME/software/plumed2/2.3.0-icc13-mpich3
export PATH=$PLUMED2_HOME/bin:$PATH
export LD_LIBRARY_PATH=$PLUMED2_HOME/lib:$LD_LIBRARY_PATH

解压缩

1
2
tar -zxvf gromacs-5.1.4.tar.gz
cd gromacs-5.1.4

打plumed的patch

输入:

1
plumed patch -p

然后依据gromacs的版本选择编号,gromacs-5.1.4选择5)即可

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
PLUMED patching tool

1) amber14 4) gromacs-5.0.7 7) namd-2.8
2) gromacs-2016.1 5) gromacs-5.1.4 8) namd-2.9
3) gromacs-4.5.7 6) lammps-6Apr13 9) qespresso-5.0.2

Choose the best matching code/version:5
MD engine: gromacs-5.1.4
PLUMED location: $HOME/software/plumed2/2.3.0-icc13-mpich3.0.4/lib/plumed

...

patching file ./src/programs/mdrun/mdrun.cpp
patching file ./src/programs/mdrun/repl_ex.cpp
patching file ./src/programs/mdrun/repl_ex.h
patching file ./src/programs/mdrun/runner.cpp

PLUMED is compiled with MPI support so you can configure gromacs-5.1.4 with MPI

编译gromacs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs-5.1.4-plumed2-2.3.0-icc13-mpich3.0.4 \
-DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc \
-DGMX_DOUBLE=off \
-DGMX_OPENMP=ON \
-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_OPENMP=ON 开启openmp的支持
-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 支持

环境配置

1
source $HOME/software/gromacs-5.1.4/bin/GMXRC

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

测试

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

1
2
3
4
5
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版
文章作者: mrzhenggang
文章链接: https://blog.mrzhenggang.com/gromacs-install/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Mr.ZhengGang
免费试用: 本站提供国家超级计算天津中心试用机会,详情请见 免费试用
微信打赏
支付宝打赏