计算化学公社

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

[VASP] 使用aocc+aocl从头编译使用openmpi的vasp6

[复制链接 Copy URL]

1236

帖子

1

威望

3495

eV
积分
4751

Level 6 (一方通行)

本帖最后由 biogon 于 2024-1-29 10:33 编辑

看到坛里有用amd官方给的用spack编译vasp的速度不理想的帖子,写个从头用aocc+aocl编译vasp的教程。
现在先随便写点,很多细节等以后补充。
1. 安装aocc和aocl
在amd官网下载3.2.0版本的aocc和aocl并安装(细节有时间再写)
4.1/4.0版本可用于编译vasp6.3.2以后的版本
安装好后需要添加环境变量,使在命令行中输入flang/clang有输出

aocl需要下载基于aocc构建的版本

2. 编译基于aocc3.2.0的openmpi(4.1.4版本)
编译过程基本与正常编译openmpi无异,区别就是在configure时要添加
  1. CC=clang CXX=clang++ FC=flang
复制代码

3. 编译vasp
makefile(纯mpi)在下面已经提供,自己用只要修改里面的所有的
  1. /opt/apps/amd/aocl/3.2.0
复制代码
为自己安装的aocl路径即可
cpu架构选项
  1. VASP_TARGET_CPU ?= -march=znver2
复制代码
改成自己的cpu类型(1 2 3 or 4)

带VTST,VASPsol, Wannier90, HDF5可正常编译出,DFT-D4无法编译出

别的细节等有时间再补充


12.19更新
比较新的openmpi使用时configure需要使用编译器绝对路径,不然编译会报错
./configure CC=$编译器安装路径/aocc-compiler-4.1.0/bin/clang CXX=$编译器安装路径/aocc-compiler-4.1.0/bin/clang++ FC=$编译器安装路径/aocc-compiler-4.1.0/bin/flang --prefix=$安装路径

1.29
实测编译使用aocc4.1.0编译openmpi5.0.x,系统gnu编译器版本最低为11,否则编译就报错

makefile.include

2.23 KB, 阅读权限: 10, 下载次数 Times of downloads: 168

评分 Rate

参与人数
Participants 4
eV +20 收起 理由
Reason
hebrewsnabla + 3
Picardo + 5 谢谢
chever + 4 赞!
sobereva + 8

查看全部评分 View all ratings

28

帖子

0

威望

1046

eV
积分
1074

Level 4 (黑子)

来自 33#
发表于 Post on 2024-1-26 22:52:53 | 只看该作者 Only view this author

问题解决了,还是gcc的问题,装完aocc要用clang clang++ flang -v看下三者自动识别的gcc位置是否正确,我的就是flang自动找的gcc位置与前两个的gcc11不对应。把系统中多的gcc版本删掉或者重命名掉文件夹就好了

54

帖子

0

威望

683

eV
积分
737

Level 4 (黑子)

42#
发表于 Post on 2024-10-18 01:57:34 | 只看该作者 Only view this author
neocc 发表于 2024-1-24 00:00
参考多个教程后编译还是不通过
https://www.bilibili.com/opus/870747530826088515
http://bbs.keinsc ...

相同系统,相同配置,我也遇到了一样的报错

1236

帖子

1

威望

3495

eV
积分
4751

Level 6 (一方通行)

41#
 楼主 Author| 发表于 Post on 2024-7-26 08:59:35 | 只看该作者 Only view this author
Jiongci-21 发表于 2024-7-26 00:52
超算管理员装了gcc13.3,我也module load了,which gcc, gcc -v,以及检查$PATH都是gcc13.3没有问题,然 ...

On RHEL and SLES systems, if you have multiple versions of devtoolset installed and the latest
version does not provide a GCC installation, use the compiler option -gcc-install-dir pointing to the
correct GCC version to be used. As an alternative solution for the RHEL systems, use the following
command to enable devtoolset version 9:

34

帖子

0

威望

1000

eV
积分
1034

Level 4 (黑子)

40#
发表于 Post on 2024-7-26 00:52:57 | 只看该作者 Only view this author
biogon 发表于 2024-7-25 12:39
编译前export绝对路径

超算管理员装了gcc13.3,我也module load了,which gcc, gcc -v,以及检查$PATH都是gcc13.3没有问题,然而安装的时候还是指向了gcc8,是不是Rocky Linux系统的一个bug。

  1. (base) [c.junchi@soursop aocc-compiler-4.2.0]$ which gcc
  2. /project/compute/compilers/gcc-13.3.0/bin/gcc
  3. (base) [c.junchi@soursop aocc-compiler-4.2.0]$ gcc -v
  4. Using built-in specs.
  5. COLLECT_GCC=gcc
  6. COLLECT_LTO_WRAPPER=/project/engineering/compilers/gcc-13.3.0/bin/../libexec/gcc/x86_64-pc-linux-gnu/13.3.0/lto-wrapper
  7. Target: x86_64-pc-linux-gnu
  8. Configured with: ../gcc-13.3.0/configure --prefix=/project/compute/compilers/gcc-13.3.0 --enable-languages=c,c++,fortran,go,objc,obj-c++
  9. Thread model: posix
  10. Supported LTO compression algorithms: zlib zstd
  11. gcc version 13.3.0 (GCC)
复制代码
  1. (base) [c.junchi@soursop aocc-compiler-4.2.0]$ echo -e "PATH:\n${PATH//:/\\n}\n"
  2. PATH:
  3. /home/research/c.junchi/opt/amd/AOCC-gcc13/aocc-compiler-4.2.0/share/opt-viewer
  4. /home/research/c.junchi/opt/amd/AOCC-gcc13/aocc-compiler-4.2.0/bin
  5. /project/compute/compilers/gcc-13.3.0/bin
复制代码
  1. (base) [c.junchi@soursop aocc-compiler-4.2.0]$ bash install.sh
  2. Successfully generated setenv file:/home/research/c.junchi/opt/amd/AOCC-gcc13/setenv_AOCC.sh

  3. AOCC installation is complete

  4. Compiler has been installed in following location:
  5. ~/opt/amd/AOCC-gcc13/aocc-compiler-4.2.0/bin/clang
  6. ~/opt/amd/AOCC-gcc13/aocc-compiler-4.2.0/bin/clang++
  7. ~/opt/amd/AOCC-gcc13/aocc-compiler-4.2.0/bin/flang

  8. Steps to setup AOCC:
  9.         (1) Setup AOCC environment by executing below command:
  10.                 source /home/research/c.junchi/opt/amd/AOCC-gcc13/setenv_AOCC.sh

  11.         (2) For location and version of AOCC's clang enter commands given below
  12.                 which clang
  13.                 clang -v

  14. (base) [c.junchi@soursop aocc-compiler-4.2.0]$ source /home/research/c.junchi/opt/amd/AOCC-gcc13/setenv_AOCC.sh
  15. (base) [c.junchi@soursop aocc-compiler-4.2.0]$ which clang
  16. ~/opt/amd/AOCC-gcc13/aocc-compiler-4.2.0/bin/clang
  17. (base) [c.junchi@soursop aocc-compiler-4.2.0]$ clang -v
  18. AMD clang version 16.0.3 (CLANG: AOCC_4.2.0-Build#89 2023_12_13)
  19. Target: x86_64-unknown-linux-gnu
  20. Thread model: posix
  21. InstalledDir: /home/research/c.junchi/opt/amd/AOCC-gcc13/aocc-compiler-4.2.0/bin
  22. Found candidate GCC installation: /usr/lib/gcc/x86_64-redhat-linux/8
  23. Selected GCC installation: /usr/lib/gcc/x86_64-redhat-linux/8
复制代码



Screenshot 2024-07-25 at 11.46.59AM.png (60.35 KB, 下载次数 Times of downloads: 26)

Screenshot 2024-07-25 at 11.46.59AM.png
越学越难顶。

1236

帖子

1

威望

3495

eV
积分
4751

Level 6 (一方通行)

39#
 楼主 Author| 发表于 Post on 2024-7-25 12:39:20 | 只看该作者 Only view this author
Jiongci-21 发表于 2024-7-23 00:59
您好,请问安装aocc的时候怎么指定clang, clang++, 和flang选用已安装的更高版本的gcc呢?(非root用户)我 ...

编译前export绝对路径

34

帖子

0

威望

1000

eV
积分
1034

Level 4 (黑子)

38#
发表于 Post on 2024-7-23 00:59:59 | 只看该作者 Only view this author
biogon 发表于 2024-1-28 20:36
这个可以替换的

您好,请问安装aocc的时候怎么指定clang, clang++, 和flang选用已安装的更高版本的gcc呢?(非root用户)我load了gcc13.3的环境,但是./install.sh 得到的还是选择系统默认的gcc8。需要在install.sh里改动哪一部分吗?
由于我想装最新的openmpi,gcc8就一直报错。


越学越难顶。

1236

帖子

1

威望

3495

eV
积分
4751

Level 6 (一方通行)

37#
 楼主 Author| 发表于 Post on 2024-2-19 12:24:54 | 只看该作者 Only view this author
Weldingspock 发表于 2024-2-14 10:46
我用aocc+aocl编译的vasp.6.4.2比 intel oneapi编译的速度只快了5%左右。系统是Cent os 8,gnu版本是8.3.1 ...

系统换新内核的,运行可以采用如下方法
  1. # Mapping of process to hardware resources
  2. # For AMD EPYC processors it is recommended to use a single rank per L3 cache
  3. # and set OMP_NUM_THREADS to the number of cores per L3 cache. Below is the example
  4. # for 4th Gen EPYC processors with 8 cores per L3 cache, hence using OMP_NUM_THREADS=8
  5. export NUM_CORES=$(nproc)
  6. export OMP_NUM_THREADS=8
  7. NUM_MPI_RANKS=$(( $NUM_CORES / $OMP_NUM_THREADS ))

  8. # Running VASP
  9. mpirun -np $NUM_MPI_RANKS --map-by ppr:1:l3cache:pe=$OMP_NUM_THREADS vasp_std
复制代码


197

帖子

1

威望

1104

eV
积分
1321

Level 4 (黑子)

36#
发表于 Post on 2024-2-14 10:46:40 | 只看该作者 Only view this author
我用aocc+aocl编译的vasp.6.4.2比 intel oneapi编译的速度只快了5%左右。系统是Cent os 8,gnu版本是8.3.1,cpu是amd 9554。openmpi版本是4.1.6。最后运行vasp的命令直接是mpirun -np ** vasp_std。请问最后的运行命令需要改吗还是有一些别的参数需要修改?

7

帖子

0

威望

611

eV
积分
618

Level 4 (黑子)

35#
发表于 Post on 2024-2-13 13:42:46 | 只看该作者 Only view this author
chever 发表于 2023-5-12 11:43
感谢楼主,已成功编译。在手头算的一个体系里面比Intel Parallel Studio XE 2019编译的vasp.5.4.4+加速代 ...

大佬,请问下aocc编译后怎么运行呢?我编译成功了,但是运行不起来

1236

帖子

1

威望

3495

eV
积分
4751

Level 6 (一方通行)

34#
 楼主 Author| 发表于 Post on 2024-1-28 20:36:15 | 只看该作者 Only view this author
ggshining 发表于 2024-1-26 22:52
问题解决了,还是gcc的问题,装完aocc要用clang clang++ flang -v看下三者自动识别的gcc位置是否正确,我 ...

这个可以替换的

1236

帖子

1

威望

3495

eV
积分
4751

Level 6 (一方通行)

32#
 楼主 Author| 发表于 Post on 2024-1-26 14:57:19 | 只看该作者 Only view this author
ggshining 发表于 2024-1-22 12:03
请问下这个问题解决了吗?怎么解决的呀
我也遇到这个问题了,一模一样的提示Fortran不成功,which gfort ...

版本呢

1236

帖子

1

威望

3495

eV
积分
4751

Level 6 (一方通行)

31#
 楼主 Author| 发表于 Post on 2024-1-26 14:53:58 | 只看该作者 Only view this author
neocc 发表于 2024-1-24 13:08
好的

AMD EPYC 9654

你先换个系统吧,别用这玩意了

145

帖子

0

威望

3113

eV
积分
3258

Level 5 (御坂)

30#
发表于 Post on 2024-1-24 13:08:05 | 只看该作者 Only view this author
本帖最后由 neocc 于 2024-1-24 21:26 编辑
雾雨魔理沙 发表于 2024-1-24 10:58
你可以把你的环境(如电脑配置,软件版本等)先写出来,可能这样会方便大家知道你的错误原因

好的

AMD EPYC 9654

CentOS Linux release 8.5.2111

vasp642+VTSTcodes198

24

帖子

0

威望

378

eV
积分
402

Level 3 能力者

29#
发表于 Post on 2024-1-24 10:58:12 | 只看该作者 Only view this author
neocc 发表于 2024-1-24 00:00
参考多个教程后编译还是不通过
https://www.bilibili.com/opus/870747530826088515
http://bbs.keinsc ...

你可以把你的环境(如电脑配置,软件版本等)先写出来,可能这样会方便大家知道你的错误原因

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

GMT+8, 2024-11-24 03:14 , Processed in 0.244330 second(s), 28 queries , Gzip On.

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