计算化学公社

 找回密码 Forget password
 注册 Register

vasp中影响并行效率的三个变量KPAR,NPAR,NCORE

查看数: 26298 | 评论数: 13 | 收藏 Add to favorites 26
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2019-1-25 21:03

正文摘要:

以下内容来自vasp workshop,附件中附有原PDF文档

回复 Reply

wypkdhd 发表于 Post on 2023-7-24 15:00:27

第二个关于MPI的问题超出我认知了,不过后面abin回复了。后面内容全都是我个人想法,可能是错误的,见谅。

从我个人而言,节点之间包括双路服务器的cpu之间计算速度的影响;就是节点之间通过网线传输的速度还是慢,cpu和cpu之间通过主板总线数据交换速度也慢。

我这边平时使用dell的R740和R750服务器,以R740的gold6148,一颗cpu20核心,双路40核心80线程,所有的情况我都是使用NCORE=20 KPAR=2,这个是测试过的。原因我也不知道,但是当初用我自己帖子里的intel2019+2015的mkl的组合,我在centos系统上看资源管理器的时候,我记得是有这样的情况,如果你提20个核,刚好是一个cpu上的20个核的利用率是100%,另一个cpu是闲的。
wypkdhd 发表于 Post on 2023-7-24 14:51:58

最后一句意思是,使用gamma点的时候,如果使用核数为40,设置KPAR=2,任务提完,能在top命令里面看到40个核都在运行,但是实际上,只有20个核在干活。
abin 发表于 Post on 2023-7-24 12:47:37

关键词,
NUMA,
DIE,
MPI-RANK, MPI-Threads

你贴的截图最后一句也说了, 如何处理呀.

更进一步, 查看slurm手册.
乐平 发表于 Post on 2023-7-24 12:04:46
wypkdhd 发表于 2023-7-24 10:11
是,说的就是vasp_gam,我实际测试过,NCORE = 单个节点核心数/2 适用于所有情况。当使用gamma点的时候, ...

谢谢回复!

当使用gamma点的时候,设置KPAR等于几,相当于实际使用的核心数处于KPAR值。

最后一句里是“相当于实际使用的核心数 ‘除以’ KPAR 值” 的意思吧?


另外,还想请教一下。我在 VASP wiki 里(https://www.vasp.at/wiki/index.php/Category:Parallelization)看到关于 MPI 有下面的描述。



说是 MPI 的设置会影响队列(rank)之间的通讯,导致快速傅里叶变换(FFT)的速度受到影响,从而影戏 VASP 的计算速度。最优的是上图左侧的形式,队列依次在节点内顺序排列(即队列 1-10 在第一个节点,队列 11-20 在第二个节点),而不是像上图右侧那样在两个节点之间依次排列(即队列1-2在第一个节点,队列3-4在第二个节点,队列5-6在第一个节点,队列7-8在第二个节点,依次类推),这样节点之间的相互通讯会很频繁,导致速度降低。



但是 vasp wiki 上又没有说明如何让队列像上图左侧那样排列…… 很是头疼啊。

不知道您有没有什么建议?
wypkdhd 发表于 Post on 2023-7-24 10:11:20
乐平 发表于 2023-7-23 11:57
请问您说的“第一条”是指什么? k点数目为 1 ?
如果用 vasp_gam 跑,也是设置 NCORE = 单个节点核心数 ...

是,说的就是vasp_gam,我实际测试过,NCORE = 单个节点核心数/2 适用于所有情况。当使用gamma点的时候,设置KPAR等于几,相当于实际使用的核心数处于KPAR值。
乐平 发表于 Post on 2023-7-23 11:57:18
wypkdhd 发表于 2023-7-23 10:27
第一条里面也是NCORE=单节点所有核心/2。

请问您说的“第一条”是指什么? k点数目为 1 ?
如果用 vasp_gam 跑,也是设置 NCORE = 单个节点核心数/2 吗?
wypkdhd 发表于 Post on 2023-7-23 10:27:51
第一条里面也是NCORE=单节点所有核心/2。
dingniu2 发表于 Post on 2023-7-22 09:49:26
wypkdhd 发表于 2023-7-21 11:28
老师说的没错,实际上NPAR这个参数毫无意义,通常都是KPAR=2 然后 2*NCORE=单节点核数。在γ点作为k点的 ...

请问,是不是对于大多数VASP计算,包括优化、单点、频率、态密度、能带。
(1)k点数为1时,不设置KPAR,只设置NCORE=单节点所有核心。
(2)k点数不为1时,设置KPAR=2,NCORE=单节点所有核心/2。
请问这样设置在多数情况下都是最优的吗?
wypkdhd 发表于 Post on 2023-7-21 11:28:55
乐平 发表于 2023-7-21 11:03
同感

不过我测试过,似乎 KPAR 是否能整除 k 点的数目无关紧要。比如 k 点 37 个,设置 KPAR = 2 也可 ...

老师说的没错,实际上NPAR这个参数毫无意义,通常都是KPAR=2 然后 2*NCORE=单节点核数。在γ点作为k点的时候,除了NCORE参数有意义,万不可设置KPAR,不然KPAR等于几,计算速度就等于几分之一。
乐平 发表于 Post on 2023-7-21 11:03:47
shinkon 发表于 2022-7-21 15:07
KPAR好多时候都没法用,不可约k点数量经常是奇数。。

同感

不过我测试过,似乎 KPAR 是否能整除 k 点的数目无关紧要。比如 k 点 37 个,设置 KPAR = 2 也可以算,速度也会比默认的 KPAR = 1 快接近 2 倍。

但是似乎 KPAR x NCORE = 核数目才能计算,否则会报错。

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
ZXHUI + 3 好物!

查看全部评分 View all ratings

shinkon 发表于 Post on 2022-7-21 15:07:29
KPAR好多时候都没法用,不可约k点数量经常是奇数。。
dingniu2 发表于 Post on 2020-2-20 14:08:54
请问,能分享一下这个版本的vasp workshop的网址吗,谢谢?
xaomidaxue 发表于 Post on 2019-1-27 10:51:34
good

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

GMT+8, 2024-11-26 08:29 , Processed in 1.875240 second(s), 26 queries , Gzip On.

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