计算化学公社

标题: slurm提交vasp作业,作业会堆到同样的核心上 [打印本页]

作者
Author:
lue611    时间: 2024-3-22 09:56
标题: slurm提交vasp作业,作业会堆到同样的核心上
本帖最后由 lue611 于 2024-4-20 17:32 编辑

cpu9654,用aocc+aocl+openmpi5.0.2编译的vasp,系统ubuntu22.04,提交作业脚本如下:
#!/bin/bash
#SBATCH -J vasp
#SBATCH -p debug
#SBATCH -N 1
#SBATCH -n 64
#SBATCH -o %j.out
#SBATCH -e %j.err
ulimit -s unlimited

mpirun vasp_gam

交了一个后是正常计算,cpu占用也是100%(其实也有点奇怪,为什么不会两个cpu分别堆32核?)
交了两个作业后,cpu占用还是0~63号核心,每个作业占用变成了50%,明显就是堆一起去了啊,而且作业的速度慢了十倍以上
求助各位大佬这是什么情况,如何解决?

作者
Author:
abin    时间: 2024-3-22 10:14
cgroup 设定有问题呗。

cgroup v1 v2的问题,查手册吧。
作者
Author:
abin    时间: 2024-3-22 13:04
补充一下,AMD平台,尤其是双路平台,
要想发挥真正的性能,是需要一些特殊设定的。

和程序也有关系。
作者
Author:
lue611    时间: 2024-3-23 09:45
abin 发表于 2024-3-22 10:14
cgroup 设定有问题呗。

cgroup v1 v2的问题,查手册吧。

很奇怪的现象:自己写了个c++小程序,用slurm运行,能正常分配核心,但是到vasp就不行
我在怀疑是不是vasp和amd有兼容性问题
作者
Author:
啊不错的飞过海    时间: 2024-3-23 15:51
你的MPI是用的什么实现?有没有PMI/PMIx支持?编译时链接的和运行时用的是一套实现吗?
作者
Author:
lue611    时间: 2024-3-23 21:10
啊不错的飞过海 发表于 2024-3-23 15:51
你的MPI是用的什么实现?有没有PMI/PMIx支持?编译时链接的和运行时用的是一套实现吗?

对不起,看不懂你在说什么。。。
作者
Author:
啊不错的飞过海    时间: 2024-3-25 17:15
lue611 发表于 2024-3-23 21:10
对不起,看不懂你在说什么。。。

呃,你用的是intel mpi、openmpi还是mpich? 自己编译的还是别人的,如果是自己编译的那么configure时候有没有写slurm位置?
作者
Author:
lue611    时间: 2024-4-10 10:20
更新一下,amd工程师说是openmpi和amd有兼容性问题。。。千万别推amd了,人麻了
作者
Author:
Sunjeaser    时间: 2024-4-10 11:01
lue611 发表于 2024-3-25 17:40
搞定了感谢,mpirun --map-by numa就可以了

你好,我最近也遇到相同的问题,请问这行命令是如何使用呢?例如我想用24核计算vasp 那我的命令行应该输入:mpirun --map-by numa -np 24 vasp_std& 是这样子操作么,期望得到解答。
作者
Author:
abin    时间: 2024-4-10 12:11
本帖最后由 abin 于 2024-4-10 12:16 编辑
lue611 发表于 2024-4-10 10:20
更新一下,amd工程师说是openmpi和amd有兼容性问题。。。千万别推amd了,人麻了

主板会有设定,
可以将两颗处理器,划定为几个numa 域。

如果slurm位置没有问题,
使用per-socket ,也就是一个任务,分配一个物理处理器,
可能就没有问题了。


另一方面,AMD双路平台,一套价格不低,
意味着利润空间不低……
如果有利,商业合作当然愿意选择利润空间高的做推广。
这很符合市场行为。


per-socket 应该是总在脚本中……
具体看一下手册。我可能有拼写错误。

一般而言,除部分设定之外,调度系统是以用户脚本中的设定为准的。

作者
Author:
lue611    时间: 2024-4-10 17:56
Sunjeaser 发表于 2024-4-10 11:01
你好,我最近也遇到相同的问题,请问这行命令是如何使用呢?例如我想用24核计算vasp 那我的命令行应该输 ...

以为搞定了实际没搞定,就是amdcpu的兼容性太垃圾,暂时无解
作者
Author:
Entropy.S.I    时间: 2024-4-11 23:38
这个问题我已经解决,方法非常简单,不需要任何非常规操作。实际上本来就不应该有这个问题。只不过鉴于某些人的信口胡诌和搞扩大化,我不会轻易公开解决办法。
作者
Author:
lue611    时间: 2024-4-13 10:29
本帖最后由 lue611 于 2024-4-13 10:43 编辑
Entropy.S.I 发表于 2024-4-11 23:38
这个问题我已经解决,方法非常简单,不需要任何非常规操作。实际上本来就不应该有这个问题。只不过鉴于某些 ...

要不要给你截图证明确实是amd工程师说的?

我发现你回复我的每个帖子都只是装了个逼然后就跑了,啥干货也没有,而我虽然菜提不出解决方法吧,但是好歹把自己的经历分享出来了,并且指出了问题

上次我诚心提问你还骂我一句intel信徒,也没告诉我什么干货



作者
Author:
Entropy.S.I    时间: 2024-4-13 12:12
本帖最后由 Entropy.S.I 于 2024-4-13 12:16 编辑
lue611 发表于 2024-4-13 10:29
要不要给你截图证明确实是amd工程师说的?

我发现你回复我的每个帖子都只是装了个逼然后就跑了,啥干 ...

压根不是ompi和CPU的问题,和CPU一点关系都没有。对你这种信口胡诌之人我没兴趣分享技术,更没有义务分享我靠自己本事研究出的解决方案。分享不分享只看心情,别人我可能会分享,但不会给你分享。
“AMD工程师”分三六九等,你能轻易联系到的都不是有技术实力的人,甚至可能只是某个外包/代理商的人,给几个糊弄外行的借口就敷衍过去了。我又不是没接触过这些人。
作者
Author:
lue611    时间: 2024-4-13 17:24
Entropy.S.I 发表于 2024-4-13 12:12
压根不是ompi和CPU的问题,和CPU一点关系都没有。对你这种信口胡诌之人我没兴趣分享技术,更没有义务分享 ...

amd工程师是厂商联系的,他们的公司规模不算小,肯定能联系到比你水平强的
然后是,厂商在amd和intel上一起测试,发现就是amd机子会堆核心
再然后,我用oneapi在amd上编译vasp,发现问题解决,不堆核心
是个正常人都会怀疑openmpi和amd好吧
作者
Author:
sobereva    时间: 2024-4-14 02:32
讨论技术问题就事论事,别扯到个人上。保持理性、技术层面的交流,违规者禁言处理
作者
Author:
乘风万里    时间: 2024-4-19 11:01
本帖最后由 乘风万里 于 2024-4-19 11:14 编辑

你认为是你用的mpirun的原因,正常应该是srun --mpi=pmi2 vasp_gam。之前有人问过我类似的问题,改成srun --mpi=pmi2 可以解决。而且AMD的VASP兼容性没有大的问题,因为目前大的公司采购的大多数都是AMD的服务器,比如各种xx云,我在上面运行各种VASP还没发现你说的问题。
具体MPI任务以什么方式启动,需要看你Slurm跟MPI的兼容性。
参考资料:
1. https://hpc-uit.readthedocs.io/e ... nning_mpi_jobs.html
2. https://hpclib.com/hpc/Scheduler/Slurm/mpi_guide.html


作者
Author:
lue611    时间: 2024-4-20 17:30
乘风万里 发表于 2024-4-19 11:01
你认为是你用的mpirun的原因,正常应该是srun --mpi=pmi2 vasp_gam。之前有人问过我类似的问题,改成srun - ...

试过这个,核心分配也是正常的,但是计算速度似乎和一个核心在跑差不多。。。
作者
Author:
chantau    时间: 2024-4-22 15:55
本帖最后由 chantau 于 2024-4-23 14:12 编辑
lue611 发表于 2024-4-13 17:24
amd工程师是厂商联系的,他们的公司规模不算小,肯定能联系到比你水平强的
然后是,厂商在amd和intel上 ...

厂商的责任心要画一个大大的问号好吧
作者
Author:
lue611    时间: 2024-4-23 11:49
chantau 发表于 2024-4-22 15:55
厂商的责任心要到一个大大的问号好吧

如果他们调不好的话肯定要退货换成intel的
作者
Author:
乐平    时间: 2024-5-4 16:31
乘风万里 发表于 2024-4-19 11:01
你认为是你用的mpirun的原因,正常应该是srun --mpi=pmi2 vasp_gam。之前有人问过我类似的问题,改成srun - ...

借楼讨论一下

OpenMPI 官网上的说法似乎跟 srun 有矛盾。OpenMPI 官方网推荐用 mpirun 来提交任务,反而不建议用 srun 来提交任务。

链接如下
https://docs.open-mpi.org/en/v5.0.x/launching-apps/slurm.html
(, 下载次数 Times of downloads: 28)


作者
Author:
乘风万里    时间: 2024-5-5 00:58
乐平 发表于 2024-5-4 16:31
借楼讨论一下

OpenMPI 官网上的说法似乎跟 srun 有矛盾。OpenMPI 官方网推荐用 mpirun 来提交任务,反 ...

对的,我发的第一个链接中说了这个问题, Intel MPI 的有些版本下Slurm跟mpirun不兼容,OpenMPI的有些版本下Slurm跟srun不兼容。我的意思是想解释这个问题不是AMD CPU的锅,而是MPI跟Slurm的兼容性问题...比如编译个Intel MPI 版本的VASP测试,或者把srun --mpi=pmi2跟mpirun都试试。




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