计算化学公社
标题: Gromacs 5.1.1与4.6.7编译方法 [打印本页]
作者Author: sobereva 时间: 2014-10-19 08:18
标题: Gromacs 5.1.1与4.6.7编译方法
注:本文已经过时,最新版本GROMACS安装方法参见《GROMACS的安装方法》(http://sobereva.com/457)。
Gromacs 5.1.1与4.6.7编译方法
Compilation method of GROMACS 5.1.1 and 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应去掉
作者Author: ruanyang 时间: 2014-10-19 10:17
内容很不错,但是对于初学者而言。配置环境变量是个难题。如果楼主能把如何配置环境变量在升入的讲一下的话,我感觉会更好。本人愚见,仅供参考!:D
作者Author: sobereva 时间: 2014-10-19 10:22
按照文中所示运行export ...命令就行了
如果把linux的基础也得讲一遍帖子就太冗长了
作者Author: ruanyang 时间: 2014-10-19 10:30
理解 ,帖子将的很详尽。我自己在安装Gromacs4.6.5的时候在配置环境变量时卡了很长时间!
作者Author: aqhuangry 时间: 2014-10-19 14:18
非常实用,谢谢!刚接触linux系统。
作者Author: 516518 时间: 2014-11-3 07:27
有用,多谢
作者Author: wugaxp 时间: 2014-11-6 21:04
其实Gromacs的编译还算是容易的,4.x版本在什么平台上都能很顺利地编译。不过我最近试图在AIX 6.1系统上编译最新的5.0版本,出错,似乎是5.0里面用了一些非标准的语言格式,xlc++不认。
作者Author: kunkun 时间: 2015-1-20 00:07
我目前用到的环境设置来来去去就那几个。(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
以上个人愚见
作者Author: 夏夜晚风 时间: 2015-1-26 12:59
成功了!不过不知道的.bashrc和.bash_profile这两个文件有什么区别?路径加在任意一个都可以吗?
作者Author: sobereva 时间: 2015-1-26 13:16
.bash_profile:用户登录方式进bash shell时执行的环境变量设定
.bashrc:用户进bash shell时执行的环境信息,无论是否是登录方式进入(比如开启控制台、每次输入bash时)
一般都写在后者中。
作者Author: yaochuang 时间: 2015-6-18 10:22
Sob老师,在gromacs中如果想用QMMM计算的话,在编译gromacs的时候是不是就要指定计算QM所使用的软件呢(比如gaussian或ORCA)? 如果已经安装好了gromacs,可不可以通过外部参数的指定来完成呢?
我在网上搜了一下,但是还是不太明应该怎么做,还请老师指点。
作者Author: sobereva 时间: 2015-6-18 21:40
现在gmx的QMMM接口搞得怎么样了不是很清楚,以前弄gmx的QMMM还是3.3版的时候。
我估计应该不用在编译时就指定,你可以在mailing list上问问。
作者Author: yaochuang 时间: 2015-6-19 07:59
好的,谢谢~
作者Author: xpyp 时间: 2015-7-30 00:04
双精度的带 _d
并行的带 _mpi
Cuda版的是 _cuda吗?
作者Author: sobereva 时间: 2015-7-30 09:38
你指的什么程序?gmx?
只有双精度版默认带_d后缀,其它两种默认没有后缀。
作者Author: xpyp 时间: 2015-7-30 21:04
是gmx, 若mpi和cuda默认没有后缀,那还能编译在同一个文件夹吗?
作者Author: sobereva 时间: 2015-7-31 00:45
编译的时候有相应的选项可以指定加上什么后缀,区分开就可以放到同一个目录下
作者Author: aioria 时间: 2016-4-6 16:58
按照sob老师的方法安装了4.6.5版本,运行了一个算例,一些命令如grompp,genion ,genbox,editconf ,mdrun等命令都可以成功运行,但是查看轨迹用到ngmx命令,提示 ngmx: command not found,请问是什么原因?
作者Author: sobereva 时间: 2016-4-6 19:59
ngmx基本上没人用,界面特别恶心,功能很少,现在绝大多数人都用VMD来看轨迹。可能ngmx已经被去掉了吧。
作者Author: tjuchan 时间: 2016-4-22 11:00
本帖最后由 tjuchan 于 2016-4-22 11:03 编辑
按照您说明,一步一步安装,但是总是在cmake最后一步卡主了。连虚拟机都卡住了,每次都这样。请问下这怎么解决了?我的步奏是:
0、提前安装cmake 3.5.2
1、解压gromacs5.0.7
2、mkdir build
3、cd build
4、cmake .. -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_INSTALL_PREFIX=/home/gmx/gmx
就卡住了。
作者Author: sobereva 时间: 2016-4-22 17:15
这个很诡异。
试试gromacs 5.1.1能否解决。
作者Author: tjuchan 时间: 2016-4-22 17:47
重新装了虚拟机,安装gcc gcc-c++ gcc-fortran cmake 按照您的步奏 安装好gmx5了 。关键是cmake和FFTW都没采用最新版本。
作者Author: dark_cosmos 时间: 2016-7-4 13:36
Sob老师,我在Ubuntu上按照教程安装完后,whereis gmx可以找到在哪,whereis 别的,比如pdb2gmx就找不到了。这样肯定是用不成的啊。我的gromacs装在了/home/username/gromacs-5.1.2下面
作者Author: sobereva 时间: 2016-7-4 15:50
用gmx pdb2gmx,5.0开始一大堆工具都整合到gmx里头了,通过后面的参数决定用哪个
作者Author: dark_cosmos 时间: 2016-7-5 21:49
好的,谢谢Sob老师,没有注意到这个地方。Sob老师,我记得之前在manuals什么地方看到新版本中gromacs更改的命令一些命令,现在找不到了,请问老师还记得在哪么
作者Author: sobereva 时间: 2016-7-6 03:25
http://www.gromacs.org/Documentation/How-tos/Tool_Changes_for_5.0
以前的大量工具现在都得加gmx前缀并去掉g_前缀
作者Author: dark_cosmos 时间: 2016-7-6 15:46
嗯嗯,多谢Sob老师,就是这个地方。
作者Author: whtu 时间: 2016-12-17 13:32
1) cd build 执行完cmake以后不用返回上一层目录再进行后续的操作?
2) 删除安装目录指的是删除build?
3) 编译得到的单精度版本和双精度版本两者有什么区别?
作者Author: sobereva 时间: 2016-12-17 14:32
1 不用。都在build下。官方的意图是确保不会把源代码搞乱
2 删除整个解压后的目录
3 一般都用单精度。仅在个别情况,诸如做振动分析、需要精确优化等情况才用双精度。
作者Author: whtu 时间: 2016-12-19 13:34
我的压缩包放在:/opt/Gromacs 下,root安装
1)tar xfz gromacs-5.1.4.tar.gz
2)mkdir build
3) cd build
4)cmake .. -DGMX_BUILD_OWN_FFTW=ON -DCMAKE_INSTALL_PREFIX=/opt/Gromacs/gromacs-5.1.4
5)make -j
6)make install
完了以后,登录另一个用户,在用户的根目录下的.bashrc文件加入:export PATH=$PATH:/opt/Gromacs/gromacs-5.1.4/bin ,然后source .bashrc文件,接着在该用户下运行:mdrun -version ,提示:-bash: mdrun: command not found。我想问一下我是没有安成功还是配置错误?
作者Author: sobereva 时间: 2016-12-19 16:11
从gmx 5.0开始都是用gmx mdrun来调用了。可执行文件就gmx这一个
作者Author: whtu 时间: 2016-12-19 21:51
赞。谢谢sob老师
作者Author: mooninwhere 时间: 2017-4-24 16:58
之前装gamess就是按照大神的方法成功的
作者Author: qiaobeiming 时间: 2017-10-29 20:30
正在学这个软件和cpmd
欢迎光临 计算化学公社 (http://ccc.keinsci.com/) |
Powered by Discuz! X3.3 |