计算化学公社

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

[VASP] EPYC9654使用aocc+aocl编译的openmpi和vasp的问题

[复制链接 Copy URL]

32

帖子

0

威望

515

eV
积分
547

Level 4 (黑子)

本帖最后由 lue611 于 2024-3-7 17:23 编辑

双路9654,系统rocky linux 9.2,参考论坛使用AOCC+AOCL编译,遇到的问题和下面这个帖子几乎一模一样:
http://bbs.keinsci.com/thread-42168-1-1.html

一开始AOCC+AOCL正常,which clang之类的也正常

问题1:遇到了帖子里的第二个问题,报错也一致,后面更换了openMPI 4.1.6才解决,该如何安装5.0.0版本?
报错:
make[2]: 进入目录“/opt/openmpi-5.0.0/ompi/tools/ompi_info”
  CC       ompi_info.o
  CC       param.o
  CCLD     ompi_info
ld.lld: error: undefined reference due to --no-allow-shlib-undefined: __extendhfsf2
>>> referenced by ../../../ompi/.libs/libmpi.so
ld.lld: error: undefined reference due to --no-allow-shlib-undefined: __truncsfhf2
>>> referenced by ../../../ompi/.libs/libmpi.so
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [Makefile:1472:ompi_info] 错误 1
make[2]: 离开目录“/opt/openmpi-5.0.0/ompi/tools/ompi_info”
make[1]: *** [Makefile:2798:all-recursive] 错误 1
make[1]: 离开目录“/opt/openmpi-5.0.0/ompi”
make: *** [Makefile:1532:all-recursive] 错误 1



问题2:之后的vasp编译正常,但是make test -j全部报错,就截取了最后一些报错信息:

exiting run_vasp_nc
exiting run_recipe Tl_z_RPR
./runtest: line 852: OUTCAR: No such file or directory
./runtest: line 852: OUTCAR: No such file or directory
(standard_in) 2: syntax error
spin-orbit splitting in the p shell is
./runtest: line 471: OUTCAR: No such file or directory
ERROR: the test yields different results for the energies, please check
-----------------------------------------------------------------------
paste: energy_outcar: No such file or directory
ERROR: compare_numbertable can't find file energy_outcar
./runtest: line 593: OUTCAR: No such file or directory
ERROR: the test yields different results for the forces, please check
---------------------------------------------------------------------
cat: force: No such file or directory
ERROR: compare_numbertable can't find file force
grep: OUTCAR: No such file or directory
Warning: ieee_inexact is signaling
FORTRAN STOP
ERROR: the stress tensor is different, please check
---------------------------------------------------
---------------------------------------------------------------------------
WARNING: Number of rows and/or columns in files stress and stress.ref
  disagree.
Please check! Continuing using the smaller number of columns and/or rows.
---------------------------------------------------------------------------

==================================================================
SUMMARY:
==================================================================
The following tests failed, please check the output file manually:
andersen_nve andersen_nve_constrain_fixed andersen_nve_constrain_fixed_RPR andersen_nve_RPR andersen_nvt andersen_nvt_fixed andersen_nvt_RPR bulk_GaAs_ACFDT bulk_GaAs_ACFDT_RPR bulk_GaAs_G0W0_sym bulk_GaAs_G0W0_sym_RPR bulk_GaAs_scGW0_ALGO=D_sym bulk_GaAs_scGW0_ALGO=D_sym_RPR bulk_GaAs_scGW0_sym bulk_GaAs_scGW0_sym_RPR bulk_GaAs_scGW_ALGO=D_sym bulk_GaAs_scGW_ALGO=D_sym_RPR bulk_GaAs_scGW_sym bulk_GaAs_scGW_sym_RPR bulk_InP_SOC_DFT_ISYM=2 bulk_InP_SOC_DFT_ISYM=2_RPR bulk_InP_SOC_DFT_ISYM=3 bulk_InP_SOC_DFT_ISYM=3_RPR bulk_InP_SOC_G0W0_sym bulk_InP_SOC_G0W0_sym_RPR bulk_InP_SOC_PBE0_nosym bulk_InP_SOC_PBE0_sym bulk_InP_SOC_PBE0_sym_RPR bulk_SiO2_elastic_properties_ibrion6 bulk_SiO2_elastic_properties_ibrion6_RPR bulk_SiO2_elastic_properties_ibrion8 bulk_SiO2_elastic_properties_ibrion8_RPR bulk_SiO2_HSE bulk_SiO2_HSE_RPR bulk_SiO2_LOPTICS bulk_SiO2_LOPTICS_RPR bulk_SiO2_LPEAD bulk_SiO2_LPEAD_RPR bulk_SiO2_PBE0 bulk_SiO2_PBE0_RPR CrS CrS_RPR GaAs_LEPSILON GaAs_LEPSILON_LPEAD GaAs_LEPSILON_LPEAD_RPR GaAs_LEPSILON_RPR H2_bare_HF HEG_333_LW md_8_Cu_IALGO=38 md_8_Cu_IALGO=38_RPR md_8_Cu_IALGO=48 md_8_Cu_IALGO=48_RPR NiOLDAU=1 NiOLDAU=1_RPR NiOLDAU=2 NiOLDAU=2_RPR NiOsLDAU=2_x NiOsLDAU=2_x_RPR NiOsLDAU=2_y NiOsLDAU=2_y_RPR NiOsLDAU=2_z NiOsLDAU=2_z_RPR SiC8_GW0R SiC_ACFDTR_T SiC_HSE06_ALGO=A SiC_HSE06_ALGO=A_RPR SiC_HSE06_ALGO=D SiC_HSE06_ALGO=D_RPR SiC_phon SiC_phon_RPR Tl_x Tl_x_RPR Tl_y Tl_y_RPR Tl_z Tl_z_RPR
make[1]: *** [makefile:21: test] Error 1
make[1]: Leaving directory '/home/ps/SOFTWARE/ALL_VASP_AOCC/VASP_AOCC_AOCL/vasp.6.4.2/testsuite'
make: *** [makefile:36: test] Error 2

问题3:自己算了个结构优化的例子,也和帖子一样,需要晶格常数改到小数点3位才能正常计算,但是完成后也出问题,从最后一步算完后.out文件显示这个:
  15 F= -.10715863E+04 E0= -.10715863E+04  d E =-.111778E-01  mag=    64.0000
curvature:  -0.81 expect dE=-0.666E-02 dE for cont linesearch -0.118E-04
trial: gam= 0.40823 g(F)=  0.818E-02 g(S)=  0.000E+00 ort = 0.702E-03 (trialstep = 0.115E+01)
search vector abs. value=  0.144E-01
reached required accuracy - stopping structural energy minimisation
writing wavefunctions

本来正常到这里就应该结束了,但是输出了一堆下面这个(四行一个循环输出了一堆,我只是取了两个),这是什么原因
Warning: ieee_invalid is signaling
Warning: ieee_underflow is signaling
Warning: ieee_inexact is signaling
FORTRAN STOP
Warning: ieee_invalid is signaling
Warning: ieee_underflow is signaling
Warning: ieee_inexact is signaling
FORTRAN STOP


最后说一下,9654性价比固然高,但是vasp用起来各种问题为啥有些人还推荐啊,检查了好几遍,已经仔细地跟着帖子编译了还是有问题,是哪里还有隐藏的编译设置没讲吗。。。还没买机子的,贵就贵点,老老实实用intel吧



859

帖子

16

威望

5084

eV
积分
6263

Level 6 (一方通行)

小屁孩

2#
发表于 Post on 2024-3-7 22:53:09 | 只看该作者 Only view this author
提醒一下,现在配一台跑VASP能打败双路9654的机器,只需要花1万出头。建议把双路9654用在该用的地方,例如CP2K、Gaussian、ORCA。
- 向着虚无前进 -

207

帖子

1

威望

1433

eV
积分
1660

Level 5 (御坂)

3#
发表于 Post on 2024-3-8 10:25:47 | 只看该作者 Only view this author
问题1:我在哪个帖子中看到过,需要你的gcc高于某个版本才可以用openmpi 5.0.0
问题2:不会
问题3:不会,但是我也遇到了一样的问题。因为能正常计算所以就没管

356

帖子

0

威望

2253

eV
积分
2609

Level 5 (御坂)

4#
发表于 Post on 2024-3-8 10:48:17 | 只看该作者 Only view this author
Entropy.S.I 发表于 2024-3-7 22:53
提醒一下,现在配一台跑VASP能打败双路9654的机器,只需要花1万出头。建议把双路9654用在该用的地方,例如C ...

vasp基本功能编译成功,比较容易。但不同功能,需要不同的编译脚本。硬件支持不好,很麻烦的。这个可难了。

32

帖子

0

威望

515

eV
积分
547

Level 4 (黑子)

5#
 楼主 Author| 发表于 Post on 2024-3-8 13:45:58 | 只看该作者 Only view this author
本帖最后由 lue611 于 2024-3-8 14:31 编辑
Weldingspock 发表于 2024-3-8 10:25
问题1:我在哪个帖子中看到过,需要你的gcc高于某个版本才可以用openmpi 5.0.0
问题2:不会
问题3:不会 ...

我本来想将就算得了,但是发现结构优化速度挺好,跑md时速度奇慢。。。
顺便说下,我测了下gcc13.2还是没法装5.0.0,后面我想试用oneapi装还因为gcc的原因报错了。。。淦

94

帖子

0

威望

1051

eV
积分
1145

Level 4 (黑子)

6#
发表于 Post on 2024-3-8 14:28:24 | 只看该作者 Only view this author
我有一台7950x,跟9654算是同一代产品。我用过CP2K的toolchain带来的依赖编译VASP,效果还不错,跟intel服务器在计算精度上并没有差别。速度上也很合理。

209

帖子

0

威望

943

eV
积分
1152

Level 4 (黑子)

7#
发表于 Post on 2024-3-11 20:06:34 | 只看该作者 Only view this author
Entropy.S.I 发表于 2024-3-7 22:53
提醒一下,现在配一台跑VASP能打败双路9654的机器,只需要花1万出头。建议把双路9654用在该用的地方,例如C ...

1w多的是什么配置啊,有没有详说的帖子

9

帖子

0

威望

932

eV
积分
941

Level 4 (黑子)

8#
发表于 Post on 2024-4-13 18:15:09 | 只看该作者 Only view this author
本帖最后由 rogerjun 于 2024-4-14 22:36 编辑

问题1:clang -v检查一下clang链接的gcc版本,我测试了一下,clang链接到gcc-12时可正常安装openmpi 5.0.x
问题3:解决方案:https://www.vasp.at/forum/viewtopic.php?t=19390
更新:问题3:选择oflag -O3优化或者编译ompi-omp版本这两种方式下,vasp运行正常。测试了一下,ompi-omp版本比纯mpi版本略快一丢丢

评分 Rate

参与人数
Participants 2
eV +10 收起 理由
Reason
AimedarXie + 5 谢谢
lue611 + 5 谢谢

查看全部评分 View all ratings

32

帖子

0

威望

391

eV
积分
423

Level 3 能力者

9#
发表于 Post on 2024-5-11 12:24:21 | 只看该作者 Only view this author
Weldingspock 发表于 2024-3-8 10:25
问题1:我在哪个帖子中看到过,需要你的gcc高于某个版本才可以用openmpi 5.0.0
问题2:不会
问题3:不会 ...

您好,关于楼主问题1的第三个报错您有头绪吗?
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
我用openmpi5.0.3填了一堆软件环境,make时候最后卡着了,对于这个报错我完全没有头绪,网上也搜不到咋个办法,请问您对这个报错大概和哪块相关有头绪吗?或者知道如何解决这个报错完成make

32

帖子

0

威望

391

eV
积分
423

Level 3 能力者

10#
发表于 Post on 2024-5-11 12:27:44 | 只看该作者 Only view this author
rogerjun 发表于 2024-4-13 18:15
问题1:clang -v检查一下clang链接的gcc版本,我测试了一下,clang链接到gcc-12时可正常安装openmpi 5.0.x
...

请问,楼主make时候的第三个报错您有头绪吗?
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
我卡在这好久,搜不到这个报错属于哪个方面,不知道该从哪着手

9

帖子

0

威望

932

eV
积分
941

Level 4 (黑子)

11#
发表于 Post on 2024-5-12 22:36:09 | 只看该作者 Only view this author
本帖最后由 rogerjun 于 2024-5-12 23:19 编辑
ginlpein 发表于 2024-5-11 12:27
请问,楼主make时候的第三个报错您有头绪吗?
clang-16: error: linker command failed with exit code  ...

我这边的情况是,安装openmpi5.0.2时,错误信息指明clang链接到的gcc版本较低,查看clang -v发现链接的gcc版本为11,在安装了gcc-toolset-12后,clang版本链接到了gcc12,报错就解决了
更新:我看了层主的一些回复的帖子,你需要先clang -v看一下你的clang链接到何版本的gcc了,我这边的情况是gcc11不行,12可。请注意安装了gcc-toolset之后你需要load这个环境,使用scl enable gcc-toolset-xx bash或者写个module再load都行,主要是需要改变clang -v链接的gcc版本。供参考

32

帖子

0

威望

391

eV
积分
423

Level 3 能力者

12#
发表于 Post on 2024-5-13 15:05:52 | 只看该作者 Only view this author
rogerjun 发表于 2024-5-12 22:36
我这边的情况是,安装openmpi5.0.2时,错误信息指明clang链接到的gcc版本较低,查看clang -v发现链接的gc ...

您好,关于gcc版本切换问题可以请您不吝赐教吗?
我之前也有注意到gcc版本问题,可惜yum库里只有gcc11和gcc-Toolset-13。
gcc11版make失败以后,我参考资料使用scl enable gcc-Toolset-13 bash来切换gcc版本。
但使用scl enable gcc-Toolset-13 bash替换后,我发现gcc --version显示使用版本确实替换到13了。但重新安装aocc后,clang -v关联的依旧是已安装gcc路径依旧指向11的版本路径,请问clang关联的gcc版本您是如何修改的?
为了尝试解决这个我甚至考虑去gnu官网下载gcc13版来源码编译安装,可惜源码编译也出毛病了。

9

帖子

0

威望

932

eV
积分
941

Level 4 (黑子)

13#
发表于 Post on 2024-5-13 16:52:04 | 只看该作者 Only view this author
本帖最后由 rogerjun 于 2024-5-13 17:00 编辑
ginlpein 发表于 2024-5-13 15:05
您好,关于gcc版本切换问题可以请您不吝赐教吗?
我之前也有注意到gcc版本问题,可惜yum库里只有gcc11和 ...

是的,rockylinux 9.3在gcc-13加载后clang依然会依赖11的gcc(这一问题我这边也复现了,很诡异),但是如果安装了gcc-toolset-12后clang却会自动指向gcc-12。如果你那边不行,可以尝试以下命令:alias clang='clang --gcc-install-dir=/opt/rh/gcc-toolset-13/root/usr/lib/gcc/x86_64-redhat-linux/13' ,保险起见,flang clang++ clang-16等也做相似操作,应该是可以将clang链接转到想要的gcc版本上的。供参考
另外,rocklinux 9.3是可以安装gcc-toolset-12的

32

帖子

0

威望

391

eV
积分
423

Level 3 能力者

14#
发表于 Post on 2024-5-18 00:29:27 | 只看该作者 Only view this author
rogerjun 发表于 2024-5-13 16:52
是的,rockylinux 9.3在gcc-13加载后clang依然会依赖11的gcc(这一问题我这边也复现了,很诡异),但是如 ...

感谢您的耐心解答,切gcc-toolset-12确实就解决问题了。Rocky9.3的gcc版本切换真是迷之错误。
后续想问您一下,您后续基于aocc,aocl + openmpi编译VASP是否出现关于以下gfortran相关的问题?
gfortran: error: unrecognized command-line option ‘-fno-fortran-main’
gfortran: error: unrecognized command-line option ‘-Mbackslash’; did you mean ‘-fbackslash’?
make[2]: *** [makefile:167: c2f_interface.o] Error 1
make[2]: Leaving directory '/opt/vasp.6.4.2/build/std'
cp: cannot stat 'vasp': No such file or directory
make[1]: *** [makefile:129: all] Error 1
make[1]: Leaving directory '/opt/vasp.6.4.2/build/std'
make: *** [makefile:17: std] Error 2

我搜索相关信息,本论坛和VASP论坛里有提到类似错误可能是环境变量问题导致mpif90用的不是aocc指向的mpif90。我的环境变量配置完成后,“which mpif90"和”mpif90 -show“的输出都指向了openmpi的安装位置,但是“mpif90 -v”指向了gfortran的安装位置,不知道是不是配置问题?感觉按照各类教程mpif90的环境变量设置应该是生效的。
以下是我各命令输出情况:
  1. $ which mpif90
  2. /opt/openmpi-5.0.3/bin/mpif90

  3. $ mpif90 -show
  4. gfortran -I/opt/openmpi-5.0.3/include -I/opt/openmpi-5.0.3/lib -L/opt/openmpi-5.0.3/lib -Wl,-rpath -Wl,/opt/openmpi-5.0.3/lib -Wl,--enable-new-dtags -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi

  5. $ mpif90 -v
  6. Using built-in specs.
  7. COLLECT_GCC=/opt/rh/gcc-toolset-12/root/usr/bin/gfortran
  8. COLLECT_LTO_WRAPPER=/opt/rh/gcc-toolset-12/root/usr/libexec/gcc/x86_64-redhat-linux/12/lto-wrapper
  9. OFFLOAD_TARGET_NAMES=nvptx-none
  10. OFFLOAD_TARGET_DEFAULT=1
  11. Target: x86_64-redhat-linux
  12. Configured with: ../configure --enable-bootstrap --enable-languages=c,c++,fortran,lto --prefix=/opt/rh/gcc-toolset-12/root/usr --mandir=/opt/rh/gcc-toolset-12/root/usr/share/man --infodir=/opt/rh/gcc-toolset-12/root/usr/share/info --with-bugurl=https://bugs.rockylinux.org/ --enable-shared --enable-threads=posix --enable-checking=release --enable-multilib --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-gcc-major-version-only --enable-libstdcxx-backtrace --with-linker-hash-style=gnu --enable-plugin --enable-initfini-array --with-isl=/builddir/build/BUILD/gcc-12.2.1-20221121/obj-x86_64-redhat-linux/isl-install --enable-offload-targets=nvptx-none --without-cuda-driver --enable-offload-defaulted --enable-gnu-indirect-function --enable-cet --with-tune=generic --with-arch_64=x86-64-v2 --with-arch_32=x86-64 --build=x86_64-redhat-linux --with-build-config=bootstrap-lto --enable-link-serialization=1
  13. Thread model: posix
  14. Supported LTO compression algorithms: zlib zstd
  15. gcc version 12.2.1 20221121 (Red Hat 12.2.1-7) (GCC)
复制代码

9

帖子

0

威望

932

eV
积分
941

Level 4 (黑子)

15#
发表于 Post on 2024-5-18 14:54:29 | 只看该作者 Only view this author
ginlpein 发表于 2024-5-18 00:29
感谢您的耐心解答,切gcc-toolset-12确实就解决问题了。Rocky9.3的gcc版本切换真是迷之错误。
后续想问 ...

我后续就都是正常安装了。感觉你这个环境变量设置有些问题,就感觉编译出来的openmpi不是依赖clang、clang++ flang编译的,以下是我的“mpif90 -show”信息:
$ mpif90 -show
flang -I/opt/OpenMPI/5.0.3/aocc-4.2.0_gcc-toolset-12/include -I/opt/OpenMPI/5.0.3/aocc-4.2.0_gcc-toolset-12/lib -L/opt/OpenMPI/5.0.3/aocc-4.2.0_gcc-toolset-12/lib -Wl,-rpath -Wl,/opt/OpenMPI/5.0.3/aocc-4.2.0_gcc-toolset-12/lib -Wl,--enable-new-dtags -lmpi_usempif08 -lmpi_usempi_ignore_tkr -lmpi_mpifh -lmpi

本版积分规则 Credits rule

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

GMT+8, 2025-8-15 17:12 , Processed in 0.653890 second(s), 21 queries , Gzip On.

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