gromacs 编译安装测试说明

科学计算软件编译安装方法说明 --- gromacs 篇 

 

 

官网地址:

http://www.gromacs.org/


下载地址:

http://www.gromacs.org/Downloads

 

1. 什么是GROMACS?

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

 

2. lammps编译环境

Intel Compiler /GNU Compiler  + MPI Compiler + CMAKE +  FFTW + (CUDA)


3. 安装 Intel Compiler 编译器,设置编译环境

Intel Compiler /GNU Compiler  + MPI Compiler

如果使用的是Intel的CPU,建议使用Intel的编译器。

详细安装方法参见博客相关文章。

 

例如使用TH-1A的Intel 2013编译器编译lammps,可以加载如下环境变量:

source /opt/intel/composer_xe_2013.0.079/bin/iccvars.sh intel64    

4.安装 MPI Compiler,设置编译环境

编译并行版的程序需要并行编译器,例如MPI并行的程序需要MPI编译器,常用的MPI例如Intel MPI 、MPICH 、OPENMPI等。

不同的机器可能针对自身硬件进行MPI优化,天河系统的MPI是基于开源MPICH进行的二次开发优化,进而支持性能卓越的天河自主高速互联网络。

详细安装方法参见博客相关文章。

 

例如使用TH-1A的Intel 2013编译器编译的mpich,可以加载如下环境变量:

export MPI_HOME=/usr/local/mpi-intel2013    
export PATH=$MPI_HOME/bin:$PATH    
export LD_LIBRARY_PATH=$MPI_HOME/lib:$LD_LIBRARY_PATH  


4.安装CMAKE


如果系统环境中未安装cmake,那么需要自行编译下,简介如下:


4.1 下载

http://www.cmake.org/download/


4.2 编译

tar zxvf cmake-3.8.0.tar.gz
cd cmake-3.8.0
./bootstrap --prefix=$HOME/software/cmake-3.8.0 2>&1 | tee b.log
make 2>&1 | tee m.log
make install 2>&1 | tee mi.log


4.3 配置

# 配置环境(可以写入.bashrc)
# cmake-3.8.0
export CMKAE_HOME=$HOME/software/cmake-3.8.0
export PATH=$CMKAE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CMKAE_HOME/lib:$LD_LIBRARY_PATH

5. 安装FFTW

 

编译fftw数学库,可以遵循常用的configure + make + make install 的步骤,安装方法参见博客相关文章。


6. 安装GROMACS(CPU+Single/Double)

gromacs可以编译为串行版(略)、并行版(gmp_mpi),同时可以区分为单双精度(使用GMX_DOUBLE参数设置),详细介绍如下:

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


# cpu + single

mkdir build-cpu-single
cd build-cpu-single
cmake  .. -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx \
     -DGMX_MPI=on -DGMX_DOUBLE=off \
     -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs/5.1.4-sp-cpu \
     -DGMX_FFT_LIBRARY=fftw3 -DFFTWF_LIBRARY="$(HOME)/software/fftw/3.3.6/lib/libfftw3f.so" \
     -DFFTWF_INCLUDE_DIR="$(HOME)/software/fftw/3.3.6/include" 2>&1 | tee cm.log 
make 2>&1 | tee m.log 
make install 2>&1 | tee m.log
cd ..


# cpu + double
mkdir build-cpu-double
cd build-cpu-double
cmake  .. -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx \
     -DGMX_MPI=on -DGMX_DOUBLE=on \
     -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs/5.1.4-dp-cpu \
     -DGMX_FFT_LIBRARY=fftw3 -DFFTW_LIBRARY="$(HOME)/software/fftw/3.3.6/lib/libfftw3.so" \
     -DFFTW_INCLUDE_DIR="$(HOME)/software/fftw/3.3.6/include" 2>&1 | tee cm.log 
make 2>&1 | tee m.log 
make install 2>&1 | tee m.log
cd ..
说明:

1)创建一个子文件夹(build-cpu-single 及 build-cpu-double)是为了在该文件夹内进行编译,不影响源码。

2)参数“-DCMAKE_C_COMPILER”及“-DCMAKE_CXX_COMPILER” 设置C及C++的编译器,不设置的话,默认是gcc及g++。

3)参数“-DGMX_MPI=on” 设置开启mpi,表示编译并行版。

4)参数“-DGMX_DOUBLE=off” 设置double是否开启,不开启则为float版本,开启则为double版本。

4)参数“-DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs/5.1.4-sp” 设置安装目录。

5)参数“-DGMX_FFT_LIBRARY=fftw3 ” 设置fftw库类型。

6)参数“-DFFTWF_LIBRARY”及“-DFFTWF_INCLUDE_DIR” 设置fftw库的库及头文件路径,注意区分单双精度。如果不想用动态库,可以设置为静态库,例如libfftw3f.a。

7) 如果使用多核的cpu可以使用“-j”参数加快编译速度,例如4核的cpu,可以用如下命令 make-j 4 2>&1 | tee m.log


7. 安装GROMACS(GPU)

编译GPU版本的GROMACS,则需要设置cuda的环境,具体方法如下:


7.1 设置cuda环境

预先设置好cuda的编译环境(配置方法此处暂略),在TH-1A环境下已经配置好了,仅需要设置环境即可:

# CUDA
export CUDA_HOME=/vol-th/software/cuda/cuda-7.5
export PATH=$CUDA_HOME/bin:$PATH
export LD_LIBRARY_PATH=$CUDA_HOME/lib64:$LD_LIBRARY_PATH

7.2 编译GROMACS(GPU+Single)

mkdir build-gpu-single
cd build-gpu-single
cmake  .. -DCMAKE_C_COMPILER=mpicc -DCMAKE_CXX_COMPILER=mpicxx \
     -DGMX_MPI=on -DGMX_DOUBLE=off \
     -DCMAKE_INSTALL_PREFIX=$HOME/software/gromacs/5.1.4-sp-gpu \
     -DGMX_FFT_LIBRARY=fftw3 -DFFTWF_LIBRARY="$(HOME)/software/fftw/3.3.6/lib/libfftw3f.so" \
     -DFFTWF_INCLUDE_DIR="$(HOME)/software/fftw/3.3.6/include" \
     -DGMX_GPU=on -DCUDA_TOOLKIT_ROOT_DIR=/vol-th/software/cuda/cuda-7.5 2>&1 | tee cm.log 
make 2>&1 | tee m.log 
make install 2>&1 | tee m.log   

说明:

1)已经介绍的参数见上一节。

2)参数“-DGMX_GPU=on” 设置开启GPU。

3)参数“-DCUDA_TOOLKIT_ROOT_DIR” 设置CUDA路径。

4)此处仅编译单精度版本,双精度版本的请读者自己思考一下(O(∩_∩)O哈哈~)。


8. 测试(以cpu+sp为例)

8.1 设置gromacs的环境

source $HOME/software/gromacs/5.1.4-sp-cpu/bin/GMX.bash

8.2 下载算例

ftp://ftp.gromacs.org/pub/benchmarks/ADH_bench_systems.tar.gz


8.3 解压缩算例,配置脚本

tar xvf ADH_bench_systems.tar.gz
cd adh_cubic

8.4 配置脚本sub.sh

#!/bin/bash
yhrun -N 1 -n 1 -p debugg gmx_mpi grompp -f rf_verlet.mdp
yhrun -N 2 -n 24 -p debug gmx_mpi mdrun -ntomp 1

说明:

1)参数“-ntomp 1”设置每个mpi进程开启1个线程。


8.5 提交脚本

yhbatch -N 2 -n 24 -p debug sub.sh 


8.6 测试结果

计算结束后,可以在结果文件中查看计算结果。


P.S 提供GROMACS的测试机会。


欢迎交流。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值