gromacs编译安装教程
# 简介

GROMACS 是用于研究生物分子体系的分子动力学程序包。它可以用分子动力学、随机动力学或者路径积分方法模拟溶液或晶体中的任意分子,进行分子能量的最小化,分析构象等。它的模拟程序包包含 GROMACS 力场(蛋白质、核苷酸、糖等),研究的范围可以包括玻璃和液晶、到聚合物、晶体和生物分子溶液。 GROMACS 是一个功能强大的分子动力学的模拟软件,其在模拟大量分子系统的牛顿运动方面具有极大的优势。
链接:官网地址 (opens new window),下载指定版本 (opens new window)
# 编译环境
需要的编译环境为:
- 串行编译器:Intel Compiler / GNU Compiler
- MPI编译器:mpich / openmpi(如果是MPI版本)
- cmake
- fftw
- CUDA(如果是GPU版本)
- plumed(如果开启plumed)
# 编译单精度CPU版本
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
参数说明如下:
参数 | 含义 |
---|---|
-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版本
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 编译GPU版本
在执行cmake的时候,修改一下参数,增加一个参数即可。
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 编译带plumed的版本
PLUMED 是分子系统中自由能计算的开源库,与一些最流行的分子动力学引擎一起工作。可以使用诸如元动力学,伞形采样和基于 Jarzynski 方程的转向 MD 之类的现有技术来执行自由能计算作为许多次序参数的函数,特别关注生物学问题。
官网地址:传送门 (opens new window)。
编译安装方法如下:
# 配置编译环境
# 设置编译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
1
2
3
4
5
2
3
4
5
# 编译plumed
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
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 设置运行环境
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
3
2
3
# 解压缩
tar -zxvf gromacs-5.1.4.tar.gz
cd gromacs-5.1.4
1
2
2
# 打plumed的patch
输入:
plumed patch -p
1
然后依据gromacs的版本选择编号,gromacs-5.1.4选择5)即可
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 编译gromacs
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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
参数 | 含义 |
---|---|
-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 支持 |
# 环境配置
source $HOME/software/gromacs-5.1.4/bin/GMXRC
1
执行这个脚本,就可以配置好环境了。
# 测试
下载一个官方算例 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版
1
2
3
4
5
2
3
4
5