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

计算化学公社

 找回密码
 现在注册!
查看: 9207|回复: 33

[GROMACS] Gromacs 5.1.1与4.6.7编译方法

[复制链接]

1万

帖子

25

威望

1万

eV
积分
34206

管理员

公社社长

发表于 2014-10-19 08:18:57 | 显示全部楼层 |阅读模式
Gromacs 5.1.1与4.6.7编译方法

文/Sobereva @北京科音  Last update: 2016-Jan-25

Gromacs 5.0(5.1.1编译方法与此完全一样)
编译条件:RHEL6-U1 64bit, Intel Q6600, root。

必须有cmake 2.8.8及以上。MKL、icc不是必需的,用MKL不比FFTW更快,用icc比gcc优势也不明显,故没必要装。单机并行不用装MPI库,因为用的是OpenMP并行。跨节点运行基于MPI,可以用OpenMPI 1.6及以上版本或MPICH 1.4.1及以上版本。

运行cmake -version,如果显示的版本低于2.8.8,到这里下载最新的cmake源代码:http://www.cmake.org/cmake/resources/software.html
解压cmake,进入其目录,运行./bootstrap;make -j;make install,就被安装到了/usr/local/bin下面。删掉cmake目录。

tar -zxf gromacs-5.0.tar.gz解压之,进入Gromacs的解压目录
mkdir build
cd build
cmake .. -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_INSTALL_PREFIX=/sob/gromacs50 (注:如果用的CPU比较新,编译器版本又比较老,比如RHEL6自带的,这一步可能会报错提示说编译器不支持AVX2指令集,此时应当再加上-DGMX_SIMD=AVX_256来强制用AVX1指令集)
make -j       //-j代表调用所有核并行编译
make install
在make过程中Gromacs会自动下载FFTW3.3.3并编译之。下载和编译总共只需几分钟。程序被安装到了/sob/gromacs50。删掉Gromacs安装目录,并在用户的.bashrc里加上export PATH=$PATH:/sob/gromacs50/bin。

如果要编译双精度版本,cmake的时候写上-DGMX_DOUBLE=ON。此时不兼容GPU加速。编译出来的可执行文件默认都带着_d后缀,因此可以和单精度版安装到同一目录,不会冲突。


**** CUDA版安装方法
Gromacs通过CUDA支持nVidia的GPU来加速动力学计算,效率很好。如果用的是4核CPU,用高端GeForce显卡可加速>3倍,性价比很高。
先去nVidia网站下载并安装CUDA toolkit到默认路径。其它同上,区别仅是cmake这一步:
cmake .. -DGMX_GPU=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-5.5 -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_INSTALL_PREFIX=/sob/gromacs50

Gromacs从5.0开始也支持Intel XEON phi来加速计算,但只是初步支持,性价也远低于使用高端GeForce显卡,故这里就不说了。


**** 自己装FFTW的情况
有时候安装的机子不通网,Gromacs编译时没法自动联网下载FFTW,就必须先自行下载安装FFTW,然后在编译时调用。过程是:去ftp://ftp.fftw.org/pub/fftw/下载FFTW3.3.3或更高版本,解压并进入目录,运行
./configure --prefix=/sob/fftw333 --enable-sse2 --enable-float --enable-shared
make -j
make install
在编译Gromacs的cmake那步之前先运行
export CMAKE_PREFIX_PATH=/sob/fftw333
然后在cmake时去掉-DGMX_BUILD_OWN_FFTW=ON。
注意--enable-float代表编译单精度版本FFTW。如果是给双精度Gromacs用的,应该把--enable-float去掉。


**** 编译MPI版的方法
http://www.open-mpi.org下载openmpi,这里用1.6.5版。解压并进入目录后运行
./configure
make all install
然后在cmake时加上-DGMX_MPI=on即可。编译出来的文件都带着_mpi后缀,因此和单节点并行的版本可以装到一起,不会冲突。


注:Gromacs充分对主流的CPU支持的SIMD指令集进行优化,编译时会自动检测CPU架构,采用适当的编译选项,充分利用支持的指令集达到最佳性能。因此,如果几个机子的CPU架构不同,不要把编译好的Gromacs程序直接互拷,否则运行会出问题。


Gromacs 4.6.7
编译方法和5.0基本没有任何差异,下面只是简要写写,具体请参考上面的内容。

编译条件:RHEL6-U1 64bit, Q6600, root。
gmx 4.6开始完全使用cmake而不用./configure。必须有cmake 2.8及以上。MKL、icc不需要装。单机并行不用装MPI库,跨节点运行可以用openMPI或mpich。安装方法参考了http://www.gromacs.org/Documentation/Installation_Instructions

到这里下载最新的cmake源代码:http://www.cmake.org/cmake/resources/software.html
解压cmake,进入其目录,运行./bootstrap;make;make install,就被安装到了/usr/local/bin下面。删掉cmake目录。

tar -zxf gromacs-4.6.7.tar.gz解压之,进入gmx的解压目录
mkdir build
cd build
cmake .. -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_INSTALL_PREFIX=/sob/gromacs467
make -j
make install
在make过程中gmx会自动下载fftw3.3.2并编译之。下载和编译总共只耗时<3分钟。程序被安装到了/sob/gromacs467。删掉gmx安装包及解压目录。

如果要编译双精度版本,cmake的时候写上-DGMX_DOUBLE=ON。此时不兼容GPU加速。编译出来的可执行文件默认都带着_d后缀。

**** CUDA版安装方法
安装CUDA toolkit。其它同上,区别仅是cmake这一步:
cmake .. -DGMX_GPU=ON -DCUDA_TOOLKIT_ROOT_DIR=/usr/local/cuda-5.5 -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_INSTALL_PREFIX=/sob/gromacs467gpu

**** 自己装fftw的情况
解压fftw3.3.2,进去,运行
./configure --prefix=/sob/fftw332 --enable-sse2 --enable-float --enable-shared
make
make install
然后gmx里的cmake步骤改为
export CMAKE_PREFIX_PATH=/sob/fftw332
cmake .. -DCMAKE_INSTALL_PREFIX=/sob/gromacs467
如果用于编译双精度gmx,--enable-float应去掉

评分

参与人数 5eV +19 收起 理由
mooninwhere + 2 谢谢
hlmkh + 5 谢谢
kulaomega + 4 好物!
Xououw + 4 赞!
ter20 + 4 好物!

查看全部评分

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

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

290

帖子

0

威望

2860

eV
积分
3150

Level 5 (御坂)

发表于 2014-10-19 10:17:00 | 显示全部楼层
内容很不错,但是对于初学者而言。配置环境变量是个难题。如果楼主能把如何配置环境变量在升入的讲一下的话,我感觉会更好。本人愚见,仅供参考!:D

1万

帖子

25

威望

1万

eV
积分
34206

管理员

公社社长

 楼主| 发表于 2014-10-19 10:22:41 | 显示全部楼层
ruanyang 发表于 2014-10-19 10:17
内容很不错,但是对于初学者而言。配置环境变量是个难题。如果楼主能把如何配置环境变量在升入的讲一下的话 ...

按照文中所示运行export ...命令就行了
如果把linux的基础也得讲一遍帖子就太冗长了
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)
计算化学公社论坛:http://bbs.keinsci.com(高水平、高人气、综合性计算化学交流论坛)
思想家公社QQ群1号:18616395,2号:466017436。用于讨论理论、计算化学,两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。研究方向和理论、计算化学无关者勿加,以免浪费宝贵的空位

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

290

帖子

0

威望

2860

eV
积分
3150

Level 5 (御坂)

发表于 2014-10-19 10:30:48 | 显示全部楼层
理解 ,帖子将的很详尽。我自己在安装Gromacs4.6.5的时候在配置环境变量时卡了很长时间!

61

帖子

0

威望

1298

eV
积分
1359

Level 4 (黑子)

发表于 2014-10-19 14:18:04 | 显示全部楼层
非常实用,谢谢!刚接触linux系统。

22

帖子

0

威望

320

eV
积分
342

Level 3 能力者

发表于 2014-11-3 07:27:28 | 显示全部楼层
有用,多谢

46

帖子

0

威望

1474

eV
积分
1520

Level 5 (御坂)

发表于 2014-11-6 21:04:04 | 显示全部楼层
其实Gromacs的编译还算是容易的,4.x版本在什么平台上都能很顺利地编译。不过我最近试图在AIX 6.1系统上编译最新的5.0版本,出错,似乎是5.0里面用了一些非标准的语言格式,xlc++不认。

159

帖子

1

威望

2078

eV
积分
2257

Level 5 (御坂)

发表于 2015-1-20 00:07:42 | 显示全部楼层
ruanyang 发表于 2014-10-19 10:17
内容很不错,但是对于初学者而言。配置环境变量是个难题。如果楼主能把如何配置环境变量在升入的讲一下的话 ...

我目前用到的环境设置来来去去就那几个。(ubuntu环境)
1,export PATH=$PATH:/路径/bin  (不能PATH=/路径/)这样会导致系统默认的路径失效,比如sudo等无法使用。
2,  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib的路径/lib
3,source /路径/软连接
(比如gromacs:source /usr/local/gromacs/bin/GMXRC)
4,export AMBERHOME=/路径/amber14

以上个人愚见

17

帖子

0

威望

321

eV
积分
338

Level 3 能力者

发表于 2015-1-26 12:59:55 | 显示全部楼层
成功了!不过不知道的.bashrc和.bash_profile这两个文件有什么区别?路径加在任意一个都可以吗?

1万

帖子

25

威望

1万

eV
积分
34206

管理员

公社社长

 楼主| 发表于 2015-1-26 13:16:03 | 显示全部楼层
夏夜晚风 发表于 2015-1-26 12:59
成功了!不过不知道的.bashrc和.bash_profile这两个文件有什么区别?路径加在任意一个都可以吗?

.bash_profile:用户登录方式进bash shell时执行的环境变量设定
.bashrc:用户进bash shell时执行的环境信息,无论是否是登录方式进入(比如开启控制台、每次输入bash时)
一般都写在后者中。
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)
计算化学公社论坛:http://bbs.keinsci.com(高水平、高人气、综合性计算化学交流论坛)
思想家公社QQ群1号:18616395,2号:466017436。用于讨论理论、计算化学,两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。研究方向和理论、计算化学无关者勿加,以免浪费宝贵的空位

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

108

帖子

0

威望

1215

eV
积分
1323

Level 4 (黑子)

发表于 2015-6-18 10:22:39 | 显示全部楼层

Sob老师,在gromacs中如果想用QMMM计算的话,在编译gromacs的时候是不是就要指定计算QM所使用的软件呢(比如gaussian或ORCA)? 如果已经安装好了gromacs,可不可以通过外部参数的指定来完成呢?

我在网上搜了一下,但是还是不太明应该怎么做,还请老师指点。


1万

帖子

25

威望

1万

eV
积分
34206

管理员

公社社长

 楼主| 发表于 2015-6-18 21:40:38 | 显示全部楼层
yaochuang 发表于 2015-6-18 10:22
Sob老师,在gromacs中如果想用QMMM计算的话,在编译gromacs的时候是不是就要指定计算QM所使用的软件呢(比 ...

现在gmx的QMMM接口搞得怎么样了不是很清楚,以前弄gmx的QMMM还是3.3版的时候。
我估计应该不用在编译时就指定,你可以在mailing list上问问。
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)
计算化学公社论坛:http://bbs.keinsci.com(高水平、高人气、综合性计算化学交流论坛)
思想家公社QQ群1号:18616395,2号:466017436。用于讨论理论、计算化学,两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。研究方向和理论、计算化学无关者勿加,以免浪费宝贵的空位

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

108

帖子

0

威望

1215

eV
积分
1323

Level 4 (黑子)

发表于 2015-6-19 07:59:16 | 显示全部楼层
sobereva 发表于 2015-6-18 21:40
现在gmx的QMMM接口搞得怎么样了不是很清楚,以前弄gmx的QMMM还是3.3版的时候。
我估计应该不用在编译时 ...

好的,谢谢~

122

帖子

0

威望

2762

eV
积分
2884

Level 5 (御坂)

发表于 2015-7-30 00:04:23 | 显示全部楼层
双精度的带 _d
并行的带 _mpi
Cuda版的是 _cuda吗?

1万

帖子

25

威望

1万

eV
积分
34206

管理员

公社社长

 楼主| 发表于 2015-7-30 09:38:43 | 显示全部楼层
xpyp 发表于 2015-7-30 00:04
双精度的带 _d
并行的带 _mpi
Cuda版的是 _cuda吗?

你指的什么程序?gmx?

只有双精度版默认带_d后缀,其它两种默认没有后缀。
北京科音自然科学研究中心:http://www.keinsci.com  致力于计算化学的发展和传播,不定期开办各层次量子化学、分子动力学、波函数分析与Multiwfn程序等主题的培训。欢迎加入“北京科音”微信公众号获取培训最新消息和计算化学资讯
思想家公社的门口Blog:http://sobereva.com(发布大量原创计算化学相关博文)
Multiwfn主页:http://sobereva.com/multiwfn(最流行的量子化学波函数分析程序)
计算化学公社论坛:http://bbs.keinsci.com(高水平、高人气、综合性计算化学交流论坛)
思想家公社QQ群1号:18616395,2号:466017436。用于讨论理论、计算化学,两个群讨论范畴相同,可加入任意其一但不可都加入,申请信息必须注明具体研究方向,否则一概不批。研究方向和理论、计算化学无关者勿加,以免浪费宝贵的空位

此账号为诸Sobereva共用
Money and papers are rubbish, get a real life!
您需要登录后才可以回帖 登录 | 现在注册!

本版积分规则

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

GMT+8, 2018-9-26 13:44 , Processed in 0.174728 second(s), 26 queries .

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