计算化学公社

标题: 请教一个四万个原子(包含水)的MD大概需要运行多久? [打印本页]

作者
Author:
Newbee_Ccc    时间: 2023-12-20 17:14
标题: 请教一个四万个原子(包含水)的MD大概需要运行多久?
各位老师,打扰了,请教一个问题,以确定我软件安装或者设置没问题。之前我跑了一个蛋白体系,一共包含4万个原子,最后租了一个3090来跑,200ns花费了10个小时。想要继续延长时间,我就在公共的电脑上安装了gromacs,有两个4090显卡。但是在运行的时候,提示结束时间要到六个月后了。。。。。这种情况应该是我设置的有问题吗?在mdrun的时候没有提示“WARNING: Using the slow plain C kernels. This should not happen during routine usage on supported platforms”


如果问题不合适,还请见谅

作者
Author:
月下之鸟    时间: 2023-12-21 00:19
笔记本端 4060  3.8W原子 Linux gromacs2022.06 280ns/day
作者
Author:
sobereva    时间: 2023-12-21 03:36
弄清楚到底GPU加速利用了没有

并且跑半分钟后杀掉,看速度统计每天能跑多少ns
作者
Author:
Newbee_Ccc    时间: 2023-12-21 09:24
sobereva 发表于 2023-12-21 03:36
弄清楚到底GPU加速利用了没有

并且跑半分钟后杀掉,看速度统计每天能跑多少ns

感谢老师的回复!
我看了刚刚运行mdrun的提示如下
“On host cryo 2 GPUs selected for this run.
Mapping of GPU IDs to the 8 GPU tasks in the 8 ranks on this node:
  PP:0,PP:0,PP:0,PP:0,PP:1,PP:1,PP:1,PP:1
PP tasks will do (non-perturbed) short-ranged and most bonded interactions on the GPU
PP task will update and constrain coordinates on the CPU
Using 8 MPI threads
Using 6 OpenMP threads per tMPI thread”

应该是调用了GPU加速了吧
作者
Author:
Newbee_Ccc    时间: 2023-12-21 09:44
sobereva 发表于 2023-12-21 03:36
弄清楚到底GPU加速利用了没有

并且跑半分钟后杀掉,看速度统计每天能跑多少ns

感觉跑的还是很慢吧
               Core t (s)   Wall t (s)        (%)
       Time:    29654.310      617.817     4799.9
                 (ns/day)    (hour/ns)
Performance:        5.818        4.125

作者
Author:
snljty2    时间: 2023-12-21 09:45
说清你的CPU型号。
4090不支持NVLink,恐怕不适合两张显卡跑一个任务。如果CPU带得动,应该用两张卡分别各跑一个任务,适当设定线程绑定,每个任务应该是-ntmpi 1 -ntomp xxx,xxx代表并行核数。用GPU版本如果不跨显卡跑任务,通常thread-MPI或者MPI的数量都应该设为1。
作者
Author:
Newbee_Ccc    时间: 2023-12-21 09:51
snljty2 发表于 2023-12-21 09:45
说清你的CPU型号。
4090不支持NVLink,恐怕不适合两张显卡跑一个任务。如果CPU带得动,应该用两张卡分别各 ...

感谢您的回复,CPU是Intel(R) Xeon(R) Gold 5318Y CPU @ 2.10GHz,也在论坛中找了一下,发现之前默认-ntmpi 弄成了8个  现在使用命令-ntmpi 1 -ntomp 24来运行,现在好像速度快了很多;此外,学习了“GROMACS (2019.3 GPU版) 并行效率测试及调试思路”,这个发现我之前mdrun的命令中只写了 -nb gpu,现在还加上了-pme gpu,不知道是否也是影响了速度。

再次对您的回复表示感谢,学习到了很多东西。
作者
Author:
snljty2    时间: 2023-12-21 10:26
本帖最后由 snljty2 于 2023-12-21 11:33 编辑
Newbee_Ccc 发表于 2023-12-21 09:51
感谢您的回复,CPU是Intel(R) Xeon(R) Gold 5318Y CPU @ 2.10GHz,也在论坛中找了一下,发现之前默认-ntm ...

这种CPU单核频率等因素不行,会明显拖累4090的速度。如果条件允许,建议参考Entropy.S.I的文章《性能翻倍?RTX4090科学计算之经典MD模拟全面测试》《2023年3月MD benchmark测试中篇 ——W790平台首发测试》,重配一台更合理搭配的服务器。另外追求速度的话,应该用尽量新的稳定版本的Gromacs,建议用不晚于2022.6的版本。
通常编译参数、运行参数等合理而且所用任务支持的话,-pme gpu是默认的。建议使用Linux系统,设定好内核绑定,并且考虑好主板上电路连接方式,让所选用CPU核心和用的对应的GPU是直连的。没有作业系统的话,用-gpu_id参数指定需要的GPU的ID,用-pin on -ntmpi 1 -ntomp xxx -pinoffset yyy指定CPU数量和内核绑定的起始位置。通常CPU不太烂的话,最优参数一般是-bonded cpu -nb gpu -pme gpu -update gpu。

作者
Author:
Entropy.S.I    时间: 2023-12-21 11:20
snljty2 发表于 2023-12-21 10:26
这种CPU单核频率等因素不行,会明显拖累4090的速度。如果条件允许,建议参考Entropy.S.I的文章《性能翻倍 ...

是-bonded cpu -update gpu
而非-bonded cpu -nb gpu -pme gpu
作者
Author:
Entropy.S.I    时间: 2023-12-21 11:22
本帖最后由 Entropy.S.I 于 2023-12-21 11:26 编辑

用完全没有调优的简单粗暴的命令提交,只会自取其辱。必须认真学习gmx mdrun的并行调优。2019年的已经过时了。

对于你当前这种单核性能一塌糊涂的CPU,-bonded gpu或许更好,实际自行测试。但再怎么调优,预计最大性能只有13900KF+4090的不到80%,你的4090只能当4080用。

做benchmark必须关闭pme tuning,并通过-nsteps设置较少的步数,前者对结果的影响绝对不可忽视。

作者
Author:
Newbee_Ccc    时间: 2023-12-21 15:30
Entropy.S.I 发表于 2023-12-21 11:22
用完全没有调优的简单粗暴的命令提交,只会自取其辱。必须认真学习gmx mdrun的并行调优。2019年的已经过时 ...

感谢指导,会继续学习的
作者
Author:
snljty2    时间: 2024-1-5 14:27
Entropy.S.I 发表于 2023-12-21 11:20
是-bonded cpu -update gpu
而非-bonded cpu -nb gpu -pme gpu

不好意思忘了提醒了,多谢指正,我环境变量加了export GMX_FORCE_UPDATE_DEFAULT_GPU=true,就忘了没做的话还要设置-update gpu这件事啦。




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