计算化学公社

 找回密码 Forget password
 注册 Register
Views: 9950|回复 Reply: 31

[VASP] AMD_5950x上编译vasp5.4.4在不同环境下的效率对比

[复制链接 Copy URL]

57

帖子

0

威望

755

eV
积分
812

Level 4 (黑子)

发表于 Post on 2021-9-26 21:50:03 | 显示全部楼层 Show all |阅读模式 Reading model
本帖最后由 ShangChien 于 2021-9-26 22:02 编辑

毕业了,没有计算资源。参考sob老师的购机推荐http://sobereva.com/444,最近自己组装了一台5950x电脑(128G内存)。使用MKL编译的vasp效率较高。众所周知,在AMD上使用intel家的mkl库时,需要特殊的编译和使用技巧https://documentation.sigma2.no/jobs/mkl.html,但是链接中的方法并不适用vasp。
新版微软windows内置的linux子系统(WSL2)势头正盛(一般是ubuntu20.04)https://docs.microsoft.com/zh-cn/windows/wsl/,我直接在win11下安装了ubuntu子系统。参考各路网络上的AMD配置进行编译,大多数方法在编译或者运行vasp时会有报错。经过多次实验,针对vasp.5.4.4来说,使用intel2019http://bbs.keinsci.com/thread-11614-1-1.html,参考社长在centos上编译vasp的方法http://bbs.keinsci.com/thread-11812-1-1.html和另一个ubuntu编译的帖子https://blog.csdn.net/weixin_50987648/article/details/109035672
此外还需修改makefile.include以下参数:
  1. OFLAG = -O2 -march=core-avx2 #使用amd的avx2指令集
  2. ...
  3. OBJECTS = fftmpiw.o fftmpi_map.o fft3dlib.o fftw3d.o $(MKLROOT)/interfaces/fftw3xf/libfftw3xf_intel.a
  4. ...
复制代码
编译完成后使用AMD平台提升MKL性能的小技巧(在~/.bashrc中添加环境):
  1. #AMD trick
  2. export MKL_DEBUG_CPU_TYPE=5
  3. export MKL_CBWR=AVX2
  4. export I_MPI_PIN_DOMAIN=numa
复制代码
最后使用sob老师的测试任务包(Hg)中的IN-long作为INCAR进行测试(一共20个离子步),
16core不加tirck环境,32core不加tirck环境,16core添加tirck环境
最终结果如下:
vasp_compare.png
结论:理解多线程技术http://sobereva.com/392,添加AMD专属环境,可以更加高效地使用计算资源,提升vasp运行速度。


评分 Rate

参与人数
Participants 2
eV +13 收起 理由
Reason
ggdh + 5 谢谢
sobereva + 8

查看全部评分 View all ratings

9

帖子

0

威望

109

eV
积分
118

Level 2 能力者

发表于 Post on 2022-6-22 18:48:04 | 显示全部楼层 Show all
我的5950X,在UBUNTU22.04下,参照https://www.vasp.at/wiki/index.p ... 3.X_on_Ubuntu_22.04编译的比用Intel oneapi编译的VASP快大概20%~30%,而且更省内存

347

帖子

4

威望

2583

eV
积分
3010

Level 5 (御坂)

发表于 Post on 2021-9-27 10:36:23 | 显示全部楼层 Show all
最近AMD以clang/flang+llvm搞了一套新的编译器AOCC和新的数学库AOCL,不知道效率怎么样。

1854

帖子

1

威望

4106

eV
积分
5980

Level 6 (一方通行)

发表于 Post on 2021-9-27 11:22:20 | 显示全部楼层 Show all
所谓的tricky 就是限定指令集。

如果不限定,为了保证兼容性,
intel系列工具会默认AVX指令集,当然会慢。

用AOCC吧……
High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
App,  https://gitee.com/hpc4you/linux
hpc4you toolkit,  https://gitee.com/hpc4you/hpc
电邮hpc4you@163.com VX: hpc4you

57

帖子

0

威望

755

eV
积分
812

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2021-9-27 18:25:31 | 显示全部楼层 Show all
abin 发表于 2021-9-27 11:22
所谓的tricky 就是限定指令集。

如果不限定,为了保证兼容性,

不熟悉AOCC,本来也想用AMD的编译器,但是vasp官方论坛里一大片指责开发者不作为,不提供AMD处理器的编译方法。好事者自行编译也是有明显问题https://zhuanlan.zhihu.com/p/293300472

57

帖子

0

威望

755

eV
积分
812

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2021-9-27 18:28:19 | 显示全部楼层 Show all
abin 发表于 2021-9-27 11:22
所谓的tricky 就是限定指令集。

如果不限定,为了保证兼容性,

可以开源分享一下您的AOCC编译方法吗?

1158

帖子

1

威望

2803

eV
积分
3981

Level 5 (御坂)

发表于 Post on 2021-9-27 19:10:13 | 显示全部楼层 Show all
ShangChien 发表于 2021-9-27 18:25
不熟悉AOCC,本来也想用AMD的编译器,但是vasp官方论坛里一大片指责开发者不作为,不提供AMD处理器的编译 ...

用AOCC其实我觉得还不如直接用GNU编译器,编别的程序没感觉有什么差别

1854

帖子

1

威望

4106

eV
积分
5980

Level 6 (一方通行)

发表于 Post on 2021-9-27 19:15:47 | 显示全部楼层 Show all
ShangChien 发表于 2021-9-27 18:28
可以开源分享一下您的AOCC编译方法吗?

没有设备,没有测试过。
我只是读了说明文档。

开发者不作为之说,真是天方夜谭。
开发者论坛有提及,
开发者手里暂无任何AMD平台设备,
拿什么做调试?

评分 Rate

参与人数
Participants 1
eV +5 收起 理由
Reason
ShangChien + 5 你太可爱

查看全部评分 View all ratings

High-Performance Computing for You
为您专属定制的高性能计算解决方案

更多讯息,请访问:
App,  https://gitee.com/hpc4you/linux
hpc4you toolkit,  https://gitee.com/hpc4you/hpc
电邮hpc4you@163.com VX: hpc4you

85

帖子

0

威望

1768

eV
积分
1853

Level 5 (御坂)

发表于 Post on 2021-11-8 08:21:42 | 显示全部楼层 Show all
本帖最后由 loovfnd 于 2021-11-8 09:13 编辑

5950X内存通道不够多呀,对vasp计算有啥影响吗

57

帖子

0

威望

755

eV
积分
812

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2021-11-8 11:44:44 | 显示全部楼层 Show all
loovfnd 发表于 2021-11-8 08:21
5950X内存通道不够多呀,对vasp计算有啥影响吗

说实话,通道数确实少,但是通道数多的7742价格也不是正比的关系。反正我是单根32G,四槽插满了,一共是128中等体系应该没问题。通道数和运行效率的关系没测过。有一个缺点是这个128G内存没有ECC纠错功能。

85

帖子

0

威望

1768

eV
积分
1853

Level 5 (御坂)

发表于 Post on 2021-11-17 09:02:04 | 显示全部楼层 Show all
ShangChien 发表于 2021-11-8 11:44
说实话,通道数确实少,但是通道数多的7742价格也不是正比的关系。反正我是单根32G,四槽插满了,一共是1 ...

32G的ECC内存什么品牌型号?价格大概多少呀。主板用的什么呀,我这也买了这个U一直在琢磨怎么做计算用。

57

帖子

0

威望

755

eV
积分
812

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2021-11-17 11:07:11 | 显示全部楼层 Show all
本帖最后由 ShangChien 于 2021-11-17 12:20 编辑
loovfnd 发表于 2021-11-17 09:02
32G的ECC内存什么品牌型号?价格大概多少呀。主板用的什么呀,我这也买了这个U一直在琢磨怎么做计算用。

我用的是芝奇钢牙,没有ECC纠错。32G一条大概1000吧(看渠道)。关于你的问题,我的个人认识如下(不一定正确):
带有ECC纠错的内存一般都是服务器用的,三星居多,价格也不会贵多少,但是一般服务器用的内存插槽和民用的不一定通用。具体细节自行调研吧

85

帖子

0

威望

1768

eV
积分
1853

Level 5 (御坂)

发表于 Post on 2021-11-17 11:38:13 | 显示全部楼层 Show all
ShangChien 发表于 2021-11-17 11:07
我用的是芝奇钢牙,没有ECC纠错。32G一条大概1000吧(看渠道)。关于你的问题,我的个人认识如下(不一定 ...

这样啊,主板弄个B550重炮手,配32*4的非服务器内存呗。散热用不用水冷。

57

帖子

0

威望

755

eV
积分
812

Level 4 (黑子)

 楼主 Author| 发表于 Post on 2021-11-17 12:17:13 | 显示全部楼层 Show all
本帖最后由 ShangChien 于 2021-11-17 12:19 编辑
loovfnd 发表于 2021-11-17 11:38
这样啊,主板弄个B550重炮手,配32*4的非服务器内存呗。散热用不用水冷。

我记错了,5950x是支持ECC内存的,不支持RECC。插槽通不通用你自己研究一下呗!
https://www.zhihu.com/question/478181313/answer/2046643575#:~:text=AMD%20%E9%94%90%E9%BE%999%205950,%E6%89%8D%E5%8F%AF%E4%BB%A5%E6%94%AF%E6%8C%81RECC%E5%86%85%E5%AD%98%E3%80%82

316

帖子

4

威望

2047

eV
积分
2443

Level 5 (御坂)

小屁孩

发表于 Post on 2021-11-17 16:54:52 | 显示全部楼层 Show all
ShangChien 发表于 2021-11-17 12:17
我记错了,5950x是支持ECC内存的,不支持RECC。插槽通不通用你自己研究一下呗!
https://www.zhihu.com/ ...

正代Ryzen都支持ECC-UDIMM,但同时支持的主板很少,已知华擎全家X570、B550都支持ECC-UDIMM。现在能买到的ECC-UDIMM内存最高频率是3200MHz,将就用就好,3200MHz双通道带宽远远不能喂饱5950X的16个zen3核心。我最近装的一套MD工作站用的就是5950X + 2*32GB 3200MHz ECC-UDIMM
- 向着虚无前进 -

8

帖子

0

威望

83

eV
积分
91

Level 2 能力者

发表于 Post on 2021-11-27 21:33:09 | 显示全部楼层 Show all
老师您好,请问我在编译的时候出现错误提示:
pade fit.F(2388): catastrophic error:Function return parameter requires SSE register while SSE is disabled.
compilation aborted for pade_fit.f90(code 1)
我的CPU是线程撕裂者3970X,用oneAPI装的。

本版积分规则 Credits rule

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

GMT+8, 2023-2-7 04:22 , Processed in 0.682115 second(s), 27 queries .

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