计算化学公社

标题: 经验交流:GPU加速的量化程序QUICK [打印本页]

作者
Author:
霜晨月    时间: 2022-5-24 09:53
标题: 经验交流:GPU加速的量化程序QUICK
本帖最后由 霜晨月 于 2022-5-24 09:56 编辑

QUICK是个小众化的量化程序,主要靠GPU进行计算,搜索了一下论坛,没见有相关的讨论。在此将我的一点使用经验和体会分享一下,以期抛砖引玉。
QUICK的官网链接:https://quick-docs.readthedocs.io/en/latest/user-manual.html ,目前的最新版是22.3.0。

分子动力学程序Amber 20/AmberTools 21包含了quick程序(Amber 18没有带),安装好Amber 20/AmberTools 21之后,可以用quick命令(或quick.cuda、quick.cuda.MPI命令)单独调用,也可以用sander通过API(application programming interface)调用(命令为sander.quick.cuda或sander.quick.cuda.MPI),这一点在跑QM/MM MD时比较有用,可以免去sander与QM程序之间的频繁的文件传送。

之所以对QUICK感兴趣,就是因为想做QM/MM MD,以前QM region一直用半经验,想用DFT又算不动。正好有几块GPU平时闲置,想试一下QUICK的效率怎么样。

下面讨论的是AmberTools 21自带的QUICK,版本为21.03。

QUICK可以做HF和DFT,支持的泛函有BLYP、BP86、B97、O3LYP、PBE、REVPBE等,其中我比较常用的只有B3LYP和PBE0;遗憾的是不支持D3色散校正,虽然我计算的是酶促化学反应,但弱相互作用也涉及到一些,在没有D3色散校正的前提下,又不太敢用B3LYP,也许只有PBE0才可靠点。

支持的基组涵盖了常用的Pople系列,以及def2-svp、def2-sv(p)、def2-svpd,还有cc-pVDZ、PC-0、PC-1。
不支持f基函数,不支持ECP。过渡金属就没法算了。经测试,QM/MM的时候,不但QM区域不能有锌原子,连MM区域都不能有锌【报错信息是:Unable to correctly identify element Zn
Note: element guessing does not work with Hydrogen
      Mass Repartitioning if ATOMIC_NUMBER is not
      present in the topology file】没搞明白是怎么回事。但如果把默认的电子嵌入改为力学嵌入(qmmm_int=5),就可以运行了。

官方的测速报告(QUICK-21.03)说:(https://quick-docs.readthedocs.io/en/latest/performance.html
We have used conservative SCF convergence criteria and integral thresholds. With these settings, a B3LYP/6-31G** SCF + gradient calculation of valinomycin (168 atoms) takes only about 8 minutes on a modern A100 GPU. Real world applications typically require less stringent accuracy and thus require less time to solution. Performance on gaming GPUs is also excellent given their price point.
多GPU并行:
A B3LYP/6-31G** single point SCF + gradient calculation for the entire Crambin protein (642 atoms) can be performed in under 10 minutes on 16 V100 GPUs.

下面是我的速度测试。GPU为单块RTX 2080Ti。

用quick.cuda计算一个酶簇模型(172 atoms,纯有机体系,无金属,PBE0/def2-svp),只计算gradient,单块RTX 2080Ti 占用率100%,耗时 40 分钟未算完(SCF只迭代了10圈)。

将体系缩小,再测试:
某个酶的QM/MM MD轨迹的QM区域,42个原子,纯有机,无金属,B3LYP/6-31G*,只计算gradient。这次很快,仅耗时1 minutes 37.8 seconds。
同上,将B3LYP改为PBE0,其余不变。耗时1 minutes 32.7 seconds。
同上,改为PBE0/def2-svp,其余不变。耗时1 minutes 48.1 seconds。

以上是quick.cuda的速度。

用sander.quick.cuda跑QM/MM MD,计算单步耗时。体系就是上面所说的那个酶,QM区域与上面一致(42个原子),力学嵌入,PBE0/6-31G**;根据前200步(0.2ps)的平均速度,1000ps需时51650.8h,每ps耗时约51.7h,即0.46ps/d。

我目前使用并不多,刚开始尝试,测试工作很有限,不具有代表性。
欢迎、希望大家尝试、分享经验建议。


作者
Author:
sobereva    时间: 2022-5-25 06:20
从这速度上来看,相对于目前垃圾佬双路v3服务器用ORCA算并没啥优势
作者
Author:
霜晨月    时间: 2022-5-25 09:37
sobereva 发表于 2022-5-25 06:20
从这速度上来看,相对于目前垃圾佬双路v3服务器用ORCA算并没啥优势

嗯,如果有闲置显卡的话,可以试试
作者
Author:
hangmint    时间: 2022-5-31 10:49
金属Zn离子那个,我用amber连用gaussian也出现了这个错误,从划分的qm区域的高斯输入文件来看,也是原子类型不识别出现乱码。
作者
Author:
霜晨月    时间: 2022-6-2 10:53
hangmint 发表于 2022-5-31 10:49
金属Zn离子那个,我用amber连用gaussian也出现了这个错误,从划分的qm区域的高斯输入文件来看,也是原子类 ...

【报错信息是:Unable to correctly identify element Zn
Note: element guessing does not work with Hydrogen Mass Repartitioning if ATOMIC_NUMBER is not present in the topology file】
这么说,应该是amber/sander生成QM输入文件时的问题了

作者
Author:
wrkzy    时间: 2024-1-5 09:28
请教大佬在quick里如何固定原子?




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3