计算化学公社

 找回密码 Forget password
 注册 Register
Views: 8009|回复 Reply: 15
打印 Print 上一主题 Last thread 下一主题 Next thread

[VASP] vasp计算一般多少核心并行

[复制链接 Copy URL]

212

帖子

0

威望

948

eV
积分
1160

Level 4 (黑子)

跳转到指定楼层 Go to specific reply
楼主
请问大家,一台双路服务器,每个CPU有28个物理核心,两个CPU共56个物理核心,现有2个vasp计算任务(可能是结构优化、或振动频率、或态密度的计算任务)需要运行,有如下两种方式:
(1)每个任务用56核心,依次运行2个任务;
(2)每个任务用28核心,同时运行2个任务。
请问:
1. 哪种方式更好,论坛里大家用的都是双路服务器,请问大家通常都是采用哪种方式做计算的?
2. 如果采用(1)的方式,每个任务设置NCORE=28,KPAR=2是否最优? 应设置多少合理?
3. 如果采用(2)的方式,每个任务设置NCORE=14,KPAR=2是否最优? 应设置多少合理?
谢谢大家!!!

112

帖子

2

威望

1546

eV
积分
1698

Level 5 (御坂)

2#
发表于 Post on 2023-8-13 14:25:55 | 只看该作者 Only view this author
同时跑2个计算的话,感觉第(1)种方式会更慢一些……

207

帖子

1

威望

1566

eV
积分
1793

Level 5 (御坂)

3#
发表于 Post on 2023-8-13 16:29:31 | 只看该作者 Only view this author
毫无疑问2更快。NCORE和KPAR的设置需要根据体系决定,貌似makefile.include选择带OPENMP选项的话NCORE=1是永远最快的

1155

帖子

0

威望

4429

eV
积分
5584

Level 6 (一方通行)

4#
发表于 Post on 2023-8-13 16:37:59 | 只看该作者 Only view this author
本帖最后由 乐平 于 2023-8-13 21:29 编辑

先不设置 NCORE, KPAR,跑十几分钟(或者跑两三个离子步),跑的过程中看看耗时多少
  1. grep LOOP OUTCAR
复制代码


LOOP 是电子步的耗时
LOOP+ 是离子步的耗时


然后检查一下体系的 K 点数目,能带数目,例如
  1. grep NKP OUTCAR
  2.    k-points           NKPTS =     XXX   k-points in BZ     NKDIM =     XXX   number of bands    NBANDS=     YYY

复制代码

上面的  NKPTS =     XXX,这里 XXX 就是你当前体系的 k 点数目
NBANDS=     YYY,这里 YYY 就是你当前体系的能带数目

停掉计算任务。

然后根据 k 点数目来确定 KPAR 的数值。KPAR 一定要能整除 k 点数目。
具体来说,就是 XXX/KPAR = 整数

至于 NCORE 的大小,要满足 NCORE x KPAR = CPU 核心数。这里的 CPU 核心数不一定非要正好等于你的最大 CPU 核心数,接近就好。
比如 KPAR = 3, NCORE = 18,那么 3 x 18 = 54,也就是用 54 核,而你的 CPU 核心数是 56,也是可以的。


设置好 KPAR, NCORE 之后再跑两三个离子步,再 grep LOOP OUTCAR ,对比一下电子步和离子步的耗时。

评分 Rate

参与人数
Participants 5
eV +19 收起 理由
Reason
向往美好生活 + 4 谢谢
Kitkim + 1
tanyazhi + 5 谢谢分享
wypkdhd + 5 赞!
zhaojingjing + 4 精品内容

查看全部评分 View all ratings

212

帖子

0

威望

948

eV
积分
1160

Level 4 (黑子)

5#
 楼主 Author| 发表于 Post on 2023-8-13 18:05:05 | 只看该作者 Only view this author
rabbitkiller 发表于 2023-8-13 14:25
同时跑2个计算的话,感觉第(1)种方式会更慢一些……

感谢回复!

212

帖子

0

威望

948

eV
积分
1160

Level 4 (黑子)

6#
 楼主 Author| 发表于 Post on 2023-8-13 18:05:34 | 只看该作者 Only view this author
Weldingspock 发表于 2023-8-13 16:29
毫无疑问2更快。NCORE和KPAR的设置需要根据体系决定,貌似makefile.include选择带OPENMP选项的话NCORE=1是 ...

感谢回复!

212

帖子

0

威望

948

eV
积分
1160

Level 4 (黑子)

7#
 楼主 Author| 发表于 Post on 2023-8-13 18:07:20 | 只看该作者 Only view this author
乐平 发表于 2023-8-13 16:37
先不设置 NCORE, KPAR,跑十几分钟(或者跑两三个离子步),跑的过程中看看耗时多少

谢谢!你的回复太详细了,终于知道NCORE和KPAR怎么测试了,多谢多谢!!!

1155

帖子

0

威望

4429

eV
积分
5584

Level 6 (一方通行)

8#
发表于 Post on 2023-8-13 21:19:40 | 只看该作者 Only view this author
dali 发表于 2023-8-13 18:07
谢谢!你的回复太详细了,终于知道NCORE和KPAR怎么测试了,多谢多谢!!!

这也是试过好久才摸索出来的。

VASP wiki 里关于 NCORE 的描述实在是费解,绕来绕去看晕了,完全不像是要教会别人的说明书……

网上的各种说法又抄来抄去,看了也不是很清楚。

当然,我这种尝试也不能说是最优的。据说还有跨节点并行,让 NBANDS 和 NCORE 之间再次优化效率。这就没尝试了。

112

帖子

2

威望

1546

eV
积分
1698

Level 5 (御坂)

9#
发表于 Post on 2023-8-14 08:10:10 | 只看该作者 Only view this author

我用的QE,根据我自己测试的结果,6通道的双路服务器,每个通道分配8个核,即用48个核跑计算速度最快。多一点或者少一点核数,计算速度都慢一些。

这东西最好自己测试一下,就心里有数了。

1155

帖子

0

威望

4429

eV
积分
5584

Level 6 (一方通行)

10#
发表于 Post on 2023-8-14 22:31:10 | 只看该作者 Only view this author
rabbitkiller 发表于 2023-8-14 08:10
我用的QE,根据我自己测试的结果,6通道的双路服务器,每个通道分配8个核,即用48个核跑计算速度最快。多 ...

请问“通道”是指什么呢?

112

帖子

2

威望

1546

eV
积分
1698

Level 5 (御坂)

11#
发表于 Post on 2023-8-16 11:30:22 | 只看该作者 Only view this author
乐平 发表于 2023-8-14 22:31
请问“通道”是指什么呢?

就是主板是几通道(channel)的那个通道,主板说明书上有的。

我是根据自己的经历推测,系统可能是把计算的工作均匀分配给各个已开启的通道(所以主板上的内存条要插满,这样可以开启所有通道),然后发现每个通道分配2^n个核速度最快……

1155

帖子

0

威望

4429

eV
积分
5584

Level 6 (一方通行)

12#
发表于 Post on 2023-8-16 15:29:19 | 只看该作者 Only view this author
rabbitkiller 发表于 2023-8-16 11:30
就是主板是几通道(channel)的那个通道,主板说明书上有的。

我是根据自己的经历推测,系统可能是把 ...

哦哦,通道就是内存插槽的意思,对吧?

878

帖子

17

威望

5433

eV
积分
6651

Level 6 (一方通行)

小屁孩

13#
发表于 Post on 2023-8-16 15:42:53 | 只看该作者 Only view this author
本帖最后由 Entropy.S.I 于 2023-8-16 15:46 编辑
乐平 发表于 2023-8-16 15:29
哦哦,通道就是内存插槽的意思,对吧?

非也。内存通道(Memory channel)对应了CPU上可用的内存控制器(IMC),其数量与DIMM插槽数量无直接联系。CPU支持多少内存通道,应当在CPU厂商的网站上查询;如何插DIMM才能启用所有内存通道,应当在服务器/主板的手册上查询。

评分 Rate

参与人数
Participants 1
eV +3 收起 理由
Reason
wypkdhd + 3 我很赞同

查看全部评分 View all ratings

- 向着虚无前进 -

140

帖子

0

威望

1369

eV
积分
1509

Level 5 (御坂)

14#
发表于 Post on 2023-8-16 20:22:34 | 只看该作者 Only view this author
我是定下K点后,验证NCORE是多少时用时最少,电子步设2步、离子步设1步,依次设置NCORE可能的数值。几分钟就能验证完毕

1155

帖子

0

威望

4429

eV
积分
5584

Level 6 (一方通行)

15#
发表于 Post on 2023-8-17 10:46:34 | 只看该作者 Only view this author
Entropy.S.I 发表于 2023-8-16 15:42
非也。内存通道(Memory channel)对应了CPU上可用的内存控制器(IMC),其数量与DIMM插槽数量无直接联系 ...

感谢讲解!

本版积分规则 Credits rule

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

GMT+8, 2026-2-21 17:23 , Processed in 0.223569 second(s), 21 queries , Gzip On.

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