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

计算化学公社

 找回密码
 现在注册!
查看: 6181|回复: 16

[NWChem] NWChem 6.6编译方法

[复制链接]

1万

帖子

25

威望

1万

eV
积分
34206

管理员

公社社长

发表于 2014-12-22 05:52:57 | 显示全部楼层 |阅读模式
NWChem 6.6编译方法

文/Sobereva @北京科音
First release:2014-Dec-22   Last update:2017-Apr-13


本文有两部分,第一部分是NWChem 6.6在Redhat Enterprise 6 Update 1 64bit下的安装,第二部分是NWChem 6.6在CentOS 7.2 64bit下的安装。后者过程更简单。编译器用的gfortran,用ifort也可以,但实测编译出的nwchem运行速度并不会更快,而且在编译耗时长得多,特别是CCSDTQ部分耗时极长,10个小时都编译不完。

编译条件:root, bash。将安装到/sob/nwchem-6.6。

本文的编译方法对nwchem 6.8经测试也完全适用,但是编译时必须能联网,因为会自动下载GlobalArray包。


===== NWChem 6.6 + Redhat Enterprise 6 Update 1 64bit ======


编译openmpi:
http://www.open-mpi.org下载OpenMPI 1.6.5(更新的版本大抵也可以,笔者没测试),解压到/sob目录下,进入其目录,运行
./configure prefix=/sob/openmpi165
make all install -j
此时openmpi的可执行文件、库文件、头文件等就被装到了/sob/openmpi165里面的对应目录下。然后可以把OpenMPI解压的目录删掉。

在~/.bashrc中加入
export PATH=$PATH:/sob/openmpi165/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/sob/openmpi165/lib
输入bash使环境变量生效。

运行以下命令设置环境变量
export NWCHEM_TOP=/sob/nwchem-6.6
export NWCHEM_TARGET=LINUX64
export NWCHEM_MODULES=all
export USE_MPI=y
export USE_MPIF=y
export USE_MPIF4=y
export USE_INTERNALBLAS=y
export MPI_LOC=/sob/openmpi165
export MPI_LIB=/sob/openmpi165/lib
export MPI_INCLUDE=/sob/openmpi165/include
export LIBMPI="-lmpi_f90 -lmpi_f77 -lmpi -ldl -Wl,--export-dynamic -lnsl -lutil"

NWChem为了节约编译时间,许多不常用的模块默认是不编译的。如果你想编译它们,使用以下命令定义额外的环境变量,需要哪些就执行哪些
export MRCC_METHODS=y:编译多参考耦合簇代码
export CCSDTQ=y:编译TCE模块的CCSDTQ和EOM-CCSDTQ代码
export CCSDTLR=y:编译TCE模块的线性响应CCSDT、CCSDTQ代码,用于解析地算静态/动态极化率
export IPCCSD=y:编译TCE模块的IP-EOM-CCSD代码用于算电离能
export EACCSD=y:编译TCE模块的EA-EOM-CCSD代码用于算电子亲和能

把nwchem6.6压缩包解压到/sob/nwchem-6.6,运行
cd /sob/nwchem-6.6/src
make nwchem_config
make
可执行文件生成在了/sob/nwchem-6.6/bin/LINUX64目录下。把下面的语句加入到~/.bashrc的末尾:
export PATH=$PATH:/sob/nwchem-6.6/bin/LINUX64

笔者在Intel i7-2630QM四核机子上花一刻钟编译完毕。如果把上述全部额外的功能都编译的话,耗时约一个小时。make时不需要写-j,而且写不写都会自动用双线程编译。

现在测试。将以下内容写进test.nw:
title "Nitrogen cc-pvtz SCF geometry optimization"
geometry
n 0 0 0
n 0 0 1.08
end
basis
n library cc-pvtz
end
task scf optimize

然后运行nwchem test.nw查看输出是否正常。也运行mpirun -np 4 nwchem test.nw查看并行执行的输出是否正常。-np后面是调用的核数。


===== NWChem 6.6 + CentOS 7.2 64bit ======


运行以下命令添加EPEL源和安装openMPI(机子需要能联外网)
yum install epel-release
yum install openmpi-devel openmpi

将以下内容复制到命令行窗口设置环境变量
export NWCHEM_TOP=/sob/nwchem-6.6
export NWCHEM_TARGET=LINUX64
export NWCHEM_MODULES=all
export USE_MPI=y
export USE_INTERNALBLAS=y
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/openmpi/lib/
export PATH=$PATH:/usr/lib64/openmpi/bin/
若要编译NWChem额外的功能,需要额外设定的环境变量和上文提到的一致。

把nwchem6.6压缩包解压到/sob/nwchem-6.6,运行
cd /sob/nwchem-6.6/src
make nwchem_config
make
可执行文件生成在了/sob/nwchem-6.6/bin/LINUX64目录下。

把下面的语句加入到~/.bashrc的末尾:
export PATH=$PATH:/sob/nwchem-6.6/bin/LINUX64:/usr/lib64/openmpi/bin/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib64/openmpi/lib/
alias mpirun='mpirun --allow-run-as-root'

重新进入终端后就可以用比如mpirun -np 4 nwchem test.nw运行了。

评分

参与人数 1eV +4 收起 理由
肖富贵 + 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!

347

帖子

2

威望

1716

eV
积分
2103

Level 5 (御坂)

发表于 2014-12-22 10:39:23 | 显示全部楼层
感谢提供的编译信息
不过听说NWCHEM已经停止更新了,好多当初的开发者都离开了PNNL.

1万

帖子

25

威望

1万

eV
积分
34206

管理员

公社社长

 楼主| 发表于 2014-12-22 11:01:05 | 显示全部楼层
jiangning198511 发表于 2014-12-22 10:39
感谢提供的编译信息
不过听说NWCHEM已经停止更新了,好多当初的开发者都离开了PNNL.

还在更新,6.5是今年9月才出的,应该会继续发展下去
北京科音自然科学研究中心: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!

1377

帖子

3

威望

4631

eV
积分
6068

Level 6 (一方通行)

Ab Initio Amateur

发表于 2014-12-22 11:19:27 | 显示全部楼层
我自己以前按我老师写的configure.sh是这样的,记得刚学这个的时候用的是6.0的版本,用的是intel ifort 11.1.038的编译器,数学库用的是mkl,用的intel的impi不知道现在这个还能不能用,

vi configure.sh
#configure.sh内容如下:
export LARGE_FILES=TRUE
export LIB_DEFINES="-DDFLT_TOT_MEM=524111744"
export NWCHEM_TOP=/home/Admin/nwchem-6.0        
export NWCHEM_TARGET=LINUX64              
export NWCHEM_TARGET_CPU=x86_64         
export NWCHEM_MODULES=all                          
export USE_MPI=y                                                
export USE_MPIF=n
export USE_BLAS=y        
export BLASOPT="-L/opt/software/compiler/intel/11.1/072/mkl/lib/em64t -lmkl_lapack -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lguide -lpthread"
export FOPTIMIZE=。。。。。 #指令集可选

# Intel MPI
export MPI_LOC=/software/intel/impi/3.2.1.009/
export MPI_LIB=$MPI_LOC/lib64
export MPI_INCLUDE=$MPI_LOC/include64
export LIBMPI="-lmpigf -lmpigi -lmpi_ilp64 -lmpi"

make realclean
make nwchem_config
make FC=ifort CC=icc

印象中编译差不多在双路的Xeon E5405差不多也要一个小时。当年在组里面测试了一下NWPW的速度,感觉不太可观,后来就放弃了。
近期忙。

72

帖子

0

威望

934

eV
积分
1006

Level 4 (黑子)

发表于 2014-12-22 17:58:45 | 显示全部楼层
jiangning198511 发表于 2014-12-22 10:39
感谢提供的编译信息
不过听说NWCHEM已经停止更新了,好多当初的开发者都离开了PNNL.

NWchem自从version 6.0 Open ECL 以后, 开发和更新就更快了 当初的开发者确实有一部分离开 可是新生的Team更具活力 参看NWChem官网上的On-goning Project.

28

帖子

0

威望

214

eV
积分
242

Level 3 能力者

发表于 2015-1-1 21:09:20 | 显示全部楼层
本帖最后由 aixin 于 2015-1-1 21:10 编辑

我编译完成了,也执行了test的案例,是成功的。但是我有些不理解,官网上设置 .nwchemrc 环境变量和库,是什么意思? 说可以通过ln -s /usr/local/NWChem/data/default.nwchemrc $HOME/.nwchemrc 来完成。但是我按照您的编译方法,就是找不到default.nwchemrc这个文件。这是怎么回事呢?谢谢你

20

帖子

0

威望

1122

eV
积分
1142

Level 4 (黑子)

发表于 2015-1-1 23:17:04 | 显示全部楼层
aixin 发表于 2015-1-1 21:09
我编译完成了,也执行了test的案例,是成功的。但是我有些不理解,官网上设置 .nwchemrc 环境变量和库,是 ...

自己按照官网的说明建一个default.nwchemrc文件,再建一个软链接.nwchemrc。

28

帖子

0

威望

214

eV
积分
242

Level 3 能力者

发表于 2015-1-2 11:31:43 | 显示全部楼层
excalibur 发表于 2015-1-1 23:17
自己按照官网的说明建一个default.nwchemrc文件,再建一个软链接.nwchemrc。

我怎么找不到nwchem-6.5/src/data/libraries 呢?是我安装没成功。但为什么可以测试test?

20

帖子

0

威望

1122

eV
积分
1142

Level 4 (黑子)

发表于 2015-1-2 11:53:11 | 显示全部楼层
本帖最后由 excalibur 于 2015-1-2 12:01 编辑
aixin 发表于 2015-1-2 11:31
我怎么找不到nwchem-6.5/src/data/libraries 呢?是我安装没成功。但为什么可以测试test?

/usr/local/NWChem/data/libraries/ 文件夹也是需要你从安装源文件的目录里拷贝进去。

在NWChem文档里有相关说明:http://www.nwchem-sw.org/index.p ... l_site_installation

General site installation:

Set links to data files (basis sets, force fields, etc.)
  cd $NWCHEM_TOP/src/basis
  cp -r libraries /usr/local/NWChem/data

  cd $NWCHEM_TOP/src/
  cp -r data /usr/local/NWChem

  cd $NWCHEM_TOP/src/nwpw
  cp -r libraryps /usr/local/NWChem/data
这些操作是为了让计算平台上的所有用户都能使用NWChem而进行的相关设置,如果你安装NWChem只是为了自己使用,这些操作都是可以省略的,放在原来的安装目录就可以了。

28

帖子

0

威望

214

eV
积分
242

Level 3 能力者

发表于 2015-1-2 12:03:57 | 显示全部楼层
excalibur 发表于 2015-1-2 11:53
/usr/local/NWChem/data/libraries/ 文件夹也是需要你从安装源文件的目录里拷贝进去。

在NWChem文档 ...

如果我不拷贝文件,不使用general site installation。就安装sob 的安装方法(这个帖子的楼主写的) 可以么?我感觉还是要加。因为,我test一些程序的时候,提示找不到libraries。

20

帖子

0

威望

1122

eV
积分
1142

Level 4 (黑子)

发表于 2015-1-2 12:30:22 | 显示全部楼层
本帖最后由 excalibur 于 2015-1-9 20:10 编辑
aixin 发表于 2015-1-2 12:03
如果我不拷贝文件,不使用general site installation。就安装sob 的安装方法(这个帖子的楼主写的) 可以 ...

如果做ab initio或者DFT计算,可以全部显式的指定基组。至少我没有遇到过找不到库文件的情况。PS:我用的都是早期版本。

如果怕麻烦不想自己编译,并且你的计算平台上用的是Debian/Ubuntu系Linux,直接可以apt-get install nwchem安装,系统会自动解决所有的库依赖关系。Ubuntu 14.04和14.10中NWChem的版本是6.3,Debian stable中是NWChem6.1, Debian testing和unstable中NWChem是6.5.

如果是ArchLinux、Gentoo Linux及其衍生版本,也可以用其对应的包管理命令pacman或者emerge从软件仓库里把nwchem拖下来,这两个发行版的软件仓库里NWChem的版本都是6.5.
RPM系的Linux应该可以从网上找到相应的rpm包。

当然从软件仓库中拖下来的一般都是用的仓库中的数学和并行库,并且用的GNU的编译器,速度比用intel编译器和MKL库编译的会差一些,差多少没有测试过。

20

帖子

0

威望

1122

eV
积分
1142

Level 4 (黑子)

发表于 2015-1-2 12:59:45 | 显示全部楼层
aixin 发表于 2015-1-2 12:03
如果我不拷贝文件,不使用general site installation。就安装sob 的安装方法(这个帖子的楼主写的) 可以 ...

找不到libraries的话,你可以对应nwchemrc文件检查下这些库文件是否都安装在应有的位置,同时检查下这些库文件和文件夹的读写权限是不是设置正确了……

28

帖子

0

威望

214

eV
积分
242

Level 3 能力者

发表于 2015-1-9 11:16:58 | 显示全部楼层
excalibur 发表于 2015-1-2 12:59
找不到libraries的话,你可以对应nwchemrc文件检查下这些库文件是否都安装在应有的位置,同时检查下这些 ...

多谢,后来就解决了。

6

帖子

0

威望

53

eV
积分
59

Level 2 能力者

发表于 2015-3-9 16:56:35 | 显示全部楼层
你好!我用root用户安装好NWchem6.5后,用root用户提交例子文档能正常运算。换成普通用户,并设置好环境变量,计算例子时提示以下错误,不知道是什么原因?请大家帮忙看看?
mpirun was unable to launch the specified application as it could not access or execute an executable:
Executable: /opt/nwchem6.5/bin/LINUX64/nwchem

1万

帖子

25

威望

1万

eV
积分
34206

管理员

公社社长

 楼主| 发表于 2015-3-9 16:59:26 | 显示全部楼层
lsc840927 发表于 2015-3-9 16:56
你好!我用root用户安装好NWchem6.5后,用root用户提交例子文档能正常运算。换成普通用户,并设置好环境变 ...

你看看普通用户有没有执行此文件的权限。
北京科音自然科学研究中心: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.215187 second(s), 25 queries .

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