请选择 进入手机版 | 继续访问电脑版

计算化学公社

 找回密码
 现在注册!
查看: 2439|回复: 30

[GROMACS] GROMACS的安装方法(含全程视频演示)

[复制链接]

1万

帖子

25

威望

2万

eV
积分
41862

管理员

公社社长

发表于 2019-1-2 20:03:55 | 显示全部楼层 |阅读模式
注:GROMACS通常在Linux下运行,本文只讲在Linux下的编译和安装方法。GROMACS在Windows下也照样可以完美编译和运行,参见《GROMACS的原生Windows版的编译和安装方法》(http://sobereva.com/458),里面还提供了笔者编译好的Windows版。

GROMACS的安装方法

文/Sobereva@北京科音
First release: 2019-Jan-2  Last update: 2019-Mar-29


本文对最流行的分子动力学GROMACS程序在Linux下的安装方法进行详细说明。当新出的GROMACS版本的安装方法和本文所述出现较大差异时,本文也会做相应的更新。PS:之前笔者也写过老版本GROMACS安装方法,见《Gromacs 5.1.1与4.6.7编译方法》(http://sobereva.com/247)和《Gromacs 4.0.4、4.5.5版安装方法》(http://sobereva.com/29),但这俩文章对于目前版本来说已经没有意义了。

下面介绍的是GROMACS 2018.4版的安装,对GROMACS 2019经测试也完全适用,对于其它版本可能适用也可能不适用。本文是针对计算化学工作者最常用的CentOS 7.6操作系统写的,对于其它Linux系统的用户,安装方法可能与本文有异。本文的CentOS 7.6是按照《在VMware 15中安装CentOS 7.6的完整过程视频演示》(http://sobereva.com/454)演示的方式完全新装的。本文假定读者是root用户,程序将被安装到/sob目录下。如果你是普通用户,请随机应变,恰当设置路径。本文所示的安装过程中主机全程都能访问Internet。本文编译用的C++编译器是操作系统自带的gcc,虽然用Intel C++编译器也可以,但编译出的程序的速度没有显著差别。

下面安装的是纯CPU运算、单精度、能单机并行但不能跨节点并行的版本。如果需要GPU加速或跨节点或双精度运算,看文末的附注。本文用make的时候使用了-j选项以通过并行编译降低编译耗时,但个别情况下可能导致编译出错,在虚拟机下编译还有卡住的可能,届时请去掉-j再试。下文的安装过程有全程视频演示,初学者不熟悉Linux的话请严格效仿者安装:https://www.bilibili.com/video/av39749252/


1 安装cmake 3.x

GROMACS 2018需要系统里有cmake 3.x才能编译。CentOS 7.6自带的cmake版本太老,因此需要先装cmake 3.x。

首先运行以下命令,添加EPEL源
yum install epel-release

然后在终端里输入yum install cmake3即可下载和安装cmake包,遇到提示的时候都输入y。之后输入cmake3 /V命令,如果显示出了3.x的版本号就说明没问题了。

注:如果用yum的时候出现乱七八糟的提示安装不了,把操作系统重启一下往往就好了。


2 安装FFTW库

GROMACS 2018依赖于快速傅立叶变换库FFTW 3.3.8,可以在http://www.fftw.org/fftw-3.3.8.tar.gz下载。将其压缩包解压,进入此目录后运行
./configure --prefix=/sob/fftw338 --enable-sse2 --enable-avx --enable-float --enable-shared
以上语句代表FFTW将被安装到/sob/fftw338目录。如果你的CPU相对较新,支持AVX2指令集,可再加上--enable-avx2选项以获得更好性能。

然后运行make -j install开始编译,过一会儿编译完毕后,就出现了/sob/fftw338目录。然后可以把FFTW的解压目录和压缩包删掉了。


3 安装GROMACS

下载GROMACS 2018.4压缩包,地址为ftp://ftp.gromacs.org/pub/gromacs/gromacs-2018.4.tar.gz。然后将之拷到/sob目录下解压。进入解压后的目录,在终端里依次运行
mkdir build
cd build
export CMAKE_PREFIX_PATH=/sob/fftw338
cmake3 .. -DCMAKE_INSTALL_PREFIX=/sob/gmx2018.4
make install -j
Intel四核机子下,不到10分钟就能编译完毕。

此时程序就被编译和安装到了/sob/gmx2018.4目录下。修改用户目录下的.bashrc文件(比如运行gedit ~/.bashrc),在末尾加入source /sob/gmx2018.4/bin/GMXRC,然后保存。

之后关闭终端窗口,再次打开终端,输入gmx -version,看看是否输出了GROMACS的相关信息,是的话就说明安装成功了。之后可以把GROMACS压缩包和解压出来的目录删掉。


注1:在安装GROMACS过程中自动安装FFTW库

实际上,FFTW库可以不必手动安装,因为可以在安装GROMACS时自动下载并安装FFTW库。但由于国内链接FFTW官网服务器往往比较慢,自动下载FFTW库可能中途卡住或者过程巨慢,因此还是建议手动方式安装FFTW库。如果你确实打算自动安装FFTW库的话,将上文第2节直接忽略掉,也不必设export CMAKE_PREFIX_PATH=/sob/fftw338,把第3节的cmake3那一步额外加上-DGMX_BUILD_OWN_FFTW=ON选项即可,这样编译GROMACS时就会自动在FFTW官网上下载FFTW包并自动编译之。

注2:编译支持CUDA GPU加速的版本

GROMACS目前支持对nVidia的GPU通过CUDA方式的加速,也支持以OpenCL方式对其它厂商的GPU实现GPU加速。对于用CUDA方式加速,先去https://developer.nvidia.com/cuda-downloads下载CUDA toolkit并安装到默认路径,之后编译GROMACS方法同前,区别仅是cmake3这一步额外加上-DGMX_GPU=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda选项(以实际CUDA tookit安装路径为准)
之后运行gmx mdrun运算时,会自动使用机子里的GPU进行加速。如果又不想使用GPU加速了,那还得按照上文方式编译一个只支持CPU运算的版本并放到不同的路径,并且把.bashrc改成source那个版本的GMXRC。

注3:编译双精度版本

一般计算只需要按照前述编译单精度版本就够了,但如果模拟刚开始就崩溃,有时候用双精度版本可解决,但计算比单精度版慢将近一倍、trr/edr等文件体积大一倍。另外,做正则振动分析时在能量极小化和对角化Hessian矩阵的时候一般也需要用双精度版以确保数值精度。注意,编译双精度版本时不支持GPU加速。

要编译双精度版本的话,先按照前文方式编译一遍单精度版本,毕竟这之后在研究中肯定也得用。然后再重复一遍编译过程,但是在编译FFTW时去掉--enable-float,并且在使用cmake3命令时额外加上-DGMX_DOUBLE=ON选项。双精度版本的GROMACS可执行文件是gmx_d,而单精度是gmx,因此单精度和双精度的可执行文件可以同时存在于同一目录,互不冲突。

注4:编译GROMACS的MPI版本

GROMACS跨节点并行计算需要MPI库,支持OpenMPI>=1.6、MPICH>=1.4.1。在编译这种GROMACS之前首先要安装MPI库,这里用OpenMPI。去http://www.open-mpi.org下载OpenMPI最新版本,解压并进入此目录后运行以下命令,就会编译并安装OpenMPI到/sob/openmpi目录:
./configure --prefix=/sob/openmpi
make all install -j
之后在用户目录下的.bashrc末尾加入以下两行
export PATH=$PATH:/sob/openmpi/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/sob/openmpi/lib
然后重新进入终端使以上语句生效。之后编译GROMACS的方法同前,但在cmake3那一步额外加上-DGMX_MPI=ON选项。编译出来的可执行文件是gmx_mpi,比单机版本的可执行文件多了_mpi后缀。运行时候使用比如这样的命令:mpirun -np 16 gmx_mpi mdrun。

注:对于root用户,OpenMPI要求每次执行mpirun命令都得带着-allow-run-as-root选项才行,这很烦人,但可以通过在编译OpenMPI之前修改OpenMPI的源代码来避免,见《root用户在用openmpi并行计算时避免加--allow-run-as-root的方法》(http://sobereva.com/409)。

评分

参与人数 5eV +23 收起 理由
lastzealot + 5 谢谢
少年爱吃地三鲜 + 3 谢谢
zsu007 + 5 赞!
gsbear + 5
yoya + 5 好物!

查看全部评分

北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群1号:18616395,2号:466017436。超过4000人,用于交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

2422

帖子

10

威望

4508

eV
积分
7130

Level 6 (一方通行)

首席卖萌官

发表于 2019-1-2 20:09:00 | 显示全部楼层
It can be seen that the videos of GMX installation needn't to be sent to the members who are going to join the training course of GMX and Molecular dynamics
She doesn't love me.
Even so,
my heart has been taken away by her.

31

帖子

0

威望

499

eV
积分
530

Level 4 (黑子)

发表于 2019-1-3 00:58:54 | 显示全部楼层
本帖最后由 catenarygong 于 2019-1-3 01:06 编辑

SOrry I didn't mention the icc/gcc part. Thanks for your information.

1万

帖子

25

威望

2万

eV
积分
41862

管理员

公社社长

 楼主| 发表于 2019-1-3 06:52:27 | 显示全部楼层
刚测试了下,gmx2019按照此文方法编译也完全适用
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群1号:18616395,2号:466017436。超过4000人,用于交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

78

帖子

0

威望

501

eV
积分
579

Level 4 (黑子)

发表于 2019-1-3 09:55:27 | 显示全部楼层
谢谢老师分享!
上海交通大学计算化学与分子生物信息实验室
Shanghai JiaoTong University
Computational Chemistry and Molecular Bioinformatics Laboratory

12

帖子

0

威望

93

eV
积分
105

Level 2 能力者

发表于 2019-1-17 21:26:48 | 显示全部楼层
SOB老师,那Windows系统该如何安装呢?

1万

帖子

25

威望

2万

eV
积分
41862

管理员

公社社长

 楼主| 发表于 2019-1-18 00:18:44 | 显示全部楼层
CayJ 发表于 2019-1-17 21:26
SOB老师,那Windows系统该如何安装呢?

GROMACS的原生Windows版的编译和安装方法
http://sobereva.com/458http://bbs.keinsci.com/thread-11848-1-1.html
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群1号:18616395,2号:466017436。超过4000人,用于交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

12

帖子

0

威望

93

eV
积分
105

Level 2 能力者

发表于 2019-1-18 08:57:38 | 显示全部楼层
sobereva 发表于 2019-1-18 00:18
GROMACS的原生Windows版的编译和安装方法
http://sobereva.com/458(http://bbs.keinsci.com/thread-118 ...

SOB老师,GROMACS的原生Windows版支持molclus计算吗?

1万

帖子

25

威望

2万

eV
积分
41862

管理员

公社社长

 楼主| 发表于 2019-1-18 13:59:08 | 显示全部楼层
CayJ 发表于 2019-1-18 08:57
SOB老师,GROMACS的原生Windows版支持molclus计算吗?

和操作系统毫无关系
不管哪个系统下跑出来的轨迹都是一样的,都能用VMD载入并转换
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群1号:18616395,2号:466017436。超过4000人,用于交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

140

帖子

0

威望

393

eV
积分
533

Level 4 (黑子)

发表于 2019-1-20 15:36:15 | 显示全部楼层
本帖最后由 xaomidaxue 于 2019-3-14 08:29 编辑

安装提示升级gcc,升级了一个多小时https://www.cnblogs.com/lzpong/p/5755678.html,升级后显示gcc 6.0.1
但是编译的时候出现如下错误,请教一下sober老师该怎么处理,谢谢!
cmake3 .. -DCMAKE_INSTALL_PREFIX=/home/gromacs-2018
CMake Error at cmake/gmxTestCXX11.cmake:135 (message):
  GROMACS requires version 4.8.1 or later of the GNU C++ compiler for
  complete C++11 support
Call Stack (most recent call first):
  CMakeLists.txt:168 (gmx_test_cxx11)


-- Configuring incomplete, errors occurred!
See also "/home/gromacs-2018/build/CMakeFiles/CMakeOutput.log".
See also "/home/gromacs-2018/build/CMakeFiles/CMakeError.log".
[root@yezh build]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-pc-linux-gnu/6.1.0/lto-wrapper
Target: x86_64-pc-linux-gnu
Configured with: ../configure -enable-checking=release -enable-languages=c,c++ -disable-multilib
Thread model: posix
gcc version 6.1.0 (GCC)


1万

帖子

25

威望

2万

eV
积分
41862

管理员

公社社长

 楼主| 发表于 2019-1-20 16:37:43 | 显示全部楼层
xaomidaxue 发表于 2019-1-20 15:36
安装提示升级gcc,升级了一个多小时https://www.cnblogs.com/lzpong/p/5755678.html,升级后显示gcc 6 ...

严格按照帖子操作。没有特殊情况别升级gcc,省得出现额外问题
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群1号:18616395,2号:466017436。超过4000人,用于交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

140

帖子

0

威望

393

eV
积分
533

Level 4 (黑子)

发表于 2019-1-20 17:46:41 | 显示全部楼层
本帖最后由 xaomidaxue 于 2019-1-20 17:53 编辑
sobereva 发表于 2019-1-20 16:37
严格按照帖子操作。没有特殊情况别升级gcc,省得出现额外问题

严格按照帖子来操作,还是提示上述错误,说Gromacs需要4.8.1以上的gcc版本,但是我的都是6.0.1的版本了,还不行,不知道怎么回事?fftw和cmake都是按照上面操作的,cmake是3.6.1的版本。会不会是gromac 编译的时候无法识别gcc的版本,导致报错。我的是cent os 6.7的版本,被我按照提示升级到了6.0.1了。
谢谢sober老师。

1万

帖子

25

威望

2万

eV
积分
41862

管理员

公社社长

 楼主| 发表于 2019-1-20 18:32:03 | 显示全部楼层
xaomidaxue 发表于 2019-1-20 17:46
严格按照帖子来操作,还是提示上述错误,说Gromacs需要4.8.1以上的gcc版本,但是我的都是6.0.1的版本了, ...

8成是bug,太新了反倒认不对版本
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社QQ群1号:18616395,2号:466017436。超过4000人,用于交流理论、计算化学。两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!

140

帖子

0

威望

393

eV
积分
533

Level 4 (黑子)

发表于 2019-1-21 08:26:24 | 显示全部楼层
sobereva 发表于 2019-1-20 18:32
8成是bug,太新了反倒认不对版本

多谢sober老师,我用4.8.1的版本试试

429

帖子

0

威望

988

eV
积分
1417

Level 4 (黑子)

发表于 2019-1-23 11:47:35 | 显示全部楼层
谢谢SOB。
您需要登录后才可以回帖 登录 | 现在注册!

本版积分规则

手机版|北京科音自然科学研究中心|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949-1号 )

GMT+8, 2019-5-23 18:08 , Processed in 0.173856 second(s), 26 queries .

快速回复 返回顶部 返回列表