计算化学公社

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

[Amber] Amber内置XTB严重的并行负优化

[复制链接 Copy URL]

103

帖子

0

威望

607

eV
积分
710

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
前段时间发布的Amber24中,QM/MM模块终于迎来更新,可以通过动态编译的方法将DFTB+和XTB内嵌如sander中以实现半经验算法。旧版Amber的DFTB不支持D3矫正和H4/H5矫正,局限性极大,现在终于可以支持完整的DFTB了。XTB本身虽然也可以跑动力学或者借助ORCA跑动力学,但是二者都不支持周期性边界,也就无法控制NVT或者NPT系综,对于上万个原子的蛋白体系跑QM/MM MD也很麻烦。在Amber22以及更早版本中,想要实现XTB QM/MM MD,只能通过外调ORCA连接XTB,这样的递归调用初步估计至少三分之二的时间浪费在了进程通讯上。由于XTB本身并行效率不高,对于150个原子左右的体系,在学校超算上测试下来Amber+ORCA+XTB以8核并行最快,速度可以到达120ps/day。

现在Amber24支持将XTB内嵌,原本我预计速度很有希望可以到达0.5ns/day,但不幸的是情况并非如此。我按照Amber Manual上写的方法,先编译XTB的动态库后在编译Amber,sander运行XTB QM/MM一切正常,单核速度就有80ps/day。然而当我尝试并行“mpirun -np 8 sander.MPI”,却发现速度居然掉到了60ps/day!用XTB程序算QM区域的单点,8核并行的加速效果非常明显,也就是说Amber内嵌的XTB没有正常并行。而且Amber输出文件中还有这样一段内容:
  1. |QMMM: Running QMMM calculation in parallel mode on    8 threads.
  2. |QMMM: All atom division among threads:
  3. |QMMM:                  Start       End      Count
  4. |QMMM: Thread(   0):        1->    4746  (    4746)
  5. |QMMM: Thread(   1):     4747->    9492  (    4746)
  6. |QMMM: Thread(   2):     9493->   14238  (    4746)
  7. |QMMM: Thread(   3):    14239->   18984  (    4746)
  8. |QMMM: Thread(   4):    18985->   23730  (    4746)
  9. |QMMM: Thread(   5):    23731->   28476  (    4746)
  10. |QMMM: Thread(   6):    28477->   33222  (    4746)
  11. |QMMM: Thread(   7):    33223->   37962  (    4740)
复制代码
Amber内置的QM/MM模块的并行策略疑似是将QM区域的原子按照核数拆分成多个小块后分别处理的,当然也可能只是在预处理部分做拆分QM计算依然是整体计算。也许是因为XTB程序的并行方式是OpenMP,和基于OpenMPI的sander.MPI不太适配。我也尝试过设置“export OMP_NUM_THREADS=8”和“export MKL_NUM_THREADS=8”后再用sander,也没有任何加速效果。

虽然目前只能单核运行,但是速度还是可以到达原先递归调用时8核并行的三分之二,足见递归调用时大部分的时间都浪费在了进程通讯上。虽然80ps/day的速度也勉强够用了,但是这显然远远不是极限。刚刚邮件联系了Amber XTB模块的开发者Timothy J. Giese,不知道有没有什么解决方法。

1633

帖子

4

威望

4091

eV
积分
5804

Level 6 (一方通行)

喵星人

2#
发表于 Post on 2024-5-15 20:21:25 | 只看该作者 Only view this author
抓个虫,ORCA/xtb不能用周期性边界条件不妨碍NVT系综
如果生物体系模拟xtb/DFTB+的精度绝对是不足够的,尤其是涉及金属的时候(CYP/Zinc-Finger/EFHand等等)
目前QM/MM直接用内置的Quick或者调用ORCA/Gaussian至少在正规DFT级别计算才是正解,基本上不能比B3LYP/6-31G*这个级别再低了

103

帖子

0

威望

607

eV
积分
710

Level 4 (黑子)

3#
 楼主 Author| 发表于 Post on 2024-5-15 20:54:00 | 只看该作者 Only view this author
喵星大佬 发表于 2024-5-15 20:21
抓个虫,ORCA/xtb不能用周期性边界条件不妨碍NVT系综
如果生物体系模拟xtb/DFTB+的精度绝对是不足够的,尤 ...

ORCA的MD只能通过定义“反弹边界”的方式实现体积控制,而且只能是方形球形等特定形状,感觉和真正的NVT系综还是有所差异的。B3LYP/6-31g(d)即便是不到五十个原子的小体系,即便设定间隔时间1fs,在Gaussian中设置int=fine,极限速度最快最快也只有3-5ps/day,超过100个原子一天也跑不完一皮秒。对于某些类型的任务,比如伞形采样/Meta MD,尤其是二维的PMF,这个速度完全无法接受。现在流行的做法是先用DFTB或者XTB等半经验方法得到PMF,然后选取一部分结构用DFT矫正。

1633

帖子

4

威望

4091

eV
积分
5804

Level 6 (一方通行)

喵星人

4#
发表于 Post on 2024-5-16 10:21:33 | 只看该作者 Only view this author
本帖最后由 喵星大佬 于 2024-5-16 10:24 编辑
ZetaFunction 发表于 2024-5-15 20:54
ORCA的MD只能通过定义“反弹边界”的方式实现体积控制,而且只能是方形球形等特定形状,感觉和真正的NVT ...

在IRC上做US完全可以每个窗口独立做,比如去商业超算上一次开几十台机器其实也用不了多久

再就是开边界也属于NVT,对于Amber挂gaussian/orca/qchem等程序做QM/MM的时候QM区显然是开边界,PBC的MM部分用ORCA显然不如挂在amber里

103

帖子

0

威望

607

eV
积分
710

Level 4 (黑子)

5#
 楼主 Author| 发表于 Post on 2024-5-16 22:55:33 | 只看该作者 Only view this author
喵星大佬 发表于 2024-5-16 10:21
在IRC上做US完全可以每个窗口独立做,比如去商业超算上一次开几十台机器其实也用不了多久

再就是开边 ...

IRC上要怎么做伞形采样?是根据IRC组合CV吗?IRC上的点是0K绝热近似下的静态结构,跑动力学初始速度要怎么赋予?而且一个窗口至少也要几千帧甚至上万帧,这个计算量对于大体系感觉还是有点吃不消。

103

帖子

0

威望

607

eV
积分
710

Level 4 (黑子)

6#
 楼主 Author| 发表于 Post on 2024-5-17 01:05:05 | 只看该作者 Only view this author
以下是Amber XTB模块的开发者Timothy J. Giese的回复:
The MPI parallelization of sander/xtb only improves the performance of (1) the MM calculation, and (2) pre-SCF calculation of the QM/MM Ewald planewaves. As you correctly note, the XTB software does not support MPI parallelization. In my experience, the parallelization of XTB is not that great for systems with ~150 atoms; however, the XTB performance is similar to other programs such as DFTB+ and SQM.

他认为XTB并行效率不高所以单核运行也无所谓

2

帖子

0

威望

89

eV
积分
91

Level 2 能力者

7#
发表于 Post on 2024-5-21 09:22:21 | 只看该作者 Only view this author
试一试sander.OMP

本版积分规则 Credits rule

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

GMT+8, 2024-11-24 23:23 , Processed in 0.157645 second(s), 20 queries , Gzip On.

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