计算化学公社

标题: Gromacs+CP2K,GPU以及OpenMPI相关问题 [打印本页]

作者
Author:
ZetaFunction    时间: 2023-10-21 17:22
标题: Gromacs+CP2K,GPU以及OpenMPI相关问题
我最近打算尝试以下Gromacs+CP2K跑QM/MM MD,费了好一番功夫才编译成功了CP2K,现在正在编译链接CP2K的Gromacs,我有以下问题想要请教各位大佬:


首先是关于GPU加速的,我尝试编译GPU版本且链接CP2K的Gromacs,但是在cmake阶段报错,关掉cuda选项就可以正常编译,是否是因为我的CP2K没有安装GPU版本导致的问题?

由于QM/MM MD主要的计算量在依赖CPU的QM部分,所以使用CPU版本的Gromacs问题也不大,但是CP2K是支持GPU加速,请问加速效果对DFT和半经验等方法显著吗?可以比40核并行的CPU更快吗?据我所知,目前主流量化软件的GPU加速效果都不好,计算速度还不如高性能的多核CPU服务器。

根据Sobevera老师的说法,Gromacs若不是需要跨节点运行无需编译OpenMPI版,效率可能还会有下降。我在Cmake时去除相关选项后发现编译失败,提示缺少对应的OpenMPI库,我猜测可能是因为CP2K使用了OpenMPI所导致的,也许链接ssmp版的CP2K就可以解决。但是似乎ssmp版的并行效率不如psmp?因为主要的计算量是在QM区域上,如果链接ssmp是否反而会降低效率?


最后是关于双精度的问题,一般来说QM计算是需要双精度的,但是对于DFTB3、PM6之类的半经验或者SVP、6-31G*之类的小基组QM/MM MD,本就对精度的要求不是那么高,是否可以用单精度版本以降低计算耗时?

作者
Author:
ZetaFunction    时间: 2023-10-21 17:34
刚刚仔细检查了一下,链接CP2K的GPU版本之所以编译不通过是因为在单精度下Gromacs需要fftwf库而不是fftw,但是CP2K安装的是fftw。官方文档上说Gromacs的fftw库必须要和CP2K一致,而GPU版本又不支持双精度。这是不是意味着Gromacs+CP2K只有双精度CPU版这一种选择了呢?如果是,在实际计算中是否有什么方法可以调低计算精度以加速计算?(虽然感觉不太可能,如果是在底层C代码里定义了变量类型就是double那应该改不了)
作者
Author:
sobereva    时间: 2023-10-22 02:23
CP2K的GPU加速对老百姓来说没什么实质意义,甭考虑

CP2K一般建议默认用popt版。ssmp没什么实用性

QM部分是CP2K做的,CP2K只有双精度,没得选。跟QM部分比,MM、动力学相关部分耗时完全可以忽略不计。
作者
Author:
ZetaFunction    时间: 2023-10-22 04:33
sobereva 发表于 2023-10-22 02:23
CP2K的GPU加速对老百姓来说没什么实质意义,甭考虑

CP2K一般建议默认用popt版。ssmp没什么实用性

感谢老师回复。
我确实有听到过CP2K在消费级显卡上加速效果不佳的说法,但是似乎在V100/A100等专业卡上效果还可以?由于我的任务大部分都是在学校的超算中心跑的,普通MD用的也是V100/A100,(虽然我也知道专业卡的大显存和高通讯带宽对MD没什么用,但是也没有别的选择),不知道CP2K在V100/A100上的加速效果怎么样,和单节点40核CPU并行的速度相比又如何?
作者
Author:
楚瑶    时间: 2024-4-23 13:42
ZetaFunction 发表于 2023-10-22 04:33
感谢老师回复。
我确实有听到过CP2K在消费级显卡上加速效果不佳的说法,但是似乎在V100/A100等专业卡上 ...

您好,想问下您有尝试了吗,在V100/A100下加速CP2K的计算




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