计算化学公社

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

[算法与编程] 求助,SCF并行化方案

[复制链接 Copy URL]

30

帖子

0

威望

667

eV
积分
697

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
我现在的程序实现了omp多线程计算,现在考虑使用MPI多进程并行,以支持多核计算。我想麻烦问一下各位大佬,psi4和pycf的并行是如何做的,我看pyscf的代码其C语言部分只用了omp。还有GAMESS,它的多线程使用的库好像不太一样。自洽场程序编写有专门的文献吗,如果有可以麻烦告诉一下吗,十分感激。

1万

帖子

0

威望

9001

eV
积分
20757

Level 6 (一方通行)

21#
发表于 Post on 2022-4-3 21:54:47 | 只看该作者 Only view this author
zha23 发表于 2022-4-2 12:23
多谢您的建议,我这一部分代码是寒假为了复习之前知识写的,主要我对这方面有一定兴趣,以及除了EDA,XMV ...

那我倒觉得不如把XMVB的源码要来,然后在上面改,改善XMVB的效率,这样受益的不止你一个,还有所有XMVB的用户。相比之下,你自己写SCF代码哪怕确实比XMVB快了,也肯定很难有比XMVB更多的用户。
量化软件也是国外卡中国脖子的方向之一,如果每个有志向写量化程序的人都从SCF从头做起,那中国永远也做不出能匹敌国外的软件,等于有100个地基但是没有一座高楼。

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
王二葛 + 3 我很赞同

查看全部评分 View all ratings

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
本团队长期招收研究生,有意者可私信联系

910

帖子

1

威望

7884

eV
积分
8814

Level 6 (一方通行)

20#
发表于 Post on 2022-4-3 20:29:00 | 只看该作者 Only view this author
你的上一个帖子不是已经解决了效率问题吗,为什么在issue里面还说efficiency much lower than pyscf

1657

帖子

5

威望

4562

eV
积分
6319

Level 6 (一方通行)

喵星人

19#
发表于 Post on 2022-4-2 23:40:17 | 只看该作者 Only view this author
zha23 发表于 2022-4-2 19:23
多谢您的建议,我这一部分代码是寒假为了复习之前知识写的,主要我对这方面有一定兴趣,以及除了EDA,XMV ...

那毕业估计比较危险了

评分 Rate

参与人数
Participants 1
eV +2 收起 理由
Reason
zjxitcc + 2 大实话233333

查看全部评分 View all ratings

30

帖子

0

威望

667

eV
积分
697

Level 4 (黑子)

18#
 楼主 Author| 发表于 Post on 2022-4-2 19:23:53 | 只看该作者 Only view this author
zjxitcc 发表于 2022-4-2 00:54
GAMESS慢 倒还不是主要问题,你看PSI4也没快到哪里去,但是能免费做SAPT这个特点就是很香;GAMESS的SCF收 ...

多谢您的建议,我这一部分代码是寒假为了复习之前知识写的,主要我对这方面有一定兴趣,以及除了EDA,XMVB计算的SCF效率也较低,老师也想自己做一套独立的,正好也可以当作明年研究生开题的课题。

4113

帖子

4

威望

8873

eV
积分
13066

Level 6 (一方通行)

MOKIT开发者

17#
发表于 Post on 2022-4-2 00:54:34 | 只看该作者 Only view this author
本帖最后由 zjxitcc 于 2022-4-2 01:07 编辑
zha23 发表于 2022-3-31 17:22
谢谢各位,我所在的课题组是做EDA的,老师觉得GAMESS的效率拖累了EDA的效率,所以想重新写一个自洽场。

GAMESS慢 倒还不是主要问题,你看PSI4也没快到哪里去,但是能免费做SAPT这个特点就是很香;GAMESS的SCF收敛性差,收敛关键词太少,收敛功能太弱、不支持检验波函数稳定性等等缺点限制了GKS-EDA的用途。这些我跟苏老师交流过。

论坛上有很多人做EDA过程中SCF不收敛,为了临时地解决这个问题,我去年在MOKIT里写了frag_guess_wfn小程序(https://gitlab.com/jxzou/mokit),此小程序可以自动调用Gaussian做HF/DFT计算,然后生成GKS-EDA输入文件(内含坐标、基组和片段及整体的轨道,及GKS-EDA关键词),这样在GAMESS里的GKS-EDA时间就基本可以忽略不计了,一般算3圈就很可能收敛了。

我倒是建议你直接基于PySCF或ORCA,看能否调用他们的接口,加上你自己GKS-EDA做分解部分的代码,得到GKS-EDA分解结果,这样不仅计算速度快,开发程序也快。如果你还能整合进pyscf主分支,或添加进ORCA开源脚本区https://github.com/ORCAQuantumChemistry/CompoundScripts,那就造福大量人了。当然,如果你的抱负是开发一整个量化程序,那从最基本的开始写是可以的。

评分 Rate

参与人数
Participants 2
eV +10 收起 理由
Reason
卡开发发 + 5 不是所有人都是带师23333
hebrewsnabla + 5 我很赞同

查看全部评分 View all ratings

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

910

帖子

1

威望

7884

eV
积分
8814

Level 6 (一方通行)

16#
发表于 Post on 2022-4-2 00:32:20 | 只看该作者 Only view this author
zha23 发表于 2022-3-31 19:24
pyscf中有一个参数我不明白,其积分中有一个为cache缓存的参数,但我不知道其作用是什么,以及怎么用
(*in ...

你可以去issue区提问

345

帖子

7

威望

3173

eV
积分
3658

Level 5 (御坂)

15#
发表于 Post on 2022-4-1 23:25:49 | 只看该作者 Only view this author
zha23 发表于 2022-3-31 17:22
谢谢各位,我所在的课题组是做EDA的,老师觉得GAMESS的效率拖累了EDA的效率,所以想重新写一个自洽场。

GAMESS效率好像就是不太行。不过我建议,不用自己写一个SCF,而是换用现有已知的做SCF很快的程序。这些程序用上了很多加速SCF的技巧,而要自己实现的话,就很麻烦,很花时间,甚至舍本求末了。
当然了,如果你的目标不仅是完成老师布置的任务,而是想自己从头写一个计算化学程序,那倒是自己发明轮子比较好。那样的话,我们可以多多交流。

评分 Rate

参与人数
Participants 2
eV +4 收起 理由
Reason
zjxitcc + 2 我很赞同
hebrewsnabla + 2 我很赞同

查看全部评分 View all ratings

1万

帖子

0

威望

9001

eV
积分
20757

Level 6 (一方通行)

14#
发表于 Post on 2022-3-31 19:46:32 | 只看该作者 Only view this author
zha23 发表于 2022-3-31 11:51
不是,我是用的direct方法。

哦,看错了,我以为update_fock_rhf里的循环是主循环,原来只是循环一个shell quartet的
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
本团队长期招收研究生,有意者可私信联系

30

帖子

0

威望

667

eV
积分
697

Level 4 (黑子)

13#
 楼主 Author| 发表于 Post on 2022-3-31 19:24:17 | 只看该作者 Only view this author
pyscf中有一个参数我不明白,其积分中有一个为cache缓存的参数,但我不知道其作用是什么,以及怎么用
(*intor)(buf, NULL, shls, atm, natm, bas, nbas, env, cintopt, cache),这个参数是libcint中没有的

910

帖子

1

威望

7884

eV
积分
8814

Level 6 (一方通行)

12#
发表于 Post on 2022-3-31 18:56:48 | 只看该作者 Only view this author
zha23 发表于 2022-3-31 17:22
谢谢各位,我所在的课题组是做EDA的,老师觉得GAMESS的效率拖累了EDA的效率,所以想重新写一个自洽场。

那可以直接依托现有的开源程序来做啊

30

帖子

0

威望

667

eV
积分
697

Level 4 (黑子)

11#
 楼主 Author| 发表于 Post on 2022-3-31 18:51:50 | 只看该作者 Only view this author
wzkchem5 发表于 2022-3-31 18:47
还是得多写点注释。。。这种基本没啥注释的,隔时间长了你自己都看不懂。。。
你是做的conventional计算 ...

不是,我是用的direct方法。

1万

帖子

0

威望

9001

eV
积分
20757

Level 6 (一方通行)

10#
发表于 Post on 2022-3-31 18:47:52 | 只看该作者 Only view this author
zha23 发表于 2022-3-31 10:26
这个是我的代码

还是得多写点注释。。。这种基本没啥注释的,隔时间长了你自己都看不懂。。。
你是做的conventional计算吗(预先算好所有积分,然后存着用)?这样有点太费内存了,如果只想做10~20原子的体系没啥问题,但是做大体系还是需要用integral direct算法,把产生积分的代码写到组装Fock矩阵的最里面那层loop里,需要哪个双电子积分就产生哪个,整个程序不涉及任何O(N^3)或O(N^4)的存储
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
本团队长期招收研究生,有意者可私信联系

30

帖子

0

威望

667

eV
积分
697

Level 4 (黑子)

9#
 楼主 Author| 发表于 Post on 2022-3-31 17:26:33 | 只看该作者 Only view this author
这个是我的代码

Direct SCF.zip

210.28 KB, 下载次数 Times of downloads: 30

30

帖子

0

威望

667

eV
积分
697

Level 4 (黑子)

8#
 楼主 Author| 发表于 Post on 2022-3-31 17:22:20 | 只看该作者 Only view this author
谢谢各位,我所在的课题组是做EDA的,老师觉得GAMESS的效率拖累了EDA的效率,所以想重新写一个自洽场。

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

GMT+8, 2025-8-16 18:13 , Processed in 0.206177 second(s), 25 queries , Gzip On.

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