计算化学公社

 找回密码 Forget password
 注册 Register
楼主 Author: UW_0728.
打印 Print 上一主题 Last thread 下一主题 Next thread

[CP2K] 利用cmake编译和安装CP2K

[复制链接 Copy URL]

1388

帖子

6

威望

3064

eV
积分
4572

Level 6 (一方通行)

傻傻的木瓜

61#
发表于 Post on yesterday 09:53 | 只看该作者 Only view this author
UW_0728. 发表于 2026-4-18 21:20
https://github.com/cp2k/cp2k/pull/5072 把这两个需要包管理器安装的硬依赖去掉了,eigen3不再需要,boo ...

https://github.com/cp2k/cp2k/pull/5427又加回来eigen3了。

现在我觉得官方安装文档非常有必要明确给出几点操作方法:(1)在拥有Intel OneAPI套件时只激活oneMKL而不启用Intel编译器或Intel MPI,用MKL作为数学库;(2)确认软硬件对OpenMPI的UCX功能的支持,并在安装时启用之;(3)确认软硬件对AVX-512指令集的支持,并在安装时启用之。
√546=23.36664289109

220

帖子

1

威望

794

eV
积分
1034

Level 4 (黑子)

62#
 楼主 Author| 发表于 Post on yesterday 11:17 | 只看该作者 Only view this author
本帖最后由 UW_0728. 于 2026-6-25 11:34 编辑
Uus/pMeC6H4-/キ 发表于 2026-6-25 09:53
https://github.com/cp2k/cp2k/pull/5427又加回来eigen3了。

现在我觉得官方安装文档非常有必要明确给 ...

1. 特别提及Intel编译器好像不是太好,之前做过但被开发者建议改成指向编译器支持页面,并且实际上除了GCC外其他大多数编译器都不能成功编译CP2K;
2. 系统安装的OpenMPI(dnf)是自带ucx的,自己编译OpenMPI也是会根据系统有没有ucx自动确定是否启用ucx功能的支持;我没看到加与不加对CP2K的运行有什么影响,而且ORCA目前还不兼容OpenMPI的ucx,这对一个电脑同时装这两个软件的情况不好说
3. 编译用的是“-march=native;-mtune=native”,自动选用本机CPU支持的最高指令集

装Eigen3的目的一个是给SIRIUS提供VCSQNM(SIRIUS的变胞优化)支持,另一方面也方便移除FindLibint2.cmake而直接用libint2自己的CMake配置文件(目前该配置文件无条件寻找Eigen3,否则报错),顺带也可以省去toolchain脚本的一个挪Boost bundle的自定义操作(否则安装失败,因为REQUIRE_CXX_API=OFF时不会移动这个预置包但会尝试安装它导致报错;不过这几个问题都提交给libint仓库了)
Failed to load the content due to unknown reasons.

3

帖子

0

威望

129

eV
积分
132

Level 2 能力者

63#
发表于 Post on yesterday 11:29 | 只看该作者 Only view this author
问一下各位大佬,我在cmake后进行make install,出现了下段错误,求帮助:
[ 56%] Building Fortran object src/CMakeFiles/cp2k.dir/aobasis/ai_fermi_contact.F.o
[ 56%] Building Fortran object src/CMakeFiles/cp2k.dir/qs_fb_hash_table_types.F.o
[ 56%] Building Fortran object src/CMakeFiles/cp2k.dir/aobasis/ai_eri_debug.F.o
[ 56%] Building Fortran object src/CMakeFiles/cp2k.dir/mol_force.F.o
[ 56%] Building Fortran object src/CMakeFiles/cp2k.dir/optimize_basis_types.F.o
[ 56%] Building Fortran object src/CMakeFiles/cp2k.dir/mpiwrap/message_passing.F.o
[ 56%] Building Fortran object src/CMakeFiles/cp2k.dir/common/timings_types.F.o
[ 56%] Building Fortran object src/CMakeFiles/cp2k.dir/aobasis/ao_util.F.o
/home/ruan/cp2k-2026.1/build/src/mpiwrap/message_passing.F:67:8:

   67 |    USE mpi_f08
      |        1
Warning: USE statement at (1) has no ONLY qualifier [-Wuse-without-only]
f951: Fatal Error: Reading module ‘/home/ruan/intel/oneapi/mpi/2021.6.0/include/mpi_f08.mod’ at line 1 column 2: Unexpected EOF
compilation terminated.
make[2]: *** [src/CMakeFiles/cp2k.dir/build.make:16714: src/CMakeFiles/cp2k.dir/mpiwrap/message_passing.F.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:283: src/CMakeFiles/cp2k.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

220

帖子

1

威望

794

eV
积分
1034

Level 4 (黑子)

64#
 楼主 Author| 发表于 Post on yesterday 11:31 | 只看该作者 Only view this author
1415040402 发表于 2026-6-25 11:29
问一下各位大佬,我在cmake后进行make install,出现了下段错误,求帮助:
[ 56%] Building Fortran objec ...

用的什么MPI,还有版本
Failed to load the content due to unknown reasons.

3

帖子

0

威望

129

eV
积分
132

Level 2 能力者

65#
发表于 Post on yesterday 11:34 | 只看该作者 Only view this author
本帖最后由 1415040402 于 2026-6-25 11:37 编辑
UW_0728. 发表于 2026-6-25 11:31
用的什么MPI,还有版本

(Open MPI) 5.0.9这是它来自的目录/home/ruan/cp2k-2026.1/tools/toolchain/install/openmpi-5.0.9/bin/mpirun

220

帖子

1

威望

794

eV
积分
1034

Level 4 (黑子)

66#
 楼主 Author| 发表于 Post on yesterday 11:35 | 只看该作者 Only view this author

那这个Reading module ‘/home/ruan/intel/oneapi/mpi/2021.6.0/include/mpi_f08.mod’是怎么回事?先检查你的系统环境是否干净
Failed to load the content due to unknown reasons.

1388

帖子

6

威望

3064

eV
积分
4572

Level 6 (一方通行)

傻傻的木瓜

67#
发表于 Post on yesterday 12:31 | 只看该作者 Only view this author
UW_0728. 发表于 2026-6-25 11:17
1. 特别提及Intel编译器好像不是太好,之前做过但被开发者建议改成指向编译器支持页面,并且实际上除了GC ...

1. 那就不提编译器/MPI的问题而强调启用MKL的方法,记得之前论坛里提到过source哪个oneAPI的脚本可以只动用MKL的。我没找到哪个文档有指向编译器支持页面的链接,包括Libraries里面提到MKL的地方也没有MKL的链接……

3. 在搭载AVX-512的CPU逐渐普及的大背景下,我认为整个工具链(特别是GNU编译器、OpenBLAS和ELPA数学库等核心依赖)以及CP2K本体对AVX512的兼容问题也应该像GPU加速的支持那样,正式摆上台面官方讨论,除了提供安装说明文档以外最好还设计regtest监测performance。论坛里面相关交流已经遍地都是,且不说那些专门拿支持avx512作为宣传重点的第三方打包源供应商发的东西,单是个人编译安装在这方面的讨论也有不少(像经典的 The compiler target flags... cannot exploit all extensions of this CPU model 和 Setting real_kernel for ELPA failed 等问题也高度相关),比如
http://bbs.keinsci.com/thread-34676-1-1.html
http://bbs.keinsci.com/thread-45935-1-1.html
http://bbs.keinsci.com/thread-46367-1-1.html

-march=native;-mtune=native不能适用于编译与运行在不同机子上的情形,尤其是登录节点和计算节点硬件配置不同的超算服务器。(PS: 有的作业排队管理系统除了batch模式从登录节点往计算节点批量提交作业,还可以有interactive模式直接登录计算节点通过CLI互动操作,理论上后者可以用-march=native;-mtune=native编译匹配的程序,但是我都不知道有多少用户翻过手册了解这点……)

Libraries页面的LIBINT一节还没提到新增eigen3依赖这点,或许可以更新一下了。
√546=23.36664289109

220

帖子

1

威望

794

eV
积分
1034

Level 4 (黑子)

68#
 楼主 Author| 发表于 Post on yesterday 12:42 | 只看该作者 Only view this author
Uus/pMeC6H4-/キ 发表于 2026-6-25 12:31
1. 那就不提编译器/MPI的问题而强调启用MKL的方法,记得之前论坛里提到过source哪个oneAPI的脚本可以只动 ...

1. source /opt/intel/oneapi/mkl/latest/env/vars.sh
3. 感觉可以开一个RFC讨论下这个问题
依赖问题会随着修改libraries.md一并更新,但我不倾向于专门加它,毕竟不是CP2K的直接依赖

评分 Rate

参与人数
Participants 1
eV +1 收起 理由
Reason
Uus/pMeC6H4-/キ + 1

查看全部评分 View all ratings

Failed to load the content due to unknown reasons.

本版积分规则 Credits rule

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

GMT+8, 2026-6-26 07:45 , Processed in 0.282364 second(s), 22 queries , Gzip On.

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