计算化学公社

 找回密码 Forget password
 注册 Register
Views: 10191|回复 Reply: 26
打印 Print 上一主题 Last thread 下一主题 Next thread

[其它量化程序] 【BAGEL使用心得】量子化学软件BAGEL的安装

[复制链接 Copy URL]

345

帖子

7

威望

3173

eV
积分
3658

Level 5 (御坂)

跳转到指定楼层 Go to specific reply
楼主
本帖最后由 Freeman 于 2023-3-13 17:37 编辑

BAGEL是一款很有意思的量子化学计算软件,由Toru Shiozaki团队主导开发,特色是CASPT2和相对论CASSCF的解析梯度。经过测试,BAGEL在CASPT2上能处理的非冻结轨道数多于蓝拱门的32个,而且算速极快,比蓝拱门不知高到哪里去了。这样碉堡的软件居然还是免费的!详见官网https://nubakery.org/和github主页https://github.com/qsimulate-open/bagel
下面介绍一下怎么安装。

配置
Red Hat 4.8.5-39,Intel(R) Xeon(R) Gold 5217 CPU @ 3.00GHz,Intel全家桶2021.4。

安装Intel全家桶
Intel全家桶不能用有bug的2019版本,最好用最新的,本文用的是2021版。
下载,安装
  1. wget https://registrationcenter-download.intel.com/akdlm/irc_nas/18236/l_BaseKit_p_2021.4.0.3422_offline.sh
  2. sh l_BaseKit_p_2021.4.0.3422_offline.sh -a -s --install-dir [Intel安装路径] --eula accept
  3. wget https://registrationcenter-download.intel.com/akdlm/irc_nas/18211/l_HPCKit_p_2021.4.0.3347_offline.sh
  4. sh l_HPCKit_p_2021.4.0.3347_offline.sh -a -s --install-dir [Intel安装路径] --eula accept
复制代码
自动设置环境变量
  1. . [Intel安装路径]/setvars.sh
复制代码
检查一下现在所用的编译器和MPI是不是[Intel安装路径]下的,MKL路径是否正常
  1. which mpicc
  2. which mpicxx
  3. which mpirun
  4. echo $MKLROOT
复制代码

安装Boost库
http://c.biancheng.net/view/7772.html。注意不能用1.77版,否则在BAGEL的configure过程中会报“找不到Regex”的错。笔者用的是1.71。
安装好之后,加入环境变量。
  1. export BOOST_ROOT=[Boost安装路径]
  2. export PATH=$BOOST_ROOT/bin:$PATH
  3. export LD_LIBRARY_PATH=$BOOST_ROOT/lib:$LD_LIBRARY_PATH
复制代码

安装BAGEL
创建文件夹bagel_beta,作为后续的安装路径
  1. mkdir bagel_beta
复制代码
从github主页上下载BAGEL源码,而不要下载v1.2.2版的release,因为后者有奇怪的bug
  1. git clone https://github.com/nubakery/bagel.git
  2. cd bagel
复制代码
Automake
  1. glibtoolize (or, libtoolize)
  2. aclocal
  3. autoconf
  4. autoheader
  5. automake -a
复制代码
最后的automake -a可能会报“找不到patch”的错,很简单,有root的话就yum -y install patch;没有的话就下载下面这个patch,并把含有patch的路径加入环境变量PATH即可。
这里可能还有一个关于“Perl Thread::Queue”的报错,解决方法也分为两个,有root的话用yum就行;没有的话就下载下面的rpm包,然后按照https://blog.csdn.net/GreenHandCGL/article/details/83055151介绍的方法前三步解压,再把解压出来的文件夹添加进环境变量
  1. export PERLLIB=$PERLLIB:[包含Thread文件夹的路径]
复制代码
编译BAGEL
  1. mkdir obj
  2. cd obj
  3. MPICC=mpicc MPICXX=mpicxx CC=mpicc CXX=mpicxx ../configure CXXFLAGS="-DNDEBUG -std=c++11 -lstdc++" --enable-mkl --with-boost=$BOOST_ROOT --with-mpi=intel --prefix=[刚才创建的bagel_beta文件夹]
  4. make -j
  5. make install
复制代码
添加环境变量
  1. export PATH=[刚才创建的bagel_beta文件夹]/bin:$PATH
  2. export LD_LIBRARY_PATH=[刚才创建的bagel_beta文件夹]/lib:$LD_LIBRARY_PATH
复制代码

使用BAGEL
以上环境变量在BAGEL运行过程中仍然需要,所以最好把设置环境变量的步骤和运行BAGEL的步骤写在一个脚本里
  1. . [Intel安装路径]/setvars.sh
  2. export BOOST_ROOT=[Boost安装路径]
  3. export PATH=$BOOST_ROOT/bin:$PATH
  4. export LD_LIBRARY_PATH=$BOOST_ROOT/lib:$LD_LIBRARY_PATH
  5. export PATH=[patch安装路径]:$PATH (取决于安装时是否设置了这个环境变量)
  6. export PERLLIB=$PERLLIB:[包含Thread文件夹的路径] (取决于安装时是否设置了这个环境变量)
  7. export PATH=[刚才创建的bagel_beta文件夹]/bin:$PATH
  8. export LD_LIBRARY_PATH=[刚才创建的bagel_beta文件夹]/lib:$LD_LIBRARY_PATH
  9. mpirun -np 16 BAGEL $input_file > $output_file
复制代码
用官网上随便一个例子测试一下吧!

下期预告
BAGEL虽然能算CASPT2的解析梯度,但是其优化算法太拉跨了,使得几何结构总是在平衡位置左右横跳,在收敛限外蹭蹭就是不进去。为此我写了个Gaussian external的脚本,用Gaussian来优化,效率就提高了很多。这个脚本我稍后再发出来。http://bbs.keinsci.com/thread-27086-1-1.html#pid183460

patch (178.37 KB, 下载次数 Times of downloads: 12)

perl-Thread-Queue-3.02-2.el7.noarch.rpm (17.04 KB, 下载次数 Times of downloads: 7)



评分 Rate

参与人数
Participants 10
威望 +1 eV +45 收起 理由
Reason
zsu007 + 5
ggdh + 5
greatzdk + 5 谢谢
biogon + 5 GJ!
wzkchem5 + 5
wxhwbh + 5 好物!
sobereva + 1
ChrisZheng + 5 蹭蹭不进去 23333333
zjxitcc + 5 赞!
hdhxx123 + 5 好物!

查看全部评分 View all ratings

689

帖子

2

威望

4192

eV
积分
4921

Level 6 (一方通行)

2#
发表于 Post on 2021-12-20 11:27:57 | 只看该作者 Only view this author
可以贴出来两者速度对比结果

345

帖子

7

威望

3173

eV
积分
3658

Level 5 (御坂)

3#
 楼主 Author| 发表于 Post on 2021-12-20 12:18:21 | 只看该作者 Only view this author
jiangning198511 发表于 2021-12-20 11:27
可以贴出来两者速度对比结果

恩。趁我还有蓝拱门的试用版权,我有时间测评一下。

1657

帖子

5

威望

4560

eV
积分
6317

Level 6 (一方通行)

喵星人

4#
发表于 Post on 2021-12-21 06:29:44 | 只看该作者 Only view this author
boost177似乎没法用全家桶编译,会报不支持c11,用157也是ok的

363

帖子

0

威望

4502

eV
积分
4865

Level 6 (一方通行)

5#
发表于 Post on 2021-12-21 08:52:45 | 只看该作者 Only view this author
的确是,优化稳定构型可能还可以,优化交叉点尤其费劲,上次在交叉点附近调来调去一个多星期才收敛,

345

帖子

7

威望

3173

eV
积分
3658

Level 5 (御坂)

6#
 楼主 Author| 发表于 Post on 2021-12-21 15:33:44 | 只看该作者 Only view this author
pwzhou 发表于 2021-12-21 08:52
的确是,优化稳定构型可能还可以,优化交叉点尤其费劲,上次在交叉点附近调来调去一个多星期才收敛,

我还专门上github的issue区问了,结果发现开发者自己都不用bagel内置的优化器,用的是pyscf同款geometric。

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
hebrewsnabla + 3

查看全部评分 View all ratings

58

帖子

0

威望

1526

eV
积分
1584

Level 5 (御坂)

7#
发表于 Post on 2021-12-21 23:25:32 | 只看该作者 Only view this author
本帖最后由 joeson 于 2021-12-21 23:33 编辑

总算有一个免费做多参考的,竟然支持FCI。感谢分享!

1万

帖子

0

威望

8994

eV
积分
20744

Level 6 (一方通行)

8#
发表于 Post on 2021-12-21 23:58:07 | 只看该作者 Only view this author
joeson 发表于 2021-12-21 16:25
总算有一个免费做多参考的,竟然支持FCI。感谢分享!

ORCA也是免费的,做多参考态计算也不错,和BAGEL比主要是差在多参考态方法的解析梯度上面。
另外补充一句,BAGEL还有一个重要的应用是算CASPT2的一阶非绝热耦合矩阵元,可以用来结合MOMAP算内转换速率常数
Zikuan Wang
山东大学光学高等研究中心 研究员
BDF(https://bdf-manual.readthedocs.io/zh_CN/latest/Introduction.html)、ORCA(https://orcaforum.kofo.mpg.de/index.php)开发团队成员
Google Scholar: https://scholar.google.com/citations?hl=zh-CN&user=XW6C6eQAAAAJ&view_op=list_works&sortby=pubdate
ORCID: https://orcid.org/0000-0002-4540-8734
主页:http://www.qitcs.qd.sdu.edu.cn/info/1034/1702.htm
本团队长期招收研究生,有意者可私信联系

1657

帖子

5

威望

4560

eV
积分
6317

Level 6 (一方通行)

喵星人

9#
发表于 Post on 2021-12-22 14:07:56 | 只看该作者 Only view this author
Freeman 发表于 2021-12-20 12:18
恩。趁我还有蓝拱门的试用版权,我有时间测评一下。

并行效率这个事情其实还要注意一下不是所有功能都能mpi并行的,很多功能只能MKL并行

345

帖子

7

威望

3173

eV
积分
3658

Level 5 (御坂)

10#
 楼主 Author| 发表于 Post on 2021-12-23 19:49:56 | 只看该作者 Only view this author
更新一下。
1、测试发现,“1-16核的并行效率似乎约为100%”的表述欠妥,现已删去;(当时可能太激动了,没把握好时间)
2、修改了安装Intel全家桶的命令,加上了“-s”,意为静默安装,否则安装包就会在命令行调出伪图形用户界面,个人感觉十分难用;
3、文末添加了《【BAGEL使用心得】Gaussian、BAGEL联用做CASPT2几何优化的脚本》的链接。

4104

帖子

4

威望

8869

eV
积分
13053

Level 6 (一方通行)

MOKIT开发者

11#
发表于 Post on 2022-1-30 23:05:55 | 只看该作者 Only view this author
joeson 发表于 2021-12-21 23:25
总算有一个免费做多参考的,竟然支持FCI。感谢分享!

免费做多参考、还支持Full CI的程序巨多,例如PySCF, ORCA, OpenMolcas, GAMESS, Dalton, PSI4, Bagel, ...

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
卡开发发 + 2 不推荐一波AMESP?

查看全部评分 View all ratings

自动做多参考态计算的程序MOKIT

220

帖子

0

威望

6002

eV
积分
6222

Level 6 (一方通行)

跳跳猪

12#
发表于 Post on 2022-2-7 09:21:51 | 只看该作者 Only view this author
BAGEL已经不更新了,Toru做商业化了,貌似还挺成功
https://qsimulate.com/
流年似水,浮生如梦。

910

帖子

1

威望

7878

eV
积分
8808

Level 6 (一方通行)

13#
发表于 Post on 2022-2-7 22:53:33 | 只看该作者 Only view this author
Mikasa 发表于 2022-2-7 09:21
BAGEL已经不更新了,Toru做商业化了,貌似还挺成功
https://qsimulate.com/

虽然他们做了商业版本,但是开源的BAGEL二十几天前还在更新吧?

345

帖子

7

威望

3173

eV
积分
3658

Level 5 (御坂)

14#
 楼主 Author| 发表于 Post on 2022-2-8 00:48:42 | 只看该作者 Only view this author
hebrewsnabla 发表于 2022-2-7 22:53
虽然他们做了商业版本,但是开源的BAGEL二十几天前还在更新吧?

就是在修bug而已,貌似没有大的作为。源码里面还有dmrg等官网没提及的方法,但是早就停止更新了,也似乎没有给用户调用的接口。也许想憋个大招留给商业版?

220

帖子

0

威望

6002

eV
积分
6222

Level 6 (一方通行)

跳跳猪

15#
发表于 Post on 2022-2-8 08:11:02 | 只看该作者 Only view this author
hebrewsnabla 发表于 2022-2-7 22:53
虽然他们做了商业版本,但是开源的BAGEL二十几天前还在更新吧?

只是修简单的bug,issue里的讨论能看出来商业版的已经再改进更新了
流年似水,浮生如梦。

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-15 07:46 , Processed in 0.180670 second(s), 28 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list