计算化学公社

标题: intel mpi安装最新版cp2k 2024.3的方法 [打印本页]

作者
Author:
NeedleCandy    时间: 2024-12-16 19:38
标题: intel mpi安装最新版cp2k 2024.3的方法
本帖最后由 NeedleCandy 于 2024-12-16 19:41 编辑

之前用openmp编译了一版,mpirun运行的时候老是中断。
因为最新版intel mpi改用ifx的问题原以为现在的cp2k只能用openmp编译,但搜索发现了cp2k支持ifx的最新修订版https://github.com/cp2k/cp2k/tree/master,直接下载,toolchain的设置为./install_cp2k_toolchain.sh     --with-ifx     --with-intelmpi     --with-intel=system     --with-cmake=system     --with-openblas=no     --with-mkl=system --with-elpa=no    --with-sirius=no  --with-libint=install     --with-fftw=install     --with-libxc=install     --with-plumed=install     -j 64,顺利安装各种库。
编译cp2k时下载dbcsr源码包,解压到cp2k下的exts目录,重命名为dbscr。运行稳定快速。
作者
Author:
Uus/pMeC6H4-/キ    时间: 2024-12-16 19:54
有点意思,期待官方的编译器支持列表更新。可能因为相关commit处于2024.2和2024.3版发布中间,需要等到下一个大版本出来才会更改。

不知道新版Intel编译器编译的CP2K在长时间AIMD中还有没有类似这帖所说的内存消耗过多的问题,期待勇士测试。
作者
Author:
NeedleCandy    时间: 2024-12-16 19:57
本帖最后由 NeedleCandy 于 2024-12-16 20:01 编辑
Uus/pMeC6H4-/キ 发表于 2024-12-16 19:54
有点意思,期待官方的编译器支持列表更新。可能因为相关commit处于2024.2和2024.3版发布中间,需要等到下一 ...
之前用openmp编译的cp2k,七八十个原子的MD如果用intel mpi运行内存能到200多G;现在intelmpi重新编译就正常占用,二十几G
作者
Author:
sobereva    时间: 2024-12-17 05:34
注意分清楚OpenMP和OpenMPI,有天壤之别
作者
Author:
gog    时间: 2024-12-19 17:20
sobereva 发表于 2024-12-17 05:34
注意分清楚OpenMP和OpenMPI,有天壤之别

这个方案,在amd,zen4机器上,行不通。测试算例,会报错的。能通过的功能,速度提升也不明显,计算结果的差别,也很大。确实需要高人指点
作者
Author:
Santz    时间: 2024-12-19 19:29
gog 发表于 2024-12-19 17:20
这个方案,在amd,zen4机器上,行不通。测试算例,会报错的。能通过的功能,速度提升也不明显,计算结果 ...

amd用spack
作者
Author:
gog    时间: 2024-12-19 20:48
Santz 发表于 2024-12-19 19:29
amd用spack

网络不好。不像win下,win里,可以整个代理搞
作者
Author:
Santz    时间: 2024-12-19 21:41
gog 发表于 2024-12-19 20:48
网络不好。不像win下,win里,可以整个代理搞

还有个docker镜像可以试试,本地转换为SIF上传用。
作者
Author:
Uus/pMeC6H4-/キ    时间: 2024-12-19 23:56
本帖最后由 Uus/pMeC6H4-/キ 于 2024-12-20 00:29 编辑
Uus/pMeC6H4-/キ 发表于 2024-12-16 19:54
有点意思,期待官方的编译器支持列表更新。可能因为相关commit处于2024.2和2024.3版发布中间,需要等到下一 ...

如果我没看错的话,感觉https://github.com/cp2k/cp2k/com ... 9f079581eb783509994这个commit好像有些隐藏的对Intel编译器和MPI的假定,容易在启用--with-intel=system和--with-intelmpi=system时踩坑。尝试列举stage0/install_intel.sh和stage1/install_intelmpi.sh设定的几个环境变量:

版本
更改前
更改后
选项
--with-intel-classic=yes
--with-intel-classic=no
with-ifx=yes
with-ifx=no
CC
icc
icx
icx
icx
CXX
icpc
icpx
icpx
icpx
FC
ifort
ifort
ifx
ifort
MPICC
mpiicc
mpiicc
mpiicx
mpiicc
MPICXX
mpiicpc
mpiicpc
mpiicpx
mpiicpc
MPIFC
mpiifort
mpiifort
mpiifx
mpiifort
I_MPI_CC
icc
icx
icx
icx
I_MPI_CXX
icpc
icpx
icpx
icpx
I_MPI_FC
ifort
ifort
ifx
ifort

(论坛上表格排版还是挺不容易的)

可见修改前--with-intel-classic只能切换C/C++的新旧编译器(x结尾为新,无x结尾为旧)而固定Fortran的编译器为的ifort,修改后--with-ifx只能切换Fortran的新旧编译器而固定C/C++的编译器为的icx/icpx。CP2K本身是用Fortran编译器的,但是工具链一大堆依赖库肯定有用C/C++编译器的,上面这样没有明说的更改可能在不特定的计算机上给本就充满挑战的CP2K安装添乱。最好还是有谁确认之后在github发个issue提醒一下,考虑到新旧编译器可能在一个Intel编译环境里共存,最理想的情况应该是能在install_cp2k_toolchain.sh里分别指定C/C++和Fortran的编译器版本。

上次尝试在集群编译CP2K时就因为部分依赖库疑似不兼容新C/C++编译器而make失败,切换成旧C/C++编译器才make成功(两种情况下make前一步的工具链安装倒是均无报错),当然也不排除我这的集群里Intel OneAPI模块安装有瑕疵。虽然那帖说的是2024.1版,但是实测带有--with-ifx=yes的2024.3+开发版会同样故障。


作者
Author:
Arvin_nju    时间: 2025-3-11 11:48
请问一下,我按上述命令编译完成后,重新下载了dbcsr源码放在exts下面,替换了原来的dbscr,但是make psmp的时候还是显示** No FYPP submodule available, please read README.md on how to properly download DBCSR.  Stop. cp2k-2025.1/exts/build_dbcsr//Makefile:198: *** No FYPP submodule available, please read README.md on how to properly download DBCSR.  Stop.就报错了,请问一下这个该如何解决呢?谢谢啊


作者
Author:
Uus/pMeC6H4-/キ    时间: 2025-3-11 14:29
Arvin_nju 发表于 2025-3-11 11:48
请问一下,我按上述命令编译完成后,重新下载了dbcsr源码放在exts下面,替换了原来的dbscr,但是make psmp ...

请按照http://sobereva.com/586的操作去Release CP2K 2025.1下载目前最新的稳定发行版并安装,肯定没这个问题。(那篇博文用的gcc,要换成intel编译器的话自行折腾去。)

这帖现在模仿意义没有去年12月那会大了,楼主写这帖的时候其所需功能还没更新到发行版里,所以特意用了master分支的研发版而不是2024.3的稳定发行版来安装。我记得就exts目录下dbcsr的内容而言,从master分支下载到的(比如点了那个绿色Code)与从release下载到的有点区别。

(注:从Commit 50e4db8来看,未来对dbcsr库的处理又和现在不同了……)
作者
Author:
hebrewsnabla    时间: 2025-3-11 16:54
Uus/pMeC6H4-/キ 发表于 2024-12-19 23:56
如果我没看错的话,感觉https://github.com/cp2k/cp2k/com ... 9f079581eb783509994这个commit好像有些隐 ...

从这个issue(https://github.com/cp2k/cp2k/issues/3866)来看,虽然现在存在with-ifx这个选项,但是并没有完全支持ifx。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3